私はリンクリストを使って、蛇とはしごのゲームをPythonで実装しています。ノードは次の四角にリンクし、最後の四角は最初の四角にリンクします。 (円形)。私もヘビとはしごを持っているので、各ノードにはdestination
というパラメータがあります。どこにもリンクされていなければNone
、それ以外の場合はaddress of the other node
が含まれています。ヘビとはしご、最後の四角に着陸するかどうか確認してください
私のゲームに関して特別なことは、私にfixed roll
があるということです。私の固定ロールが4
なら、私はalways move 4 nodes
になります。私が着陸しているノードがヘビやラダーに接続されているなら、そこに行くでしょう。
私は4番目の正方形、または私のロールがある正方形で始まります。
最後の広場に着陸するかどうかを確認する方法が必要です。
は16個の正方形、と私は第二広場で始まり2のロールを考えてみましょう。しかし、はしごがあるので、私は第11四角に移動します。今は2つのノードを移動するたびに。 2ターン後、私は黄色の広場に移動します。それから私が再び動くとき、私は最終的な正方形に移動し、正方形1に戻ってきます(勝つために最終的な正方形に上陸しなければなりません)。しかし、私は2つを回転させ続けると、決して最後の正方形に着くことはないことに気づき、これを検出する方法が必要です。
私はコードは必要ありませんが、最終的な正方形に着陸しないかどうかをどのように検出することができるかを示唆しています。ありがとうございます
あなたのゲームが巨大でない限り、あなたはそれをシミュレートすることができます。既に訪問した四角(4回の移動後に上陸したもののみ)のリストを保持する。あなたは最後の四角形を押すか、訪問したリストの四角形を押すことになります。その場合、ループが見つかったことがわかります。 –