Plantage puzzle Winamax en Clojure

Bonjour,

Juste pour reporter que ce puzzle avec le code par défaut (en Clojure) plante en lancant le second test (26 cartes) : https://www.codingame.com/ide/puzzle/winamax-battle

Voici la stacktrace :

Errors
Exception in thread "main" clojure.lang.LispReader$ReaderException: java.lang.NumberFormatException: Invalid number: 5C
at clojure.lang.LispReader.read on line 292
at clojure.lang.LispReader.read on line 196
at clojure.lang.LispReader.read on line 190
at clojure.core$read.invokeStatic on line 3664
at clojure.core$read.invokeStatic on line 3639
at clojure.core$read.invokeStatic on line 3639
at clojure.core$read.invokeStatic on line 3639
at clojure.core$read.invoke on line 3639
at Solution$_main.invokeStatic on line 12
at Solution$_main.doInvoke on line 7
at clojure.lang.RestFn.invoke on line 397
at clojure.lang.AFn.applyToHelper on line 152
at clojure.lang.RestFn.applyTo on line 132
at Solution.main on line 0
Standard Output Stream:
Exception in thread "main" clojure.lang.LispReader$ReaderException: java.lang.NumberFormatException: Invalid number: 5C
	at clojure.lang.LispReader.read(LispReader.java:292)
	at clojure.lang.LispReader.read(LispReader.java:196)
	at clojure.lang.LispReader.read(LispReader.java:190)
	at clojure.core$read.invokeStatic(core.clj:3664)
	at clojure.core$read.invokeStatic(core.clj:3639)
	at clojure.core$read.invokeStatic(core.clj:3639)
	at clojure.core$read.invokeStatic(core.clj:3639)
	at clojure.core$read.invoke(core.clj:3639)
	at Solution$_main.invokeStatic(Solution.clj:12)
	at Solution$_main.doInvoke(Solution.clj:7)
	at clojure.lang.RestFn.invoke(RestFn.java:397)
	at clojure.lang.AFn.applyToHelper(AFn.java:152)
	at clojure.lang.RestFn.applyTo(RestFn.java:132)
	at Solution.main(Unknown Source)
Caused by: java.lang.NumberFormatException: Invalid number: 5C
	at clojure.lang.LispReader.readNumber(LispReader.java:330)
	at clojure.lang.LispReader.read(LispReader.java:256)
	... 13 more

J’ai réussi à reproduire le bug sur deux comptes, donc il devrait pas y avoir de problème à le reproduire avec le code par défaut.

1 Like

Une solution est de remplacer les
(let [n (read)]
par
(let [n (read-string (read-line)]

et les
(let [cardp1 (read)]
par
(let [cardp1 (read-line)]

this has been fixed. Thank you for reporting the issue.