on startQandA global teacherMode global nProblem, nRightAns if the cantModify of this stack is false then --変更可=教師用スタックの場合 setMenuBarQuestion setTeacherMode else setStudentMode end if set the userModify to true end startQandA ----------------- on endQandA if there is a menu "自習ドリル" then delete menu "自習ドリル" enable menu 2 enable menu 3 enable menu 4 end endQandA -------------- on openBkgndQuestion end openBkgndQuestion --------------- on closeBkgndQuestion end closeBkgndQuestion --------- on openQuestion global teacherMode, answered put false into answered prEstimate if teacherMode is true then showAllFandB else showFandB end if end openQuestion ---------- on setMenuBarQuestion if there is not a menu "自習ドリル" then create menu "自習ドリル" put "teacherMode" into menu "自習ドリル" set menuMessage of menuItem "teacherMode" of menu "自習ドリル" to "changeMode" put "質問カード作成" after menu "自習ドリル" set menuMessage of menuItem "質問カード作成" of menu "自習ドリル" to "makeQuesCard" end if end setMenuBarQuestion ------------- on closeQuestion global rightAnsLine if the first word of field "CardType" is 10 then set textStyle of line rightAnsLine of field "問題文" to plain end if hideAllFandB end closeQuestion --------------- on mouseUp if the short name of this bkgnd is not "Question" then pass mouseUp get the short name of the target if the first word of field "CardType" is 10 then if it is "問題文" then mouseUpType10 else answer "問題文中の選択肢をクリックしてください" end if else if it is "そうでない" then if field "正解" is 0 then estimate 1 else estimate 0 else if it is "そのとおり" then if field "正解" is 1 then estimate 1 else estimate 0 else if it is "解説表示" then show field "解説" end if end mouseUp -------------- on enterInField if the target is bkgnd field "解答欄" then checkAnswer pass enterInField end enterInField --------------- on returnInField if the target is bkgnd field "解答欄" then checkAnswer pass returnInField end returnInField ----------------- on checkAnswer if the first line of me is the first line of field "正解" then estimate 1 else estimate 0 end checkAnswer ------------- on mouseUpType10 global userAns global rightAnsLine put the second word of the clickLine into userAns put the first line of field "正解" into possibleAns put the number of words of possibleAns into nn put false into ansFlag repeat with n=1 to nn if userAns is word n of possibleAns then put true into ansFlag exit repeat end if end repeat if ansFlag is false then answer "選択肢のある行をクリックしてください" exit mouseUpType10 end if set textStyle of line userAns of field "問題文" to bold wait for 30 set textStyle of line userAns of field "問題文" to plain put the second line of field "正解" into rightAnsLine set textStyle of line rightAnsLine of field "問題文" to shadow if rightAnsLine is userAns then estimate 1 else estimate 0 end mouseUpType10 --------------------- on showAllFandB repeat with n = 1 to number of fields show field n set the lockText of field n to false end repeat repeat with n = 1 to number of bkgnd buttons show bkgnd button n end repeat end showAllFandB -------------------- on showFandB if field "標題" is not empty then show field "標題" else hide field "標題" end if show field "問題文" show field "正解率" repeat with n = 1 to number of fields set the lockText of field n to true end repeat put the first line of field "CardType" into theType if theType is 1 then show bkgnd button "Next" else if theType is 2 then show bkgnd button "そのとおり" show bkgnd button "そうでない" else if theType is 3 or theType is 4 then if theType is 3 then put "答えをここにタイプ" into field "解答欄" else put "答えをタイプ(文字数は、問題文の▲の数と同じ)してからリターンキーを押す" into field "解答欄" end if show field "解答欄" select text of field "解答欄" set the lockText of field "解答欄" to false end if end showFandB ------------------- on hideAllFandB repeat with n = 1 to number of fields hide field n end repeat repeat with n = 1 to number of bg buttons hide bg button n end repeat end hideAllFandB -------------- on changeMode global teacherMode global answered if teacherMode is false then setTeacherMode else put false into answered setStudentMode end if end changeMode ------------------ on setTeacherMode global teacherMode put true into teacherMode set the checkMark of menuItem "teacherMode" of menu "自習ドリル" to true set userLevel to 5 enable menu 2 enable menu 3 enable menu 4 if the short name of this bkgnd is "Question" then showAllFandB end setTeacherMode ----------------- on setStudentMode global teacherMode put false into teacherMode if there is a menu "自習ドリル" then set the checkMark of menuItem "teacherMode" of menu "自習ドリル" to false end if set userLevel to 2 disable menu 2 disable menu 3 disable menu 4 if the short name of this bkgnd is "Question" then hideAllFandB showFandB end if end setStudentMode ----------------- on arrowKey direction global teacherMode global answered if teacherMode is true then if direction is "right" then visual effect scroll left else visual effect scroll right pass arrowKey else if answered is true and direction is "right" then goNext end if end arrowKey ---------- on goNext send "goNext" to stack "ResourceForLecture" end goNext ------------------- on makeQuesCard if there is not a background "Question" then doMenu "新規バックグラウンド" lock screen set the name of this bkgnd to "Question" doMenu "新規フィールド" set the name of the last bg field to "標題" set the rectangle of the last bg field to 30,26,370,55 set the fixedLineHeight of the last bg field to true set the style of the last bg field to shadow set the textFont of the last bg field to "細明朝" set the textSize of the last bg field to 18 set the textstyle of the last bg field to extend doMenu "新規フィールド" set the name of the last bg field to "問題文" set the rectangle of the last bg field to 6,70,525,315 set the fixedLineHeight of the last bg field to true set the style of the last bg field to shadow set the textFont of the last bg field to "細明朝" set the textSize of the last bg field to 18 doMenu "新規ボタン" set the name of the last bg button to "解説表示" set the rectangle of the last bg button to 470,417,518,468 set the icon of the last bg button to "Background Art" doMenu "新規フィールド" set the name of the last bg field to "解説" set the rectangle of the last bg field to 5,325,525,470 set the fixedLineHeight of the last bg field to true set the style of the last bg field to scrolling set the textFont of the last bg field to "細明朝" set the textSize of the last bg field to 18 doMenu "新規フィールド" set the name of the last bg field to "CardType" set the rectangle of the last bg field to 585,40,630,55 set the textFont of the last bg field to "細明朝" set the textSize of the last bg field to 12 doMenu "新規フィールド" set the name of the last bg field to "正解率" set the rectangle of the last bg field to 535,80,625,96 set the style of the last bg field to shadow set the textFont of the last bg field to "細明朝" set the textSize of the last bg field to 12 doMenu "新規フィールド" set the name of the last bg field to "正解" set the rectangle of the last bg field to 535,185,635,230 set the style of the last bg field to scrolling set the textFont of the last bg field to "細明朝" set the textSize of the last bg field to 12 doMenu "新規フィールド" set the name of the last bg field to "解答欄" set the rectangle of the last bg field to 535,340,635,420 set the style of the last bg field to shadow set the textFont of the last bg field to "細明朝" set the textSize of the last bg field to 12 doMenu "新規フィールド" set the name of the last bg field to "再学習" set the rectangle of the last bg field to 535,255,635,335 set the style of the last bg field to scrolling set the textFont of the last bg field to "細明朝" set the textSize of the last bg field to 12 doMenu "新規ボタン" set the name of the last bg button to "そうでない" set the rectangle of the last bg button to 555,350,621,376 set the script of the last bg button to empty doMenu "新規ボタン" set the name of the last bg button to "そのとおり" set the rectangle of the last bg button to 560,390,621,413 set the script of the last bg button to empty doMenu "新規ボタン" set the name of the last bg button to "Next" set the rectangle of the last bg button to 595,440,625,470 set the icon of the last bg button to "XL Next Arrow" set the showName of the last bg button to false set the style of the last bg button to transparent set the script of the last bg button to~ "on mouseUp"&return&"goNext"&return&"end mouseUp" doMenu "新規ボタン" set the name of the last bg button to "Previous" set the rectangle of the last bg button to 545,440,575,470 set the icon of the last bg button to "XL Prev Arrow" set the showName of the last bg button to false set the style of the last bg button to transparent set the script of the last bg button to~ "on mouseUp"&return&"go prev"&return&"end mouseUp" doMenu "新規ボタン" set the name of the last bg button to "SetMenu" set the showName of the last bg button to false set the style of the last bg button to transparent set the rect of the last bg button to 5,25,25,45 set the script of the last bg button to ~ "on mouseUp"&return&"setMenuBar"&return&"end mouseUp" doMenu "バックグラウンド" else lock screen push card go to the first card of background "Question" doMenu "コピーカード" pop card doMenu "ペースト カード" end if choose browse tool unlock screen end makeQuesCard ------------------ on studyAgain push card put bg field "再学習" into reStudy repeat with nn=1 to number of lines of reStudy get line nn of reStudy if it is not empty then go to card it lecture end if end repeat pop card end studyAgain ------------------- on estimate rightWrong --1=wrightAns, 0=worngAns global nProblem, nRightAns, rightAnsLine, answered if answered is true then answer "既に解答済みです。次のカードに進んでください" show bkgnd button "Next" exit estimate end if add 1 to nProblem put true into answered if rightWrong is 1 then play "Harpsichord" "gq rx eh" AddColor colorPict, "cd", "笑い顔", "350,150","t" add 1 to nRightAns if field "解説" is not empty then show bkgnd button "解説表示" show bkgnd button "Next" else beep 2 AddColor colorPict, "cd", "泣き顔", "380,120","t" if field "解説" is not empty then show field "解説" if field "再学習" is empty then show bkgnd button "Next" else AddColor colorPict, "cd", "もう一度勉強", "360,220","t" wait until the mouseClick studyAgain end if end if prEstimate end estimate ---------------- on prEstimate global nProblem, nRightAns if nProblem > 0 then put ((nRightAns * 100) div nProblem) into n1 else put 0 into n1 end if put n1 &"%" & "(" & nRightAns & "/" & nProblem & ")" into field "正解率" end prEstimate