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

回答受付中の質問

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

問題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
×○○
○○×
××○

引き分けです。

投稿日時 - 2009-06-28 18:59:11

連想キーワード:

QNo.5081951

すぐに回答ほしいです

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(1件中 1~1件目)

ANo.1

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

投稿日時 - 2009-07-01 05:57:46

あわせてチェックしたい
  • 検索の実行で、ヒットした行のA列の番号を、セルB3に自動入力するマクロ ...
  • 引き分け犬??? ...
  • E列が空白のとき、その空白行を削除し、番号を振り直す ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら