ゲームは、人々が利用できる娯楽の XNUMX つの形式です。 あらゆる種類のゲームが、オンライン、モバイル デバイス、デスクトップ コンピューターなどで利用できます。今は、これらの挑戦的なゲームを作成するときではありません。
Python を使用して、CLI の三目並べゲームを作成します。 Python を使用して、単純な Tic Tac Toe ゲームを作成してみましょう。 ゲーム ロジックの作成とコードの編成方法の学習に役立ちます。
○×ゲーム
コーディングを始める前に、ゲームの概要を簡単にまとめて、開発計画について話し合うことにしました。
最初に、X が常にイニシアチブを取り、最初に動き、ユーザーに行動する機会を与えるという仮定を確立します。
コンソールから、1 から 9 までの数字が入力されます。 各数字が異なる数字に対応するグリッド (左上が 1、右下が 9)。
ユーザーが移動すると、コンピューターは自動的に判断して移動します。 多数のさまざまなルーチンを呼び出す XNUMX つの主要なゲーム ループが使用されます。
このテキストベースのレッスンの各ヘッダーには、おそらくどの機能が終了しているかが示されています。
ボードの設計
前に示したように、グリッド レイアウトを使用してボードを描画します。 これを行うために Python で board という名前のリストを作成します。これは 10 個の空の値で始まります。
ユーザーは 1 ~ 9 ではなく 0 ~ 8 の数字しか入力できないため、10 ではなく 9 個の空の値があります。したがって、簡単にするために、リストの最初のエントリに値「空のテキスト」を指定します。
このように、1 ~ 9 の代わりに 0 ~ 8 を使用して、リスト内のエントリにインデックスを付けることができます。
挿入文字()
文字と位置は、この関数の XNUMX つの入力になります。 要求された手紙を要求された場所に置くだけです。
スペースは自由です(位置)
簡単に言えば、このメソッドは指定されたエリアが空いているかどうかを知らせてくれます。 したがって、そこにはまだ手紙はありません。 その唯一の引数である Pos は、1 から 9 までの整数になります。
プリントボード(ボード)
ボードはこのメソッドの引数として送信され、コンソールに表示されます。
isWinner()
現在のボードに基づいて、この関数は提供されたレターが勝ったかどうかを知らせてくれます。 le と board (文字) の XNUMX つのパラメーターがあります。
「X」または「O」でなければなりません。 指定された文字がボード上の各潜在的な勝利ラインに存在するかどうかを確認するだけです.
メイン()
ゲームを開始したいときは、このメソッドを呼び出します。 プログラムの多くの関数のすべてを呼び出し、プログラムの実行方法を指示します。
isBoardFull()
ボードに入力として渡されると、このメソッドは、ボードが満杯の場合は True を返し、それ以外の場合は False を返します。
プレイヤームーブ()
このメソッドでは、ユーザーに移動を要求し、それを検証します。 移動が正当である場合、手紙はボードに追加されます。 そうでない場合は、引き続きユーザーのフィードバックを求めます。
CompMove() – AI
AIが始まります。 コンピュータの動きは、この機能によって制御されます。 ボードを評価し、最善の動きを選択します。
以下は、これを行うために使用するアルゴリズムのリストです。
- 現在のステップを終了できない場合は、次のステップに進みます。
- 可能であれば、勝利の動きを取りましょう。
- プレイヤーが勝つ可能性のある動きを持っている場合、次のターンにその位置に移動します。
- 角を選んで回します。 選択肢が複数ある場合はランダムに選択してください。
- あなた自身を真ん中に置いてください。
- エッジの XNUMX つを考えてみましょう。 選択肢が複数ある場合はランダムに選択してください。
- 動けなくなった場合、ゲームは引き分けで終了します。
選択ランダム()
候補となる場所のリストが与えられると、この関数は実行するアクションをランダムに選択します。
ゲームの開始
すべてのタスクが完了したので、ゲームを開始できます。 ゲームを XNUMX 回だけ実行したい場合は、main を呼び出すだけで済みます。
しかし、私たちの状況では、ユーザーがもうプレイしたくないと判断するまでゲームを実行し続けたいので、メインラインに小さな while ループを追加します。
完全なコード
これが完成したゲームのコード全体です。
出力
まとめ
万歳!
完全にゼロから作ったゲーム。 私たちが定期的にプレイするゲームではありません。 ただし、ロジックを記述し、コード内の明確な構造を維持するのに役立ちます。
ハッピーコーディング!
コメントを残す