中学・高校・大学を海外で過ごしている日々のブログ

12歳から僕は日本の学校に行かずに海外に留学、移住しました。僕はWestlake Boys High Schoolという高校を卒業し、オークランド大学に通っています。

Unityで英単語が学べるタイピングゲームを作る記録 #2

こんにちは!ニュージーランドで高校生をしている17歳の太朗@taroj1205です。現在、Westlakeという高校に通っています。
金曜日からとうとう学校が始まりました。11月からの長い休みが終わってしまいました。

僕が去年決めた科目にはすべて入ることができたようです。今年の科目は、

  • English Visual (NCEA Level 3)
  • Calculus (NCEA Level 3)
  • Statistics (NCEA Level 3)
  • Physics (NCEA Level 3)
  • Japanese (NCEA Level 3)
  • Accounting (NCEA Level 3)

です。どの科目も良さそうな先生たちだったので頑張っている姿を見せれば、向こうも一生懸命助けてくれると思います。今年も数字系が多いです😅

今回は前回の記事で書いた#TODOにあった

単語リストを1つのcsvファイルにまとめる。

というのが完成したので記事に日記的な感じで書きます。

Unityでタイピングゲーム #1

CSVにした理由

今まで、英単語とその和訳は2つのjsonファイルに分けていました。csvに変えようと思った理由は以下です。

  • Excelで開ける
  • 単語の追加、削除が簡単にできるようになる。
  • 単語リストが読みたいときに2つのファイルに分けられてあるより1つのほうが読みやすい。
  • 管理がしやすい。
  • 単語数が分かりやすい。

やったこと

.json.csvに変えるため2つのファイルの合体とC#の編集を行いました。

ファイルの合体

まず、dictionary.jsontranslated.jsondictionary.csvにまとめました。この時、デフォルトの設定では保存した際に日本語が???になってしまうのでエンコーディングUTF-8に設定しました。

Pathを変えた

次に下のコードはもういらないので消しました。

public static string translatedPath = filesPath + "translated.json";

次に下のdictionary.jsondictionary.csvに変えました。

public static string dictionaryPath = filesPath + "dictionary.json";

github.com

コードを変えた

今のままでは打つ単語が英単語,語彙になって和訳はエラーになるのでcsvを英語と日本語に分けないといけません。

string[] dictionary = File.ReadAllLines(GlobalVariables.dictionaryPath, Encoding.UTF8);
// Split the dictionary string into two arrays, 'en' and 'ja'
string[] en = new string[dictionary.Length];
string[] ja = new string[dictionary.Length];
for (int i = 0; i < dictionary.Length; i++)
{
    string[] split = dictionary[i].Split(',');
    en[i] = split[0];
    ja[i] = split[1];
}

あとは下のif statementでdictionary.csvにある英単語と語彙の数が合っているかのチェックを入れました。

if (en.Length == ja.Length) {}
else
{
    jText.text = "単語の数が合っていません";
    eText.text = "The amount of vocab does not match";
}

#TODO

TODOリストをアップデートしました。完了したものには取り消し線を入れます。

  • スタートメニュー
    • ここには設定、スタート、リセットなどのオプションを入れる予定です。
  • Escを押したとき用のメニュー
    • 現在、Escはリセット用のボタンですが、他のゲームにもあるようにゲームを中断するためのメニューにします。
  • スコア表示
    • +の時は緑、-の場合は赤など色もつけたいと思います。
  • 正確さの表示
    • 80%の時は緑、それ以下の場合は赤などにする予定です。
  • WPM表示
    • どのように計算して打っていない時の判断方法などは難しそうなので、最後の方に追加すると思います。
  • 単語リストを1つのcsvファイルにまとめる。
    • 1列目に英単語を置き、その横に和訳を置くと見やすくなり、編集もしやすくなるので変える予定です。
  • 過去に出た単語
    • 過去に出た単語をときどき出す。
      • 打ち間違えが多かった単語などもできると尚良し。
    • 過去に出てきた単語に印をつける。
      • 打った回数や正確性表示もありかも。

余分な部分を消すなどをして、コードを改善する。

コード

2月5日現在のC#スクリプトです。今回この記事に含まなかった修正も少々あります。前回と同じく、改善点などあったら教えていただけると嬉しいです。

github.com

締め

ここまで読んでくださった方々、ありがとうございました。学校が始まったのでちょっとずつ更新していこうかなと思います。

タイピングゲームを作る記録 #1はこちらです。

taroj1205.hatenablog.com


ブログ村に参加しています。クリックしていただけると嬉しいいです!ランキングも上がります!

にほんブログ村 海外生活ブログへにほんブログ村 海外生活ブログ ニュージーランド情報へブログランキング・にほんブログ村へPVアクセスランキング にほんブログ村