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

WordQuiz

WordQuiz 二者択一

904
WordQuiz.exe(5)
WordQuiz.hsp(5)

;WordQuiz
;copyleft 2007-06-16 sugiura@nagoya-u.jp

; 1) 目的: 単語の意味の確認
; 2) 特徴: ランダムに出題される
; 3)   : 選択肢もランダムに配置される(ここがミソ)
; 4)   : テストではない点に注意。

; 前から順番に、順番を対応させて、問い・正答・誤答 を記述すること

toi = "language", "include", "offer", "information","resource", "register","public", "search","local", "lean"
seitou = "ことば", "ふくむ", "提供する", "情報", "資源", "登録する", "公の", "探す", "地元の", "やせた"
gotou = "いぬ", "たべる", "命令する", "面接", "醤油", "計算する", "ただの", "届く", "田舎の", "まなぶ"


;------------------出題をランダム順にする-----------------------

dim R,length(toi)			; 配列の数を問題数にする

randomize			; 乱数を不規則化
repeat length(toi)		; 問題数の数だけ繰り返す
	x = rnd(cnt+1)		; cntは0から始まるので1を足して乱数の発生をはじめる
	R(cnt) = R(x)		; 乱数番目の配列の数を繰り返し回数番目の数に代入
	R(x) = cnt + 1		; 繰り返しの回数+1を乱数番目の配列に入れる
loop

;-------------------これで配列Rの中には、1から10の数字がランダムに並んでいる




*start


;-----------------プログラムの本流------------------------

	i = 0

*main

		cls

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

	
	gosub *settei

	mon = i + 1			; 問題番号を表示するために1を足す。

	mes "第"+mon+"問"	; 問題番号を提示
	mes ""

	j = R(i) - 1		; Rの中身は、1から10なので1を引いて配列の番号に対応させる

	pos 200, 250
	color 0,0,0
	font "MS 明朝", 48, 16
	mes toi(j)			; 問題文を提示

	hidari = seitou(j)
	migi = gotou(j)

	i = i + 1

	randomize
	tmp = rnd(2)		; 0からはじめて2つの数字(すなわち、0と1)をランダムに出す

	if tmp = 0 {		; 0がでたら、正当を左側に配置
		 h = 170 : m = 290
		}
		else{			; そうでないばあいは、誤答を左側に配置
		m = 170 : h = 290
		}

	pos h, 350
	button  goto hidari, *seikai

	pos m, 350
	button  goto migi, *matigai
	
	stop

*seikai
	pos 400, 400
	color 0, 255, 0
	mes "正解"
	wait 100
	cls
	goto *main

*matigai
	pos 400, 400
	color 255, 0, 0
	mes "間違い"
	wait 100
	cls
	goto *main

	
	
;---------------終了する際に-----------------------------
*owari
cls
color 200, 100, 100: boxf			; 場面の変化を背景の色で伝える。

color 0,0,0
font "MS 明朝", 24, 1
pos 70, 100

mes ""
mes "これでおわります"	

pos 70, 350
button goto "はい", *owari2

pos 190, 350
button goto "再挑戦", *start
stop

*owari2

wait 100

end

;--------------------------sub-------------------------

*settei
cls
color 255, 255, 200: boxf			; 背景をクリーム色に
color 0,0,0
font "M S 明朝", 24, 1
pos 70, 100
mes ""
mes "正しいほうをクリックしてください"
mes ""
mes "−−−−−−−−−−−−−−−−"
mes ""
return