数当てゲームを作る

数当てゲームって何?

 数当てゲームと言うのは、コンピューターが勝手に決めた1から10までの数字を、プレイヤーが感と運で当てようというものです。
これは変数、条件文、入出力と、繰返しと、スクリプトを記述する際の基本が満載ですので、最適な例として取り上げます。

まずはスクリプトです。(完成版はこちら
ファイル名は
【kazuate.php】としています。
可能な限り、コメントで説明しています。PHPの部分を日本語で説明すると、
1.フォームからのデータを受け取る
2.データがあった場合は、以下をする
3.乱数を発生
4.入力と乱数を比較して、等しければ正解を表示
5.正解していなければ、はずれを表示

となります。ポイントは、データーの受け取りと、データーがない場合(初の呼び出しや、空で送信ボタンを押した場合)は、何もしないという部分だけです。

HTMLの部分のポイントを説明します。
フォームはHTMLの1行テキストボックスを利用しております。(下のほうです)

<FORM action = "kazuate.php" method ="POST" >
とは、送信ボタンが押されたら、kazuate.php(つまり自分自身)を呼び出して、内容をPOST形式で送るという意味です。今回は、当たっても外れても、ゲームは続けるという前提で、自分自身を呼び出していますが、判定結果を別のファイルに指定することも当然可能です。

<INPUT size="20" type="text" name="no">
これは、一行テキストボックスを表示させるものですが、【name="no"】が大事です。PHPは、この名前と、データの内容を関連付けます。これは、テキストボックスだけでなく、リストボックスや、ラジオボタンなど、全てにおいて共通ですので、必ず指定します

そして、
POSTで送ったものは$_POST["名前"]として
呼び出されたファイルで利用できます。

ifと条件式

 条件による処理の分岐は、if(条件){}と言う形で表現することは、前回も書きました。士今回は、条件の部分の書き方を書いておきます。

基本編
$a==$b $aと$bは等しい
$a>$b $aの方が大きい
$a<$b $bの方が大きい
$a<=$b $aは、$b以下である
$a>=$b $aは、$b以上である
$a<>$b $aと$bは違うものである
$a!=$b 同上
$a $aは、Trueである
※等しいは、イコールを二つ【==】1つだと、$bの内容を$aに代入してから、$a単独(一番下の例)と解釈される。つまり、$bの値が有効かどうかを調べることになる。

良く使われる指定方法
(条件A) and (条件B) 条件Aと条件Bの両方に適合している
andではなく、&&でも同じ意味
(条件A) or (条件B) 条件Aと条件Bのどちらかに適合している
orではなく||でも同じ意味

【注意事項】、変数の値が、数字と文字列で有る場合、数字と解釈して比較される。
つまり、文字列を大小判断する場合、数値として比較される。
文字列”5”>数字2    結果 正しい
文字列”5”>文字列”5” 結果 これも正しい

<基本のスクリプト>-Top-<カウンタ>