こんにちは!ニュージーランドで高校生をしている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ファイルにまとめる。
というのが完成したので記事に日記的な感じで書きます。
CSVにした理由
今まで、英単語とその和訳は2つのjson
ファイルに分けていました。csv
に変えようと思った理由は以下です。
- Excelで開ける
- 単語の追加、削除が簡単にできるようになる。
- 単語リストが読みたいときに2つのファイルに分けられてあるより1つのほうが読みやすい。
- 管理がしやすい。
- 単語数が分かりやすい。
やったこと
.json
を.csv
に変えるため2つのファイルの合体とC#の編集を行いました。
ファイルの合体
まず、dictionary.json
とtranslated.json
をdictionary.csv
にまとめました。この時、デフォルトの設定では保存した際に日本語が???
になってしまうのでエンコーディングをUTF-8に設定しました。
Pathを変えた
次に下のコードはもういらないので消しました。
public static string translatedPath = filesPath + "translated.json";
次に下のdictionary.json
をdictionary.csv
に変えました。
public static string dictionaryPath = filesPath + "dictionary.json";
コードを変えた
今のままでは打つ単語が英単語,語彙
になって和訳はエラーになるので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#のスクリプトです。今回この記事に含まなかった修正も少々あります。前回と同じく、改善点などあったら教えていただけると嬉しいです。
締め
ここまで読んでくださった方々、ありがとうございました。学校が始まったのでちょっとずつ更新していこうかなと思います。
タイピングゲームを作る記録 #1はこちらです。
ブログ村に参加しています。クリックしていただけると嬉しいいです!ランキングも上がります!