個人財務 Javaプログラミングの課題:シンプルなTic-Tac-Toeプログラムにクラスを追加する

Javaプログラミングの課題:シンプルなTic-Tac-Toeプログラムにクラスを追加する

ビデオ: Coding Challenge #14: Fractal Trees - Recursive 2024

ビデオ: Coding Challenge #14: Fractal Trees - Recursive 2024
Anonim

この課題では、Javaプログラミングクラスを追加することで、Tic-Tac-Toeゲームを改善します。動きます。

Javaプログラミングの課題:簡単なティックタックトーンゲームでは、簡単なゲームをプレイするためのプログラムを書くことに挑戦します。この課題では、以前のソリューションのソースコードを変更して、コンピュータの戦略を立てやすくします。

<!ゲームのルールは非常にシンプルですが、ゲームをプレイできるコンピュータプログラムを作成することは複雑になる可能性があります。潜在的に複雑な多くの詳細をプログラムに組み込む必要があります。具体的には:

プログラムには、Tic-Tac-Toeボードを構成する9つの正方形のそれぞれの状態を内部的に表す方法が必要です。

  • プログラムは、いずれかのプレイヤーの移動を登録する方法を提供しなければならず、各移動が有効であることを確認する必要があります(たとえば、XまたはOによって既に占められている四角でプレーできません。

  • <! - 2 - >

    プログラムは、可能な3つの行内の組み合わせのすべてを調べることによって、どちらのプレイヤーが勝ったかを判断することができなければなりません:3行、 、そして2つの対角線
  • プログラムはまた、試合がいつ抽選であるかを決定することができなければならない。つまり、9つの四角形がすべてプレーされ、いずれのプレイヤーも勝たれていない。

  • ユーザに自分の動きを入力し、コンピュータの遊びをアナウンスし、各試合後にボードの更新された表現を表示し、勝者を宣言するか、ゲームが終わったときにドローを発表することによって、ユーザとの対話の詳細を管理しなければならない

<! - 3 - >

この課題では、Tic-Tac-Toeプログラムのこれら2つの要素を分離するように求められます。ゲームの状態と進行を管理するeプログラムと、ユーザーとの対話を処理するプログラムの一部です。完全なゲームをするために呼び出すことができるメソッドを提供するTicTacToeBoardという名前のクラスを作成することでそれを行います。次に、TicTacToeBoardクラスを使用するプログラムを作成して、人間の相手がコンピュータに対してTic-Tac-Toeのゲームをプレイできるようにするように求められます。

このプログラムは、ユーザの視点から、単純なTic-Tac-Toeゲームの課題を解決するために作成されたプログラムと同じように動作します。このバージョンのゲームでは、プログラムは、コンピュータの動き。コンピュータは完全には再生されないので、まだ簡単に試合できます。しかし、それは単に最初の空の広場で遊んでいること以外にも何らかの努力をしています。

次の表は、TicTacToeBoardクラスで実装する必要があるメソッドの一覧です。覚えておいて、2つ作成する必要があります。この課題を解決するためのJavaファイル。最初の、TicTacToeBoard。 javaは、TicTacToeBoardクラスを実装します。第二のものは単にTicTacToeと名付けられました。 javaは、ユーザーがコンピュータに対してTic-Tac-Toeのゲームをプレイするために実行するプログラムです。

TicTacToeBoardクラス

コンストラクター
説明 TicTacToeBoard
すべての四角が空の新しいTicTacToeBoardを作成します。 メソッド
説明 void reset()
各四角形のステータスを空にリセットします。 int getSquare(String square)
文字列A1、A2、A3、B1、B2、B3、C1、C2またはC3のいずれかでなければならないsquareで指定された四角の状態を返します。正方形が空の場合は0を返し、Xが含まれている場合は1を返し、Oが含まれている場合は2を返します。例外IllegalArgumentException - squareが許容値の1つでない場合指定されたプレーヤの指定された正方形(A1、A2、A3、B1、B2、B3、C1、C2、またはC3)をマークします(Xの場合は1、forの場合は2)。 O)。 IllegalArgumentException - squareが許容値の1つでなく、playerが1または2でない場合、または指定された四角形が空でない場合 int isGameOver()
ゲームが終了したかどうかを判定します。ゲームが終了していない場合は0、Xがゲームに勝った場合は1、Oがゲームに勝った場合は2、ゲームが抽選の場合は3を返します。ゲーム終了条件は次のとおりです。 1:行、列、または対角線にすべてのXが含まれている場合。 2:すべての行、列、または対角線にすべてのOが含まれている場合。
3:空の四角形がなく、XもOも勝っていない場合。 int getNextMove()

コンピュータの対戦相手の次の移動を表す整数を返します。この方法は、以下の戦略に従って、良い動きを選択するための基本的な努力をする必要があります。

*中心(正方形のB2)が空の場合は、中央の四角を再生します。

*センターが空ではなく、4つのコーナー(正方形A1、A3、C1、C3)のいずれかが空の場合は、コーナーの1つを演奏します(どちらのコーナーでもかまいません)。

*センターが空でなく、コーナーが空でない場合は、エッジの1つ(A2、B1、B3、またはC2の四角)を再生します。 String toString()

ボードの現在のステータスを表す文字列を返します。文字列には、行を表示するための改行文字と、次の例のように別々のコンソール行にセパレータ行が含まれます。

O | | O

- | - | -

| X | - | - | -

| X |

困惑した場合は、

ダミー用Javaオールインワン、

4th Edition製品ページのダウンロードタブで解決方法を見つけることができます。

幸運!

Javaプログラミングの課題:シンプルなTic-Tac-Toeプログラムにクラスを追加する

エディタの選択

Drupalフォーラムの有効化 - ダミー

Drupalフォーラムの有効化 - ダミー

フォーラムはユーザーコミュニティを作成するのに最適です。人々は他者からの援助を得ることができ、あなたのコンテンツに関するフィードバックを提供し、単純に社会化することができます。あなたのDrupalフォーラムは、あなたが望むようにしっかりとまたはゆるやかに制御することができます。フォーラムで許可されているカテゴリを制御できます。フォーラムの例を見るには、Drupal Forumを参照してください。 ...

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ウェブホスティング会社は、あなたがDrupalをインストールし、あなたのサイトをウェブ上に見えるようにするWebサーバー。一部の企業では、Drupalをインストールしたり、ワンクリックでインストールすることができます。あなたがDrupalのインストールをスキップする場合は、次のいずれかのアカウントを取得することを検討してください。

Drupalガーデンサイト構造管理 - ダミー

Drupalガーデンサイト構造管理 - ダミー

Drupal Garden Structureページでは、 、ページ、およびブロックを表示します。このページから制御できる特定の機能、ブロック、およびページには、連絡先フォーム、フォーラム、メーリングリストなどがあります。ブロックで表示される機能をブロックで管理することもできます。

エディタの選択

エグゼクティブとのデータマイニング - ダミー

エグゼクティブとのデータマイニング - ダミー

数字で遊ぶという楽しみのためにデータマイニングに取り掛からない。あなたは行動を望む。あなたは正しいことを見たいと思っています。データからの確かな証拠に基づいてビジネス上の決定を下すことが重要であることを理解しています。しかし、あなたは決定を下す権限を持つ人ではありません。だからあなたは...

ビッグデータガバナンスチャレンジ - ダミー

ビッグデータガバナンスチャレンジ - ダミー

データガバナンスは、大きなデータソースが彼らがどのように管理されているか。従来のデータウェアハウスやリレーショナルデータベース管理の世界では、データ保護の必要性に関するルールをよく理解している可能性があります。たとえば、医療界では、それは...

エディタの選択

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

赤外線を電気的に生成するには、赤外線スペクトルで動作する特殊な発光ダイオード(LED)を使用します。赤外線LED(しばしばIR LEDと呼ばれる)は、RadioShackまたは電子部品を販売する他の店で容易に入手できます。 IR LEDは、通常のLEDと似ていますが、光を見ることはできません。

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

を通して、あなたの電子プロジェクトを制御する場合パラレルポートであるKit 74 DOSソフトウェアは、コマンドプロンプトから実行できるRELAY、DELAY、WAITFORの3つのコマンドで構成されています。 RELAYコマンドRELAYコマンドは、1バイトのデータをパラレルポートに送信します。あなたから実行できること - RELAY、DELAY、およびWAITFOR - 8つの出力端子のそれぞれが...

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

、フリップフロップは特殊なタイプのゲートラッチ回路です。フリップフロップにはいくつかの異なるタイプがあります。フリップフロップの最も一般的なタイプは次のとおりです。SRフリップフロップ:SRラッチに似ています。 CLOCK入力に加えて、SRフリップフロップにはSETとRESETという2つの入力があります。 SET入力がHIGHの場合...