英会話は苦手という方も多いことでしょう。しかし、日常会話で話す単語というのは、だいたい2000語程度と言われています。そのため、頻出英単語の2000語をマスターすると良いそうです。そこで、なでしこで英単語ゲームを作ってみましょう。自作ゲームを作るなら、楽しく英単語を覚えることができます。
なでしこで手軽に自作ゲームを作ろう
Webブラウザ上で、手軽に遊べるゲームは、とても楽しいものです。なでしこ3を使えば、グラフィックスを多用したゲームも作ることができます。しかし、もっと手軽に、心理テストや英単語テストと言った簡単なゲームを作ることもできます。今回は、英単語データを利用して、楽しく英単語勉強に活用できるゲームを作ってみましょう。
英単語を効率よく英単語を覚えよう
筆者自身も英会話は苦手です。そこで、なんとか、日常会話で使う頻出英単語2000語をマスターしようと努力したことがあります。その際に、頻出英単語2000語を、以下のWebサイトにまとめました。今回、英単語ゲームを作るのにあたって、この英単語データを利用してみましょう。なお、この英単語データと和訳データは、パブリックドメインの英和辞書データから抽出したものなので、読者の皆さんも自由に活用してください。
頻出英単語 2000語の一覧
https://kujirahand.com/web-tools/EnglishFreq.php?q=2000
Excelで頻出英単語の表をCSV形式で保存する
なでしこのプログラムから活用するために、この2000語のデータをCSVファイルに変換して保存しましょう。その方法ですが、マイクロソフトのExcelを活用しましょう。
最初に、Webブラウザで上記のページを開き、ページ全体をクリップボードにコピーします。そして、Excelのワークブックに貼り付けます。
そして、ページのタイトルなど、不要な行を削除します。そして、CSV形式でブックを保存します。Excelを閉じた後、改めて、保存したCSVファイルを改めて読み込んでみましょう。すると、次のように綺麗なCSVデータが作成されているのを確認できます。このようにして、手軽に英単語データ2000語のCSVを作ることができました。
今回、Excelを持っていない方のために、このようにして作成したCSVファイルをWebサイトにアップしました。なでしこの簡易エディタからCSVファイルにアクセスできるように、セキュリティ制約を自由にしました。
頻出英単語2000語の取得URL:
https://api.aoikujira.com/eitango2000/csv.php
ゲームを作ってみよう
それでは、英単語ゲームを作ってみましょう。ここでは、簡単に日本語を表示し、そこから英単語を入力し、その後正解かどうかを表示するプログラムを作ってみましょう。2000問あるので、途中でテストを中断したいときは、回答を空にするか[キャンセル]ボタンを押します。
以下が、そのプログラムです。なでしこ簡易エディタに以下のプログラムを貼り付けて実行ボタンを押しましょう。
「単語データをダウンロードします。」と表示。
単語URL=「https://api.aoikujira.com/eitango2000/csv.php」#---(*1)
# 単語データのダウンロード ---(*2)
単語URLへGET送信した時には
対象を改行で区切って、英会話テスト開始。
ここまで。
●(データで)英会話テスト開始
データを配列シャッフル 。# --- (*3)
データを反復
# 英単語と意味に分ける --- (*4)
単語=対象の「,」まで切り取る。
意味=対象の1から((単語の文字数)+1)だけ文字削除
# 出題 --- (*5)
「{意味}」を尋ねて、答えに代入。
もし、答えが空ならば、抜ける。
結果は「ハズレ(ToT)」
もし、単語=答えならば、結果は「当たり(^v^)y」
「{結果}{改行}{単語}={意味}」を言う。
ここまで。
ここまで。
プログラムの流れを確認してみましょう。プログラムの(*1)で、英単語CSVのURLを指定します。もし、自分でオリジナルの英単語CSVを作った場合は、そのURLに変えるのですが、セキュリティの制約があるので、この次のプログラムで方法を紹介します。
プログラムの(*2)の部分では、単語データのCSVファイルをダウンロードして、英会話テストを実行します。(*3)の部分では、データをシャッフルし、一つずつテストを出題します。(*4)の部分では、英単語と意味にデータを分けます。(*5)の部分では、質問ダイアログを出してテストを出題します。そのために『尋ねる』命令を使います。そして、ユーザーからの入力に応じて、正解か不正解の結果を表示します。
なお、『尋ねる』命令を使うと、簡単に質問ダイアログを出すことができます。簡単にテストしてみましょう。
「お名前は?」と尋ねて、答えに代入。
答えを言う。
プログラムを実行すると、『尋ねる』命令で、質問ダイアログを表示します。『言う』命令では、メッセージを表示するだけのダイアログを表示します。
自作CSVデータを使う場合
せっかくの自作テストなので、自作のCSVデータを使ってみたいと思うことでしょう。しかし、Webブラウザのセキュリティ制約のため、異なるドメインのデータは自由に読み出せない仕組みになっています。そこで、なでしこのプログラム(HTMLファイル)と、独自CSVを同じWebサーバーにアップするなら、その制約を回避できます。(あるいは、サーバー側の設定で、access-control-allow-originヘッダを出力するようにします。)
この場合、以下のようなHTMLを記述することになります。
<html><head>
<script src="https://nadesi.com/v3/3.0.41/release/wnako3.js?run" defer></script>
<script type="なでしこ">
#
# ここになでしこのプログラムを記述
#
</script>
</head><body>
</body></html>
詳しくは、なでしこ3のマニュアル「HTMLへの埋め込み方法」をご覧ください。
まとめ - 勉強を楽しくしよう
以上、なでしこで、英単語テストを作ってみました。CSVファイルを用意することで、自分だけのテストを簡単に作ることができます。筆者は学生時代に、いろいろな暗記ゲームを作って、楽しく勉強しました。今回は、英単語の意味から単語を入力するゲームを作りましたが、四択問題にしたり、間違った単語を少し後に再び出題するなど、工夫次第でとても面白くなるので、挑戦してみてください。
自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2005年IPAスーパークリエイター認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。