Может быть, игроки смогут обмениваться хэшами своих стопок в начале игры.
Затем, когда игра завершится, игроки обмениваются фактическим составом, который были у их стопок в начале игры.Теперь клиент игрока может проверить, совпадает ли он с полученным ранее хэшем, а затем убедиться, что все сделанные ходы будут работать с этими колодами.
Единственная проблема заключается в том, как колоды сначала перетасовываются.Вы должны убедиться, что игрок не может просто начать свою колоду в любом порядке, который он выберет.
Возможно, игроки получат свой начальный порядок колоды, получая случайность из какого-то определенного источника ... но таким образом, чтобы другиеигрок не может определить порядок колоды другого игрока до конца игры, но все же может проверить, что игрок не играл на своих колодах.Не уверен, как вы могли бы сделать это.
Редактировать:
Еще одна идея.Возможно, вместо генерации случайных колод в начале игры, они могут генерироваться по ходу игры.
Каждый раз, когда игроку нужно взять новую карту из колоды, его противник посылает ему какую-нибудь случайную комбинацию.seed, который используется для выбора следующей карты.
Таким образом, у пользователя нет возможности узнать, в каком порядке карты будут следовать в своих колодах.
Я не уверенкак вы могли бы помешать другому игроку определить, какую карту он выберет для своего противника.Если семя было использовано для выбора карты из какого-то случайно упорядоченного списка карт, который должен был проверить противник, он мог проверить все возможные комбинации карт и выяснить, какая из них соответствует хешу, тем самымв состоянии диктовать, какую карту они хотели бы взять другим игроком, отправив им семя, из-за которого эта карта была выбрана.