https://www.codingame.com/multiplayer/bot-programming/dots-and-boxes
Send your feedback or ask for help here!
Created by @EricSMSO,validated by @Zenoscave,@trictrac and @field3.
If you have any issues, feel free to ping them.
https://www.codingame.com/multiplayer/bot-programming/dots-and-boxes
Send your feedback or ask for help here!
Created by @EricSMSO,validated by @Zenoscave,@trictrac and @field3.
If you have any issues, feel free to ping them.
@EricSMSO, it seems like the referee is returning score 1.0 for the winner and -1.0 for the loser. It would be better if it instead returned the real score (e.g. 25.0 vs 24.0) and used -1.0 only in case of timeout.
I thought setScore() was a true/false method. Do you mean It would be used in the leaderboard to make a difference between winning with a great score difference or winning with close scores?
Unless we speak about a different method, Player.setScore takes an int parameter, not a boolean. The integer parameter is used to rank the players, which is what will be used by the leaderboard. So using the real score (and -1.0 for timeouts) will not change the leaderboard. However, it is better practice: it makes it easier for community tools that parse replays to detect timeouts, and to learn information about the final score, which is otherwise hidden.
Ah ok, I will see if I can change this this weekend. I think I copied this behaviour from the Tic Tac Toe referee. Where did you get the information about the setScore() method from?
Done. Hope I havenāt broken anything.
What are some strategies you used? I tried MCTS over MinMax due to the branching factor, but 100 ms is too little time for sufficient exploration on 7x7 (2x2 was no problem). Does the higher efficiency of minimax exploration compensate for the small achievable depth or do you have to rely on a very good heuristic function?
Edit: Minimax does work you just have to find out which moves are pretty much identical. No idea how @Crazy_Remi got his bot so good though
My program is a simple alpha-beta.
Here is a collection of links I found useful:
I did not implement the Nim theory at all, but I will when someone beats my current entry.
Iām trying to complete āSolve puzzle of the weekā quest from the homepage. I did pass the first league and now Iām on 54th place in the second league. When will codingame consider this puzzle completed by me, so that I can get my sweet-sweet XP? Cheers!
Same, I would appreciate if i get my XP too
Noice, dots and boxes nearly quadrapled this week.
Any tips on how to translate the box and sides format to something more easy to use?
Great I am very happy with this! The problem is now I am beaten by so many people.
Is the way the validator provides the current board state to the program willfully unpleasant? The complete board state canāt even be derived from it, as far as I can see. Is it intended that you have to reverse the input to figure out what move your opponent made, so you can replay it in the internal representation of the board that you keep in memory? It would be much, much more convenient if you were just given the opponentās move itself, to be quite honestā¦
Hi colinemonds, sorry it doesnāt please you but it was not on purpose, or was it?
Technically you can do that with āEXPERTā mode. See Othello. At first it didnāt have last opponent move, then struct updated that without breaking current bots. Still, I wonder if this feature is worth the trouble.
Love seeing this math puzzles in codingame