Why? None of the commands are required to have a relation of their parameters with that of a previous issue. You can request a 5-min sudden-death game with a 'level' command without first doing 1-, 2-, 3- and 4-min games. So the order of TCs in level commands is not defined. Is that not suitable? If it is, why wouldn't it be suitable for 'ping'?Harald wrote:This kind of undefined behaviour is not suitable for an interface definition.
The whole idea of a protocol or a language is that it leaves almost everything of the higher-order structure undefined, so that by ordering the words you have infinite expressive power, rather than just a finite number of sentences that were defined.
It is not the task of an engine to catch errors of the GUI. It is the task of the GUI to not make any errors. What you propose is first redefining things that were perfectly allright and could not possibly be wrong as errors, and then putting the burden on engines to try to catch those errors. Much better would be if engines just worried about their own errors, and simply obeyed the commands the GUI sent them in the way the protocol prescribes.Just say in the specs: "The ping number N that the gui sends starts with 1
at the first ping and increments N by 1 with every other ping."
Then the engine can use an unsigned int to store the number N, initialize it with 0,
and detect errors easily.