新しく質問する

本当に分からないので教えてください3

役に立った:0件
  • 質問者:kansai6266
  • 投稿日時:2009/06/28 18:59
  • 困り度:すぐに回答が欲しいです

問題5
○×ゲームを作成せよ。

<実行結果>
PLAYER1(○)
行:2
列:3
・・・
・・○
・・・

PLAYER2(×)
行:2
列:2
・・・
・×○
・・・

PLAYER1(○)
行:1
列:3
・・○
・×○
・・・

PLAYER2(×)
行:3
列:3
・・○
・×○
・・×

PLAYER1(○)
行:1
列:3
入力し直してください。

PLAYER1(○)
行:1
列:2
・○○
・×○
・・×

PLAYER2(×)
行:5
列:5
入力し直してください。

PLAYER2(×)
行:3
列:2
・○○
・×○
・××

PLAYER1(○)
行:2
列:1
・○○
○×○
・××

PLAYER2(×)
行:3
列:1
・○○
○×○
×××

PLAYER2の勝ちです。
<実行結果>
PLAYER1(○)
行:2
列:2
・・・
・○・
・・・

PLAYER2(×)
行:1
列:1
×・・
・○・
・・・

PLAYER1(○)
行:2
列:1
×・・
○○・
・・・

PLAYER2(×)
行:2
列:3
×・・
○○×
・・・

PLAYER1(○)
行:1
列:3
×・○
○○×
・・・

PLAYER2(×)
行:3
列:1
×・○
○○×
×・・

PLAYER1(○)
行:1
列:2
×○○
○○×
×・・

PLAYER2(×)
行:3
列:2
×○○
○○×
××・

PLAYER1(○)
行:3
列:3
×○○
○○×
××○

引き分けです。

この質問に回答する
このQ&Aは役に立ちましたか?(役に立った:0件)

回答(1件)

  • 参考になった:0件
  • 回答者:246riser
  • 回答日時:2009/07/01 05:57

一例ですが、
1.テーブル(3×3)を二次元配列で作り、全て「.」で初期化します。
2.入力者が○であるというふうに初期化します。また、カウンタも初期化します。
3.無限ループを作ります。
4.ループ内の最初の処理で「行」と「列」の情報を別々の変数に保持します。ここで、可能なら適切でない数値や文字が入力された場合の例外処理も作ってください。この場合、あとで使用されるカウンタも考慮する必要があります。
5.「行」と「列」の情報で指定された二次元配列のデータが「.」であることを確認し、「.」であるなら「○(或るいは×)」にして二次元配列のデータ全てを画面に出力します。また、「.」でない場合の例外処理を作ってください。
6.二次元配列の縦、横、斜めを全てチェックします。どこか一列でも全て同じデータ(「.」以外)で並んでいたら、現在の入力者が勝ちと画面に出力し、ループを抜けます。
7.カウンタをインクリメントします。
8.カウンタが9回数えられたことを確認した場合、引き分けであると画面に出力し、ループを抜けます。
9.入力者を切り替えます。

通報する

  
このQ&Aは役に立ちましたか?(役に立った:0件)

このページのトップへ