ネットワークを利用した、多人数参加型クイズ出題対戦ゲームの開発
開発研究代表者 : 沖縄県立美来工科高等学校 コンピュータデザイン科 教諭 赤崎 竜次
助言者 : 琉球大学工学部 情報工学科 教授 遠藤 聡志
目 次
本ソフトは、ネットワークを利用した複数のプレイヤー参加型の対戦ゲームであり、暗記問題の集団学習用ソフトウェアとして活用する。
現在私は、高等学校における専門教科「情報」の中の「情報産業と社会」を担当しているが、学習内容として、IT分野における専門用語の暗記が多く含まれている。
このとき、生徒が自分で学習しようと思えば、例えばノートやカードに用語とその意味を書きながら覚えていくといった方法が考えられるが、どうしても単純で地道な作業となり、退屈さを感じてしまう。
そこで、教科書の内容をもとに自分で問題を考え、それを用いてクラスメートと対戦するゲームを行なうことによって、お互いに刺激を与え合い、学習意欲を高める集団学習用のソフトウエアを開発する。
本ソフトウェアは、複数でプレイする対戦ゲームを通しながら、その教科の専門用語に強くなっていくという特徴がある。
本ソフトの利用は、高等学校の専門教科「情報産業と社会」の範囲を対象とし、情報関連用語などにおける暗記問題の対策を目的としているが、例えば「英検に出題される英単語」や「日本史における戦国時代の武将」など、特定の教科に限らず幅広い暗記問題に対応できる汎用性の高いものを目指している。
また専門分野における各種資格検定について、主催者側が発行している公式教科書を使用し、学習者自ら問題を作成していくといった利用方法も可能である。
授業以外でも、例えば学園祭などにおいて身近な話題を取り上げた「学校クイズ」や「先生クイズ」を用意したいときなどにも、このソフトを使ってプレイを楽しむことが可能となる。
代表者勤務先:沖縄県立美来工科高等学校 |
■本ソフトウェアについて
・本ソフトは、教育現場における弱点補強活動や、資格検定対策などで使用する目的で開発した。
・プレイ人数は出題・回答を行なう生徒2〜4人及び、評価及び採点を行なう教師1人である。放課後での少人数型での補修などに使用することを想定している。
・本来個人作業であり退屈になりがちな専門的分野の知識問題において、ネットワークを利用し、自ら出題・解答を行い仲の良い友達などと対戦させることによって、刺激を与え、学習内容に対しての意識を高めることを目的としている。
■教育効果
このソフトを使用することにより考えられる教育効果は以下の2点である。
(1)学習意識の向上
暗記問題の学習活動は本来、孤独な作業が多いが、このソフトを活用することにより、生徒同士がお互いに刺激を与え合い、学習への興味と意識の向上を持たせることができる。
(2)自主性の育成
プレイヤー自ら問題を作成することにより、問題集を受身で解くという態度から、積極的に教科内容について興味を持つという態度へ変え、用語の意味について理解する意識を育てることができる。
このソフトは、「サーバソフト」と「クライアントソフト」の二つを使用する。
以下の環境において、動作確認済みである。
■サーバソフト 実行環境
OS : WindowsXP 又は WindowsVista
JAVAランタイムソフト : Java Runtime Environment(JRE) Version 6
(以下からダウンロード可能)
http://www.java.com/ja/download/
■クライアントソフト 実行環境
OS : Microsoft WindowsXP 又は WindowsVISTA
ブラウザソフト : Microsoft Internet
Explorer 7 又は 8
Flashプラグインソフト : Adobe Flash Player 9 又は 10
(以下からダウンロード可能)
http://www.adobe.com/jp/products/flashplayer/
ソフトの種類 : サーバソフト、クライアントソフト
プレイ人数 : 3人〜5人(うち、教諭が1人を含む)
以下は、WindowsXPを使用するものとして説明する。
■サーバ側プログラムの実行
・Cドライブの任意のフォルダ(例えば、C:\JAVA)に、以下の5つのファイルをコピーする。
ClientSoc.class Global.class qb_server.class UserData.class UserWork.class |
・コマンドプロンプトを立ち上げる
(「スタートメニュー」→「プログラム」→「アクセサリ」→「コマンドプロンプト」を実行)
・サーバのIPアドレスを確認する。(クライアントから接続する時に必要)
> ipconfig |
表示例
Ethernet adapter ローカル エリア接続:
Connection-specific DNS Suffix
. : IP Address. . . . . . . . . . . . :
192.168.11.2 Subnet Mask . . . . .
. . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.11.1 |
IP Addressの欄を確認する。(上記例の場合は、「192.168.11.2」である)
・上記ファイルをコピーしたフォルダへ移動する
> cd c:\java |
・接続ポート番号(1024〜65535)を指定し、サーバプログラムを実行する。
実行コマンド
> java qb_server [ポート番号] |
(例:ポート番号16000でサーバプログラムを立ち上げる)
C:\java> java qb_server 16000 |
以下のように表示されたら成功である。
C:\java>java qb_server 16000 第6回「エデュテインメント開発研究助成事業 クイズ出題バトル (c)赤崎竜次 ポート番号=16000 でサーバを起動しました。 |
※ポート番号を指定せずに実行した場合、以下のようなエラーメッセージが出る。
java.lang.ArrayIndexOutOfBoundsException:
0 at
qb_server.main(qb_server.java:31) |
■クライアント側プログラムの実行(概要)
クライアントにおける、プレイの流れを簡単に説明すると、以下の通りとなる。
(準備)生徒は前もって問題および答を準備する。
教師および生徒はソフトを起動する。
@教師がサーバに接続(ログイン)する。
A生徒がサーバに接続(ログイン)する(USER1〜USER4)。
B教師が「バトルスタートボタン」を押すことによってゲームが開始される。
C【答入力モード】出題者は答を入力する。
D【解答モード】出題者が問題を入力し、同時に解答者は解答することができる。
正解者が出るか、時間切れになると、次の評価モードへ移行する。
E【評価モード】問題と答を元に、教師が出題者と解答者にそれぞれ得点を入れる。
F出題者が切り替わり、C〜Eを繰り返す。
全てのラウンド終了後、次の最終結果モードへ移行する。
G【最終結果モード】全ラウンドで取得した得点を表示し、優勝者を発表する。
教師が「コンティニューボタン」を押すことによって、再プレイが可能。
■クライアント側プログラムの実行(詳細)
(0)準備
・教師は、プレイ前に以下の事を決め、対象の生徒にそれぞれ指示を行う。
i) 生徒何名で遊ぶか?(2人〜4人)
ii) ソフトをプレイする日(例えば一週間後)
iii) 出題科目と範囲
iv) 一人当たりの出題数(何問用意しておくか)
・生徒はプレイする日までに、指定された出題数分だけの問題と答を考える。
※問題は一問一答形式であり、問題文は100文字以内、答は6文字以内とする。
(考える問題の例)
出題範囲:P検3級【ハードウェア】
問題 |
コンピュータの中心にある「中央演算装置」のことを、アルファベット3文字で答えよ。 |
答 |
CPU |
・プレイ当日、教師及び生徒はそれぞれ自分の席でソフトを立ち上げる。
実行ファイル:qb_client.swf HTMLファイル:qb_client.html |
※上記2つのファイルは、同じフォルダ内に保存すること。
FlashPlayerにより「qb_client.swf」を実行するか、もしくはブラウザ(InternetExplererなど)で「qb_client.html」を開くこと。
(1)教師のログイン
このソフトは、ログインする時に「教師」「生徒」の設定を行うわけではなく、ログインする順番に従ってどちらの立場になるかが自動的に設定される。一番最初にログインした者は教師となり、あとは生徒となる。
ログイン方法:
コントロールパネルの中で、サーバの「IPアドレス」と「ポート番号」(上記サーバプログラムの実行時に設定)を設定し、「接続」ボタンを押す。
※教師の場合は「アバター」の項目は関係無い。
プレイ画面右上の、先生アイコンがカラーで表示され、状態ウィンドウの表示が、接続状態(未接続)から、接続しましたになれば成功である。
※右上の状態ウィンドウが接続失敗と表示されたら、接続失敗である。
サーバのIPアドレスやポート番号を確認し、再度「接続」ボタンを押す。
※接続時の注意(Flashのセキュリティにより以下のような画面が表示される場合)
ローカルFlashコンテンツによりインターネットに接続するとき、デフォルトで許可を与えられていない場合がある。そのような時には、Adobeのサイトにある[グローバルセキュリティ設定] パネルにより許可を与える必要がある。詳しくは、以下のWebページを参照のこと。
ローカルの Flash コンテンツでインターネットの通信を実行するには
http://kb2.adobe.com/jp/cps/228/228700.html
(2)生徒のログイン
教師がログインした後、つづいて各生徒がログインする。
ログイン方法:
教師と同じくコントロールパネルの中で、サーバの「IPアドレス」と「ポート番号」(上記サーバプログラムの実行時に設定)を設定する。生徒の場合はさらに「アバター(キャラクタアイコン)」を選択することができる。準備ができたら「接続」ボタンを押す。
プレイ画面右上の、先生アイコンがカラーで表示され、状態ウィンドウの表示が、接続状態(未接続)から、接続しましたになれば成功である。
ユーザ名は、ログインした順番に「USER1」「USER2」「USER3」「USER4」が割り振られる。
接続成功後、左上の表示により、自分のユーザ名が分かる。(下記例ではUSER1である)
(3)ゲームスタート
生徒が2人以上ログインすると、教師のコントロールパネルに「出題数の設定」と「バトルスタートボタン」が表示される。
生徒一人当たりの出題数を設定し、「バトルスタートボタン」を押すと、ゲーム開始となり、出題者USER1の答入力モードとなる。
※出題数を設定すると、現在ログインしている生徒数(ユーザ数)から、ラウンド数が計算される。
(上記例では、4人の生徒がログインしており、各生徒の出題数が1なので、ラウンドは4で終了である)
(4)答入力モード
出題者は、「USER1」→「USER2」→「USER3」→「USER4」→「USER1」の順番で、切り替わって行く。
USER1の画面で先生のセリフ内を見ると、自分が「出題者」であることが分かる。
USER1は、前もって用意してきた問題の、答を入力する。(6文字以内)
※解答者はこの時点でも、チャットウィンドウを使ってチャットすることが可能である。
但し、この時に正解と等しい発言しても、正解の表示はされない。
(5)解答モード
出題者が答を入力し送信(登録)すると、解答モードに移行する。
出題者は、問題文を入力する。問題文を入力中は、他の解答者の問題表示ウィンドウへリアルタイムで表示される。
解答者は、問題ウィンドウを見ながら、チャットウィンドウで解答を入力する。解答は間違えても何度も入力し直すことができる。
残り時間は、問題ウィンドウに1文字でも入力されたら減っていく。現在の設定は1分間である。
※出題者は、入力した答を先生のセリフ内で確認できる。
答のスペルが違うなど、答を間違えて入力してしまった場合、このモード中でも入力し直すことが可能。
(6)評価モード
解答者が正解した時、もしくは時間切れになった場合、評価モード(先生チェック)へ移行する。
教師は、出題者の登録した答と、入力した問題文の間に整合性があるかどうかを判断し、いずれかの採点ボタンを押すことによって、それぞれのパターンでユーザに得点が入る。
採点ボタンの特徴と採点の判断基準例
ボタンの名前 |
説明(採点判断の基準) |
出題者+解答者に10点 |
問題文と答が納得いく内容であり、解答者も実力で正解した |
出題者に10点 |
問題文と答は納得いく内容だが、解答者があてずっぽうで解答した、時間切れになった など |
解答者に10点 |
問題文と答の間に整合性が取れていないが、解答者が正解することができた など |
問題の無効 |
問題文と答の間に整合性が無く、解答者もいない(時間切れ) など |
採点終了後、教師ウィンドウに 次のラウンドへ ボタンが表示されるので、準備ができたらボタンを押す。
(7)次のラウンド開始
出題者が「USER2」に切り替わり、同じく「答入力モード」→「解答モード」→「評価モード」と進む。
これを最終ラウンドが終了するまで繰り返し、最終ラウンドが終わった後、最終結果表示画面へ進む。
(8)結果発表画面
それまでに取得した得点が全て表示され、優勝者には優勝マークが付く。
※もう一度プレイする場合、教師画面により再プレイパネルから出題数を再設定し、もう一度やりますか?ボタンを押す。
・解答モードでの注意点
(1)問題文の文字数に制限は加えていないが、100文字を超えるとスクロールが必要になり、ネットワークプログラミングの設定上パフォーマンスが非常に悪くなるため、前もって教師から問題文の最大文字数について指示を与えるのが良い。(20〜40文字程度が適当)
(2)出題者が入力した答に対して解答者が解答する際に、全角/半角、大文字/小文字、ひらがな/かたかなの違いは認識できない。
特に全角/半角の違いは一見分かりにくく、教師は前もって「答の入力は必ず全て全角で行うこと」などの指示が必要となる。
・チャットウィンドウ・答入力における、6文字制限の解除
・ユーザ名定義の実装
・経験値システムにより、何度もプレイできる機能の実装
・生徒同士でも遊ぶことができる評価システムの開発
・一人用プレイモードの開発
など
■開発ソフト
ADOBE CREATIVE
JAVA(TM) SE Development Kit 6 Update 13
(J2SE)
■ソースファイルについて
サーバプログラム : qb_server.java
コンパイル方法…コマンドプロンプトを実行し、ソースファイルを置いてあるフォルダへ移動したあと、以下のコマンドを実行する。
> javac qb_serber.java |
クライアントプログラム : qb_client.fla
コンパイル方法…FlashCS4を起動し、ソースファイルを開いたあと、「ファイル」→「パブリッシュ」を実行する。
■開発協力者
沖縄県立美来工科高等学校
2年8組 永山 菜月、 仲松 佐知代、 宮城 千智
教諭 前城 静二
■参考文献(一部)
高橋 麻奈(2005)「やさしいJava第3版」
高橋 麻奈(2005)「やさしいJava活用編第2版」
高橋 和也 他(2004)「[増補改訂版]Java逆引き大全550の極意」
ITフロンティア(2005)「[増補改訂版]FlashActionScript逆引き大全550の極意」
大津 真(2008)「ActionScript3.0プログラミング入門」
林 拓也(2008)「速習WebデザインActionScript3.0」
[ © 2010 Ryuji.Akasaki All
rights reserved. ]