ラジオボタンの使い方

  1. 単純分岐:選択肢によって次のステートを変える
  2. 参照ファイルの選択:選択肢によってFBで参照させるファイルを変える
  3. 正誤判定:正誤判定して正誤の2つで分岐先を変える
  4. 正誤判定:正誤判定して選択肢によって分岐先を変える
  5. 正誤判定:正解するまで同じ問題を繰り返す
  6. 一定時間以上読ませる

単純分岐

(RADIO-1 ((*prog (t ((OPTIONS = ("選択肢1" "選択肢2" "選択肢3")) ;ここから (GO = (ID1 ID2 ID3)))) ;ここまで ) "メッセージ" <BR> ;ここも変更 ) (RADIO $OPTIONS) $GO ( (t ((OPTIONS = (*NTHS $_SW $OPTIONS)) (GO = (*NTHS $_SW $GO)) (PASS <- $_NOW))) ) ( (t ($OPTIONS "を選びました。")) ) ;DISPモードなら削除可 )

参照ファイルの選択

;以下で、FBに登録するファイルは、imgディレクトリィの下に置く ;「次へ進む」を選択するとGOに登録した行き先に進む(ファイルを閲覧した時は、再度自分に戻る) (RADIO-5 ((*prog (t ((OPTIONS = ("選択肢1" "選択肢2" "選択肢3")) ;ここから (FB = ("FB1.txt" "FB2.txt" "FB3.txt")) (GO = ID1))) ;ここまでが設定パラメタ (t ((OPTIONS <- "次へ進む") )) ) "メッセージ" <BR> ;ここも変更 ) (RADIO $OPTIONS) $GO ( (t ((L = (*LEN $OPTIONS)))) ((_SW < $L) ((GO = self) (FB = (*NTHS $_SW $FB)))) ) ( ((GO = self) ("以下を参照して下さい。" <BR> ("htm" $FB))) ) )

正誤判定:正誤の2つの分岐をする時

(RADIO-2 ((*prog (t ((OPTIONS = ("選択肢1" "選択肢2" "選択肢3")) ;ここから (GO = (ID1 ID2)) (CORRECT = 1) (FB = ("FB1" "FB2" "FB3")) )) ;ここまで (t ((CORRECT = (*NTHS $CORRECT $OPTIONS)))) ;次の2行は、並び替えをする場合 (t ((L = (*LEN $OPTIONS)) (L = (*RANDOM $L $L)) (OPTIONS = (*NTHS $L $OPTIONS)))) ((FB != nil) ((FB = (*NTHS $L $FB))) ) ;ここまでの2行は、並び替えをする場合 ) "メッセージ" <BR> ;ここも変更 ) (RADIO $OPTIONS) $GO ( (t ((OPTIONS = (*NTHS $_SW $OPTIONS)) (GO = (*LAST $GO)))) ((FB != nil) ((FB = (*NTHS $_SW $FB)))) ((FB = nil) ((FB = ""))) ((OPTIONS = $CORRECT) ((GO = (*FIRST $GO))(PASS <- $_NOW))) ) ( ((OPTIONS = $CORRECT) ("正解です。" <BR> $FB <BR>)) (t ("間違いです。" <BR> $FB <BR>)) ) )

正誤判定:選択肢によって分岐先を変える

(RADIO-2 ((*prog (t ((OPTIONS = ("選択肢1" "選択肢2" "選択肢3")) ;ここから (GO = (ID1 ID2 ID3)) (CORRECT = 1) (FB = ("FB1" "FB2" "FB3")) )) ;ここまで (t ((CORRECT = (*NTHS $CORRECT $OPTIONS)))) ;次の2行は、並び替えをする場合 (t ((L = (*LEN $OPTIONS)) (L = (*RANDOM $L $L)) (OPTIONS = (*NTHS $L $OPTIONS)) (GO = (*NTHS $L $GO)))) ((FB != nil) ((FB = (*NTHS $L $FB))) ) ;ここまでの2行は、並び替えをする場合 ) "メッセージ" <BR> ;ここも変更 ) (RADIO $OPTIONS) $GO ( (t ((OPTIONS = (*NTHS $_SW $OPTIONS)) (GO = (*NTHS $_SW $GO)))) ((FB != nil) ((FB = (*NTHS $_SW $FB)))) ((FB = nil) ((FB = ""))) ((OPTIONS = $CORRECT) ((PASS <- $_NOW))) ) ( ((OPTIONS = $CORRECT) ("正解です。" <BR> $FB <BR>)) (t ("間違いです。" <BR> $FB <BR>)) ) )

正誤判定:正解するまで実施

(RADIO-3 ((*prog (t ((OPTIONS = ("選択肢1" "選択肢2" "選択肢3")) ;ここから (GO = ID1) (CORRECT = 1) (FB = ("FB1" "FB2" "FB3")) )) ;ここまで ((_FROM != self) ((COUNT = 0))) ;次の2行は、並び替えをする場合 (t ((CORRECT = (*NTHS $CORRECT $OPTIONS)) (L = (*LEN $OPTIONS)) (L = (*RANDOM $L $L)) (OPTIONS = (*NTHS $L $OPTIONS)))) ((FB != nil) ((FB = (*NTHS $L $FB)))) ;上の2行は、並び替えをする場合 ) "メッセージ" <BR> ;ここも変更 ) (RADIO $OPTIONS) ( ((OPTIONS = $CORRECT) $GO) (t self) ) ( (t ((OPTIONS = (*NTHS $_SW $OPTIONS)) (COUNT += 1))) ((FB != nil) ((FB = (*NTHS $_SW $FB)))) ((FB = nil) ((FB = ""))) ((OPTIONS = $CORRECT) ((PASS <- ($_NOW $COUNT)))) ) ( ((OPTIONS = $CORRECT)(FB != "") ($OPTIONS "を選びました。正解です。" <BR> $FB <BR>)) ((FB != "") ($OPTIONS "を選びました。残念ながら、間違いです。" <BR> $FB <BR>)) ((OPTIONS = $CORRECT) ($OPTIONS "を選びました。正解です。" <BR>)) (t ($OPTIONS "を選びました。残念ながら、間違いです" <BR>)) ) )

一定時間以上読ませる

(RADIO-4 ((*prog (t ((LIMIT = 30) ;ここから (GO = ID1))) ;ここまで ((_FROM != self) ((TIME = 0))) ) "メッセージ" <BR> ;ここも変更 ) (RADIO "次へ進む") ( ((TIME >= $LIMIT) $GO) (t self) ) ( (t ((TIME += $_TIME))) ((TIME >= $LIMIT) ((PASS <- $_NOW))) ) ( ((TIME < $LIMIT) "ちゃんと読んでください。") ) )