「15パズル」の作成④「クリアの判定」

学習の目的

  • ・クリアの判定

ここでは、盤面モデルがクリア状態かを判定するプログラムを作成しましょう。

クリアの判定

クリア状態のリストを作成し、現在の盤面モデルと比較しましょう。

クリア判定を行う関数を作成します。

盤面モデルがクリア状態なら「true」、そうでなければ「false」を返すようにします。

以下のプログラムを新しいセルに入力して実行してください。

# ゴール状態か確認
def is_goal():
    last_tiles = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,0]]
    return tiles == last_tiles

ここでは、変数last_tilesにクリア状態の盤面モデルを代入し、現在のtilesと比較します。

もし一致していたら「true」を、一致していなかったら「false」を返却します。

以下のプログラムで実行結果を確認してみましょう。

クリア判定が正しく動くか確認します。

以下のプログラムを新しいセルに入力して実行してください。

tiles = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,0]] #クリアの状態
if is_goal():
    print("クリアです。")
else:
    print("クリアではありません。")

上記のプログラムで、「クリアです。」と表示されるか確認しましょう。

うまくいったなら、1行目のtilesの値をどこか変更(1ヵ所で良い)して、「クリアではありません。」と表示するか確認しましょう。

Well done!

次のステップに進みましょう!

次のステップに進む

← 前のステップにもどる