Missing: possibility to skip
Situation
At the end of last week, me and my partner found out that players should not only have the possibility to swap tiles or make a move, but also to skip a turn. There is no defined message to do so in our protocol.
Suggested Solution
Define a new message SKIP
, which skips the player's turn. This message does not have any arguments. The INFORMMOVE
of this move will then be INFORMMOVE|Alice|SKIP
.
Alternative Solution
Use the already existing SWAP
argument of MAKEMOVE
. If you do add a unit seperator after swap, but do not type any characters, you will then swap 0 tiles, and hence skip a turn. the INFORMMOVE
of this will then be INFORMMOVE|Alice|SWAP|0
.
Conclusion
I personally prefer the first option, because I think it is more elegant. I also think it might be easier to implement for some, since with the second option you do have to allow empty Strings as an argument, but no null-Strings, which some people might have combined into one check. However, I haven't done this, so for me both would be fine, therefore it's mainly a matter of elegance.