トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

FlashCard02byHSP

900
flashCard02.hsp(23)
text.csv(26)

; Flash Card
; version 02
; copyleft 2017-06-29 sugiura@nagoya-u.jp
;          2017-07-04 バグ修正 問題数の実際と表示のズレ修正

; テキストファイルから、一行ずつ、カンマ区切りで2項目、読み込む
; テキストファイルは text.txt というファイル名で、
; 一行二項目をカンマ区切りにして、同じフォルダーに入れておく。

*start
cls

pos 100, 100
font "MS ゴシック", 48, 17

mes "では、はじめます。"

notesel text				; 事前に読み込みバッファ設定
;noteload "text.txt"		; テキストファイルの読み込み
noteload "text.csv"		; CSVファイルの読み込み

gyosuu = notemax				; notemaxは、メモリーパッド内の行数。


;wordlist = ""

sdim wordlist, 2, notemax

item = ""

repeat gyosuu				; 行数(語数)分だけ繰り返す。
	noteget item, cnt		; noteget で行単位で読みだす。cntで読み込み回数をインデックス番号とする
	split item, ",", wordlist(0,cnt), wordlist(1,cnt)
	item = ""
	await 1
loop


randomize
repeat length(wordlist)
	x = rnd(cnt+1)
	R(cnt) = R(x)
	R(x) = cnt + 1
	await 1
loop

cls

pos 100, 100
font "MS ゴシック", 48, 17

mes "単語数は、"+gyosuu+"語です。"
mes ""
mes "時間制限1秒"
mes ""
pos 300, 300
button goto "OK", *main
stop


; i = 0

*main
	i = 0
		cls

*main2
	
if i = length(R) : goto *owaru   ; 問題数の上限に達したら終わり

;	i = i + 1

	cls
	
	monme = str(i+1)
;	monme = str(i)
	
	pos 200, 150
	font "MS ゴシック", 48, 17
	mes monme+": "+wordlist(1, R(i)-1)
	wait 100
	mes "  ↓"
	mes "  "+wordlist(0, R(i)-1)
	wait 50
		i = i + 1
	pos 300, 300
	button "Next", *main2
;		button "Next", *main
	mes ""
	button "Quit", *owaru
	stop


; おわり
*owaru
	cls
	
wait 100
	pos 200, 100
	font "MS ゴシック", 48, 17
	
mes "おわりますか?"
mes ""
mes ""

font "MS ゴシック", 48, 17
button goto "Again!", *start
mes ""
button goto "おわります", *owari
stop


*owari
	cls
	wait 50
	pos 200, 100
	font "MS ゴシック", 48, 17
	mes "じゃ、またね。"
	wait 150
end