個人財務 Javaプログラミング・チャレンジ:簡単なティック・タック・トゥ・ゲーム - ダミー

Javaプログラミング・チャレンジ:簡単なティック・タック・トゥ・ゲーム - ダミー

Anonim

あなたの使命は、それを受け入れることに決めたら、ユーザーにTic-Tac-ToeのゲームをプレイできるJavaプログラムを作成することです。

おそらくあなたが知っているように、Tic-Tac-Toeは紙と鉛筆で普通に演奏される単純なゲームです。まず、紙の上に簡単な3 x 3グリッドを作成します。次に、2人のプレイヤーは、グリッド上の空のスペースでXsとOsをマークして、交互に交代します。自分のマークの3つを水平、垂直、または対角の列にする最初のプレイヤーが勝利します。いずれかの選手が連続して3つのマークを付ける前に、グリッド内のすべてのスペースが満たされている場合、そのゲームはドローです。

<! - 1 - >

この挑戦のルールと指示は次のとおりです。

  1. コンピュータは人間に対してプレーします。コンピュータはOです。

  2. プログラムは短いウェルカムメッセージを表示することから始まり、最初の移動のためにプレイヤーにプロンプ​​トを表示する必要があります。例:

    Tic-Tac-Toeへようこそ。あなたの最初の移動を入力してください:
    
  3. グリッドの四角形を指定するには、列の文字A、B、Cと行の数字1,2,3を使用します。

    <!左上の正方形にXを置くために、プログラムがプレイヤーにプロンプ​​トを促すときには、人間のプレイヤーはテキストA1を入力することになる(図8参照)。動く人間が移動した後、プログラムはボードの現在の状態をコンソールに表示する必要があります。
    人間の演奏をマークするにはXを使い、コンピュータの演奏をマークするにはOを使います。縦棒文字(キーボード上のバックスラッシュ文字、Enterキーのすぐ上にあります)とハイフンを使用して、単純なグリッドにボードを描きます。
    

    <! - 3 - >

    たとえば、ユーザーが最初の移動としてA1を入力した場合、プログラムは次のように表示されます。

  4. X | | --- | --- | --- | | --- | --- | --- | |

    人間の移動後、プログラムは移動を決定し、それをユーザにアナウンスし、更新されたボードを表示し、ユーザの移動を促す。

    たとえば、あなたはこれを見るかもしれません:

    私はA2:X | O | --- | --- | --- | | --- | --- | --- | |あなたの次の移動を入力してください:
    
  5. 1人のプレイヤーが3つ連続して得点するか、またはすべての四角が勝者なしで満たされるまで、プレイが続けられます。あなたのプログラムは、いずれかの選手が3連勝して勝利したかどうかを判断できなければなりません。 (これはこのプログラミング課題の中で最も難しい部分です)。

    ゲームが終了すると、ゲームの結果を示すメッセージが表示されます。 "人間のプレーヤーが勝つならば、"私はあなたを打つ! "コンピュータプレーヤーが勝った場合、または"それはドローです! "ゲームが抽選で終了する場合。

    人間とコンピュータのプレイヤーは、どちらのプレイヤーもまだ占有していない四角だけをプレイすることができます。
    
  6. プログラムは、いずれかのプレーヤーがゲームを勝ち取ったとき、またはゲームが引き分けのときに終了する。もう一度再生したい場合は、プログラムを再度実行する必要があります。

  7. コンピュータの動きの仕方を自由に決めることができます。私は最初の空の広場でコンピュータを常に演奏させることをお勧めします。これは明らかにTic-Tac-Toeをプレイする最良の方法ではなく、プレイするたびにコンピュータを倒すことに問題はありません。しかし、このシンプルなプレー戦略を選択すると、グリッドを内部的に表現する方法、プレーヤーがいつゲームに勝ったか、ゲームが終わったときを判断する方法など、プログラミングの他の面に焦点を当てることができます。

  8. (「Javaプログラミングの課題:シンプルチック・タックト・プログラムに配列を追加する」では、プログラムがそのプレイを決定するためのより良い戦略を思いつくように求められます)。

  9. 完全なゲームのためのコンソールディスプレイ:

Tic-Tac-Toeへようこそ。あなたの最初の移動を入力してください:

A1

X | | --- | --- | --- | | --- | --- | --- | |私はA2でプレイします:X | O | --- | --- | --- | | --- | --- | --- | |次の移動を入力してください:

B1 X | O | --- | --- | --- X | | --- | --- | --- | |私はA3でプレイします:X | O | O --- | --- | --- X | | --- | --- | --- | |次の移動を入力してください: C 1 X | O | O --- | --- | --- X | | --- | --- | --- X | |あなたは私を打つ! あなたを始めるためのヒントをいくつか挙げておきます: グリッドを表現する最良の方法は配列です。ここでは、A1、A2、A3、B1、B2、B3、C1、C2、C3という9つの変数を使用します。 グリッド変数にint型を使用すると、正方形にXが含まれていることを示すために1を使用し、正方形にOが含まれていることを示す2を使用することができます。

可能な8つの行は勝てる可能性があります。プレイヤーは、以下の四角形の組み合わせのいずれかが1(Xの場合)または2(Oの場合)のいずれかである場合に勝ちます。A1 - A2 - A3 A1 - B1 - C1 A1 - B2 - C3 B1 - B2 - B3 A2 - B2-C2 A3-B2-C1 C1-C2-C3 A3-B3-C3

  • ゲームが抽選であるかどうかを判断するには2通りの方法があります。最初の9つのすべての正方形をチェックすることです:正方形のいずれかが空で、いずれのプレイヤーも勝っていない場合、ゲームは抽選です。 2回目は動きをカウントすることです:9回の移動が行われ、いずれのプレーヤーも勝っていなければ、試合はドローです。

  • このプログラミング課題の解決策は、

  • Java Dollies、

    4th Edition製品ページの[ダウンロード]タブで見つけることができます。
    
  • 幸運!

Javaプログラミング・チャレンジ:簡単なティック・タック・トゥ・ゲーム - ダミー

エディタの選択

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の場合...