![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
下記のソースのようにマルバツゲームを作っています。
setMaruBatuの$xに横位置、$yに縦位置を入れて、$kに入れる記号の種類を指定します。0が何もない状態で、1がマルで、2がバツです。
この際、プレーヤーを交互に入れ替えて、順番じゃない人は打てないようにしたいのですが、どういったプログラムを書けば、そういったことができますでしょうか。
よろしくお願いします。
<?php
class MaruBatu{
private $board = array();
function __construct(){
for ($i=0; $i < 3; $i++) {
for($j =0; $j < 3; $j++){
$this->board[$j][$i] = 0;
}
}
}
function setMaruBatu($x, $y, $k){
if($this->board[$x][$y] == 0){
$this->board[$x][$y] = $k;
}
}
function showMaruBatu(){
for ($i=0; $i < 3; $i++) {
for($j =0; $j < 3; $j++){
print $this->board[$j][$i];
}
print '<br>';
}
}
}
?>
No.3ベストアンサー
- 回答日時:
setMaruBatuの中でどっちがsetしたか持っておいて
function setMaruBatu($x,$y,$k){
if($this->turn === $k)
return 'dame';
$this->turn = $k;
if($this->board[$x][$y] == 0){
$this->board[$x][$y] = $k;
}
}
// マルのひと
$mb->setMaruBatu(0,0,1);
// この時点でturnは1
// 本来はバツのひとだけどマルのひとがまた呼んでみる
// turn(1)===1が真になりreturn 'dame'でそれ以降は実行されない
$mb->setMaruBatu(0,1,1);
// バツの人が呼ぶと
// turn(1) ===0で偽となり配列へのセットが実装される
$mb->setMaruBatu(0,1,2);
で、turnには2が入る
このくりかえし~
No.2
- 回答日時:
自分が打った後相手の入力フェーズが終わるまでajaxなどで定期的に
状態をとりにいく必要があるでしょう
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- TOEFL・TOEIC・英語検定 英語 文法 1 2023/02/27 14:01
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- その他(プログラミング・Web制作) python 3.10で 同じlistに同じ構文で同じデータ代入した結果が異なる現象発生 7 2022/06/18 11:08
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字コードの変換について
-
Access VBA wiht文での実行時エ...
-
文字化け変換方法
-
PHP+Postgres 「髙」が文字化け
-
よく、書式で出てくる ○○ ( ○○,...
-
SJISで取得した半角カナをUTF-8...
-
postの文字化け防止について
-
複数行の文字列を1行にまとめる...
-
マルバツゲームのプレーヤー交...
-
PHPでの文字列置換について
-
PHPアクセスログ バッチ処理
-
小さいひらがな(っ、ょ、ぃ、ゃ...
-
フィールドの先頭10文字だけ表...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
文字列の括弧について(初心者)
-
文字の入力で横バー上段、中断...
-
ファイルから読み取った改行文...
-
メッセージボックスで1025文字...
-
エスケープ文字の復帰(¥r)と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
phpのメールフォームの完了画面...
-
SQL Serverで文字コードUTF-8
-
UTF8メールがLotus Notesで文字...
-
SJISで取得した半角カナをUTF-8...
-
mail()で送信したメールのタイ...
-
RSSを取得すると文字化けする。
-
includeファイルの文字コードに...
-
phpフォームで携帯へメール送信...
-
PHP+Postgres 「髙」が文字化け
-
廣のjis変換で文字化け
-
小さいひらがな(っ、ょ、ぃ、ゃ...
-
PostgreSQLからCSV形式でエクス...
-
メールのCCに複数のアドレスを...
-
PHPmailerでの添付ファイルの文...
-
ASCII文字列をEUCなどに変換し...
-
mb_convert_encoding で 一部の...
-
SJIS→UTF-8変換後の文字化けに...
-
CGIを作っています。渡されて来...
-
mb_ereg_replace での文字変換
おすすめ情報