;10monQuizBb ;copyleft 2007-05-10 sugiura@nagoya-u.jp ;2022-06-10 説明修正 ; 1) データを記録し、ファイルとして保存する。 ; 2) 問題番号を出す。 ; 3) 条件に応じてメッセージを出す。 ; 4) 色を変えることで、場面の変化を伝える。 toi(0) = "アメリカの首都はニューヨークである" seitou(0) = 0 toi(1) = "カリフォルニアの州都はロサンジェルスである" seitou(1) = 0 toi(2) = "ネバダ州のリノはロサンジェルスよりも西にある" seitou(2) = 1 toi(3) = "アメリカの公用語は英語である" seitou(3) = 0 toi(4) = "バーモント州はカレーで有名である" seitou(4) = 0 toi(5) = "アメリカには国民健康保険がない" seitou(5) = 1 toi(6) = "アメリカには戸籍がない" seitou(6) = 1 toi(7) = "アメリカで生まれた子は無条件でアメリカの国籍を得る" seitou(7) = 1 toi(8) = "アメリカの政府はアメリカの紙幣を発行していない" seitou(8) = 1 toi(9) = "グアムはハワイ州に属する" seitou(9) = 0 ;------------------記録する準備--------------------------- notesel kiroku ; 記録する「ノート」の領域を設ける ;-----------------プログラムの本流------------------------ *main for i, 0, 10, 1 gosub *settei mon = i + 1 ; 問題番号を表示するために1を足す。 mes "第"+mon+"問" ; 問題番号を提示 mes "" mes toi(i) ; 問題文を提示 if seitou(i) == 1 { gosub *yes } else { gosub *no } next ;---------------終了する際に----------------------------- *owari cls color 255, 10, 10: boxf ; 場面の変化を背景の色で伝える。 color 0,0,0 font "M S 明朝", 24, 1 pos 70, 100 mes "" wariai = maru * 10 mes "正答率は"+wariai+"%でした" mes "" if wariai >= 80 : mes "よくできました" ; 正答率に応じてメッセージを出す if wariai <= 50 : mes "もっとがんばりましょう" wait 300 noteadd "正答率は"+wariai+"%でした" ; 「ノート」の最後に正答率も記録 notesave "log.txt" ; 「ノート」を保存するファイル名を設定し保存する。 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 *yes repeat stick key if key==256 : noteadd "左○" : maru = maru + 1 : mes "Yes!" : wait 100 : break ; 「ノート」にデータを記録 if key==512 : noteadd "右×" : batu = batu + 1 : mes "No!" : wait 100 : break await 1 loop return *no repeat stick key if key==256 : noteadd "左×" : batu = batu + 1 : mes "No!" : wait 100 : break if key==512 : noteadd "右○" : maru = maru + 1 : mes "Yes!" : wait 100 : break await 1 loop return