【ゲームの説明】
足し算または引き算の問題を表示して答えを入力するゲームを作ります。
ただし、答えが2桁以上あると、ボタン操作で簡単に答えてもらうという訳にはいきません。
そこで、問題の方をボタンで埋めるようにします。
例えば、「2+5=7」ですが、これを「2+?=7」と表示して、?の部分をボタンで選びます。
こうすれば、1〜9のボタンを用意して対応することができます。ただし、足し算と言っても、実質は引き算の問題ということになります。
<html> |
【保存ファイルの準備】 エディタ(メモ帳)とブラウザ(Internet Explorer)を使って基本のタグを書いたHTMLファイルを作成します。 |
| <html> <head> <title>たすひく計算ゲーム</title> </head> <body> <h3>たすひく計算ゲーム</h3> <hr> <table border="0" align="center"> <tr> <td><span id="mon"></span></td> <td></td> <td>=<span id="kotae"></span></td> </tr> </table> </body> </html> |
【テーブルの作成】 問題文を表示するためにテーブルを用意します。 最初の数字は、<span>タグを使って「mon」という名前の表示場所を作ります。 2つ目の数字が回答ボタンになります。ここにはフォームを置きます。枠だけ用意しておきます。 3つ目の枠には答えの数字を表示します。<span>タグで「kotae」とIDを付けます。 |
| <html> <head> <title>たすひく計算ゲーム</title> </head> <body> <h3>たすひく計算ゲーム</h3> <hr> <table border="0" align="center"> <tr> <td><span id="mon"></span></td> <td><form> <input type="button" value=" 1 " onClick="keisan(1)"><br> <input type="button" value=" 2 " onClick="keisan(2)"><br> <input type="button" value=" 3 " onClick="keisan(3)"><br> <input type="button" value=" 4 " onClick="keisan(4)"><br> <input type="button" value=" 5 " onClick="keisan(5)"><br> <input type="button" value=" 6 " onClick="keisan(6)"><br> <input type="button" value=" 7 " onClick="keisan(7)"><br> <input type="button" value=" 8 " onClick="keisan(8)"><br> <input type="button" value=" 9 " onClick="keisan(9)"> </form></td> <td>=<span id="kotae"></span></td> </tr> </table> </body> </html> |
【フォームの設置】 1〜9までのボタンを改行して縦に並べます。 |
<html> function mondai() { //足し算 |
【初期設定のスクリプト】 まず、問題を表示するスクリプトを作りましょう。 問題の表示は、1つ答える毎に繰り返されるため、ユーザー関数mandaiに分けて考えます。 初期設定は特に必要がないので、メインスクリプトから即座にユーザー関数mondaiを呼び出します。 【問題の表示】 ユーザー関数mondaiを作っていきましょう。 「問題の作成」のところです。 次に「足し算」の部分です。 |
<html> function mondai() { //足し算 |
【答えの確認】 次は答えのボタンを入力したときに、答えが正しいかどうか判断するスクリプトを作りましょう。 ユーザー関数keisanを作ります。 ここでは、ユーザーが答えたボタンの数値を変数numで受け取っています。 次に変数a1と変数a2をif文で比較しています。正解なら次の問題を表示させたいので、ユーザー関数mondaiを呼び出します。 |
(省略) <script language="javascript"> function mondai() { if (keimon == 0) { function keisan(num) { (省略) |
【引き算の作成】 引き算は、足し算のときの問題(変数q1)と答え(変数a1)を入れ換えれば簡単に作れます。 メインの処理では、問題文の表示をする前に、変数keimonを「0」に設定しておきます。 ユーザー関数mondaiの中で、足し算と引き算をif文で切り換えます。 あと、if文とelse文の処理の最後に、それぞれ変数keimonを切り換える式が入っています。 |
(省略) </table> function mondai() { if (keimon == 0) { function keisan(num) { (省略) |
【成績の表示】 少し改良をして、答えのボタンを押すと下に正解の状況を表示するようにしたいと思います。 まず、テーブルの下に<div>タグを使って成績の表示場所を作ります。 次に、スクリプトのメイン処理に変数kotae_listを用意します。 ユーザー関数keisanの処理ですが、これまでは答えが間違っていると次に進めませんでしたが、正解か間違いかを表示するため、必ず次の問題へ進みます。 最初のif文の中で、変数kotae_listに「○」を付け足します。 |