前提
phpで三目並べを実装しようとしています。
実現したいこと
<条件>
・3×3マスのマスの3目並べ、ループ処理を行う
・石の置き場所はrand関数でランダムに配置する
・先攻はx
・盤面のデータは '', 'x', 'o' にそれぞれstyle属性が指定してあるので、これらを出力すると自ずと盤面が出来上がる(例:最初の一手目は1箇所のみ 'x'でそれ以外が '' になる)
・毎回3×3の出力は実施(最短で勝負が決まっても5回盤面を出力させる⇨勝負の数だけ盤面を出力)
・いずれかが勝つまでの経過を表示し、勝った時点で break させて勝った方を出力する(例:xの勝ち)
・引き分けの場合は引き分けと表示させる
発生している問題・エラーメッセージ
私の考えとしては二次元配列を用いて9箇所石を打てる座標を作っておき、一手目は1箇所のみxで他は ' '、二手目は xとoが1箇所ずつで他は ' '、、、以下繰り返し
と処理を行なって勝敗判定をつけるというものです。
勝敗判定については勝敗がつくのは最短でも5手目からなので5手目からでいいのかなとも思っております。
今の段階で分からないこと
・randを用いて石を打つという動作においてどうやって石を打つのか
・勝敗判定のつけ方(勝敗の答えを何パターンか用意しておけばいいのか、と考えましたが不安です)
・石をx と o で交互に打つ必要があるので、その交互のやり方
また9箇所石を打てる座標を作るというのは以下のコードで実装しようとしていますが大丈夫そうでしょうか?
$bord = [
["0","1","2"],
["3","4","5"],
["6","7","8"]
];
PHP
1ソースコード 2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/30 08:11
2022/07/30 08:21
2022/07/30 08:56