*disclaimer
603010
FlashCard04byHSP 音を聞いて、英単語をタイプする
603009
flashCard04c.hsp(167)
text.csv(207)
- 音声ファイルはFlashCard03byHSPのものを使ってください。
; Flash Card ; version 04 ; copyleft 2017-07-06 sugiura@nagoya-u.jp ; 2019-06-28 バグ修正 ; テキストファイルから、一行ずつ、カンマ区切りで2項目、読み込む ; テキストファイルは text.csv というファイル名で、 ; 一行二項目をカンマ区切りにして、同じフォルダーに入れておく。 ; 音声ファイルを、項目の順序に対応させ、ファイル名を数字にしておく pos 100, 100 font "MS ゴシック", 36, 17 mes "Flash Card 04" mes "" mes "" mes "音声が流れます" mes "" mes "単語をタイプしてください" mes "" wait 200 *start cls notesel text ; 事前に読み込みバッファ設定 noteload "text.csv" ; CSVファイルの読み込み gyosuu = notemax ; notemaxは、メモリーパッド内の行数。 pos 100, 100 font "MS ゴシック", 36, 17 mes "単語数は、"+gyosuu+"語です。" ;------------------------------------テキストファイルの読み込み sdim wordlist, 2, notemax item = "" repeat gyosuu ; 行数(語数)分だけ繰り返す。 noteget item, cnt ; noteget で行単位で読みだす。cntで読み込み回数をインデックス番号とする split item, ",", wordlist(0,cnt), wordlist(1,cnt) item = "" await 1 loop wait 100 ;-------------------------------------音声ファイルの読み込み kaku = ".mp3" ; 音声ファイル名の拡張子 repeat gyosuu ; 項目の数だけ音声ファイルがあることになっている ban = cnt + 1 ban = str(ban) ; 文字列型に namae = ban + kaku ; 音声ファイル名を順に作る mmload namae , cnt+1 ; 音声ファイルを番号順にバッファーに入れて番号をつける pos 150, 150 mae = gyosuu - cnt ; カウントダウン mae = str(mae) ; 文字列型に font "MS ゴシック", 36, 17 mes mae + "秒前" await 1000 ; 秒読み cls loop ;--------------------------------------学習の開始 pos 100, 100 font "MS ゴシック", 36, 17 mes "では、はじめます。" mes "" mes "" pos 300, 300 button goto "Start", *main stop *main ;-------------------------------------ランダマイズ randomize repeat length(wordlist) x = rnd(cnt+1) R(cnt) = R(x) R(x) = cnt + 1 await 1 loop i = 0 *main2 cls ;mes "Now i is "+i if i == length(R) : goto *owaru ; 問題数の上限に達したら終わり monme = str(i+1) ;mes "Now playing "+R(i) mmplay R(i) ; 対応する音を鳴らす i = i + 1 pos 200, 100 font "MS ゴシック", 36, 17 mes monme + "問目" mes "" kotae = "" input kotae, 150, 24 button gosub "Check", *kotaeawase wait 10 pos 200, 300 button "Next", *main2 ; 行き先に注意 *main2 mes "" button "Quit", *owaru stop ;------------------------------------ 一通りおわり、繰り返すか尋ねる *owaru cls wait 100 pos 200, 100 font "MS ゴシック", 36, 17 mes "おわりますか?" mes "" mes "" font "MS ゴシック", 36, 17 ;button goto "Again!", *start button goto "Again!", *main mes "" button goto "おわります", *owari stop ;----------------------------------------おわり *owari cls wait 5 pos 200, 100 font "MS ゴシック", 36, 17 mes "じゃ、またね。" wait 100 end ; ------------sub-------------- *kotaeawase if kotae == wordlist(0, R(i)-1){ pos 400, 150 font "MS ゴシック", 36, 17 mes wordlist(0, R(i)-1) mes wordlist(1, R(i)-1) mes "" color 0,0,255 mes "Good" wait 100 }else{ pos 400, 150 font "MS ゴシック", 36, 17 mes wordlist(0, R(i)-1) mes wordlist(1, R(i)-1) mes "" color 255,0,0 mes "Wrong" wait 150 } return
https://sugiura-ken.org/wiki/