私はチックタックのつま先のゲームに取り組んでおり、元に戻す方法を実装したいと考えています。私が感じることは、これを行うための最良の方法は、別の(複数の)スタックをセットアップして、ちょうど起こった '動き'のコピーを作ることです。その後、取り消しが呼び出された場合は、最後の移動をポップし、ゲームボードを再投入します。Java - 複数のスタックを使用して '元に戻す'メソッドを使用する
だから私は考えがありますが、実装方法を理解することはできません。
私が持っているもののいくつか:
設定するには:
public void set(Position p, int v, int n) throws IOException {
if (board[p.x][p.y][p.z]!= 0) throw new IOException("Position taken");
//Restrict 222 until all other's have been used
if (n != 26) {
if (p.x == 1 && p.y == 1 && p.z ==1) {
throw new IOException("[2,2,2] cannot be played until all other positions have been taken");
}
}
//Enforce x=1 for first 9, x=3 for next 9
if (n < 9) {
if (p.x != 0) throw new IOException("Please play on x=1 for the first 9 moves");
}
if (n >= 9 && n < 18) {
if (p.x != 2) throw new IOException("Please play on x=3 for the first 9 moves");
}
board[p.x][p.y][p.z] = v;
}
はその後ボード、表示方法を構築するためのボードの方法があり、そしてもちろん1行に3をチェックします。何かアドバイス
GOFのメンデントデザインパターンを検索 – pastjean