クイズゲームの作り方 - jQuery入門
目次
- jQuery入門
- jQueryのインストール・簡単な使い方
- クイズゲームの作り方
- 秘密の暗号を作ってみよう(たぬき暗号)
- アクションゲームを作ってみよう(ぬりかべ)
- 画像を使ったジグソーパズルを作ってみよう
- もぐらたたきっぽいゲーム
- ドラッグ可能なポップアップウインドウを作ろう
- jQuery UI Sortableで1ラインオセロゲーム
- ブラウザ全体をブロックしてみる
- Geolocation APIを使って都道府県のセレクトボックスを現在地に近い順にソートする
- 発生したイベントの状態を保持・保存する6つのパターン
- Ajaxを利用したシンプルなイメージギャラリーを作ってみる
- テーブルにページ送り(ページング)を実装してみる
- jQuery UI Draggableを使って付箋(sticky)を作ってみる
- カラムでソートできるテーブルを自作してみる
- テーブルを使ったシンプルなドット絵エディタを作ってみる
- iPhoneのようにマウスではじいてスクロール(フリックスクロール)を実装してみる
- テキストフィールドの数値をマウスの上下移動で増減する
- iPhoneのように大きい画像の表示領域をマウスのドラッグで移動してみる
- iPhoneのように画像をダブルクリックした地点を中心に拡大縮小する
- リアルタイムプレビュー付きのHTMLエディタを作ろう
- 保存できる付箋を作ってみる(Cookie、localStorage)
クイズゲーム(?)
やってきました第3回、今回はクイズゲームを作ってみましょう。ゲームプログラマを志す若人はみな通る道それがクイズゲーム。そしてプログラムを作るのは簡単だが設問を作るのが難しいと気づいて諦める道それがクイズゲーム。実行結果
クイズゲームのソース
以下のソースを拡張子 .html で作成してブラウザで表示してみてください。クイズゲームが始まります。ソースは長そうに見えますがほとんど前回のコピペで行けます。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<title>クイズ</title>
<script>
$(function() {
$('input').click(function() {
if ($(this).val() == 2) alert('正解!');
else alert('はずれ!');
});
});
</script>
</head>
<body>
<p>あなたの好きな食べ物は?</p>
<p>
<input type="radio" name="food" value="1">そば
<input type="radio" name="food" value="2">うどん
<input type="radio" name="food" value="3">ラーメン
</p>
</body>
</html>
プログラムの解説
$(function() {
・・・
});
前回同様、$(関数)と書くと、HTMLが表示された時点で(正確には準備された時点で)引数で指定された関数が呼び出されます。呼び出す関数は以下の
$('input').click(function() {
・・・
});
ですね。これはinputタグをクリックしたときに中に記述した関数が呼び出されます。対象となるinputタグはラジオボタンを書いた以下の
<input type="radio" name="food" value="1">そば
<input type="radio" name="food" value="2">うどん
<input type="radio" name="food" value="3">ラーメン
です。$(‘input’)と書いただけでHTML中にある全てのinputタグにイベントを登録できるのがjQueryの魅力のひとつですね。実際にクリックされたときに呼び出されるイベントの中身は以下の
if ($(this).val() == 2) alert('正解!');
else alert('はずれ!');
となります。$(this)はクリックされたinput要素を指します。val()関数でvalue要素を取得します。今回はvalue要素が2、すなわち「うどん」のラジオボタンをクリックしたときだけ「正解」、その他は「はずれ」のアラートを表示しています。
なに、これはクイズじゃない?そうですね。