該分支下的顯示圖標中顯示“no, try again”的文字,其附屬運算圖標中的代碼如下:
user answers:=user answers^lastobjectclicked^tab
其中lastobjectclicked 是一個系統變量,保存了用戶單擊的顯示對象的設計圖標標題。例如,如果用戶單擊了答案a,則該變量中保存答案a所在的顯示圖標的圖標標題“this is answer a”;同理單擊答案b或答案c則變量中保存的是“this is answer b”或“this is answer c”。
由于user answers變量用于保存用戶選擇的答案,連接運算符“^”的應用使用戶每次選擇的答案均被累計到user answers變量中,并且每個答案之間以一個“tab”符號為間隔。
程序在保存了選擇答案并顯示了“no,try again”后返回交互入口處等待用戶的又一次選擇。
及時點評 true條件交互響應雖設置為永久有效,但其automatic欄選擇了off,這表示關閉了分支的自動響應方式,因此進入交互后并不自動進入該分支顯示出“no,try again”的文字。只有當用戶作出了響應后仍滿足目標條件,系統才執行本條件響應的結果圖標。所以用戶單擊答案a或答案c后,程序進入true條件響應分支顯示出“no,try again”的文字提示。
另外,用戶每次選擇的答案能被累計保存下來,是因為每個答案單獨放在一個顯示圖標中,并且答案文字與顯示圖標標題文字完全一樣,故lastobjectclicked變量的應用將答案保存了下來,然后用一個連接運算符^將每次答案累加到user answers變量的末尾,每個用tab鍵隔開。這樣便實現了跟蹤并記錄用戶每次選擇結果的目的。
【question #1】交互響應圖標下的【+b was chosen】分支用于處理正確答案選擇。
【+b was chosen】也是一個熱物體交互響應分支,其交互響應屬性設置如圖24-7和圖24-8所示。
圖24-7 【b was chosen】正確交互響應屬性設置對話框的hot object選項卡
圖24-8 【b was chosen】正確交互響應屬性設置對話框的response選項卡
由圖24-7可知,該交互響應以“this is answer b”(即答案b)作為熱物體,單擊答案b或者按下b鍵(或b鍵、2鍵)均可產生響應,鼠標移入時變為手形,單擊答案b鍵時“this is answer b”呈現高亮度顯示。
由圖24-8可知,該分支狀態為正確響應(correct response),故其標題前面有一個“+”號,且分支執行后往右跳轉。
該分支下為一個空群組圖標,因此,用戶單擊答案b后,程序進入本分支后并不執行具體操作便往右跳轉。
【question #1】交互響應圖標下還有一個“choicenumber=correctchoice”條件交互響應分支,其響應條件為:用戶單擊的分支為正確響應分支。因此,當用戶單擊答案b時,程序進入本分支。
進入本分支后,將所選答案累加至user answer變量中,然后退出本交互響應。
及時點評 【question #1】交互響應圖標下有兩個條件交互響應分支,雖然【ture】條件交互響應分支永久有效,但其分支位置在【choicenumber=correctchoice】條件交互響應分支的右邊。因此,當用戶單擊正確答案b時,【choicenumber=correctchoice】分支將首先產生匹配進入本分支而不會進入雖然一直有效的【true】分支。如果將【true】分支移到前一位置,【choicenumber=correctchoice】分支將永遠不會產生響應,這里體現了條件交互響應分支在交互圖標中前后位置的重要作用。
在流程最后的【display results】顯示圖標中,嵌入了如下內容:
for {question title}the user responded with:
{user answers}
it took the user {tries}tries and {timeininteraction} seconds
before selection the correct response
其中:questiontitle變量保存了當前執行的設計圖標標題question#1;user answers變量中保存了用戶各次選擇的答案;tries系統變量保存了交互響應分支響應的次數;timeininteraction系統變量保存了本交互響應中所花費的時間。
因此,考生答題的整個操作過程在此一一顯示出來,如圖24-9所示。
圖24-9 用戶答題結果顯示
本程序流程中設計了一個僅含有一個【replay question】按鈕交互響應分支的交互響應圖標,該流程包含在【run to view documentation】群組圖標中,如圖24-10所示。
圖24-10 【replay question】流程
【replay question】按鈕交互屬性設置對話框如圖24-11所示。
圖24-11 【replay question】按鈕交互響應屬性設置對話框
由圖24-11可知,按鈕響應永久有效,受控條件為“~within“@ question #1” ”。即程序在進入question #1交互響應中進行答題時,該按鈕是無效的(呈灰色),而當退出答題交互圖標后,該按鈕為有效狀態。用戶此時單擊它,程序跳轉到起始處,重新開始。
本例對考生答題過程進行跟蹤并記錄,最后顯示出答題結果。本例主要應用了如下技術:
l 正確與錯誤響應分支的設置
l 條件交互響應的設計
l 熱物體交互響應的設計
l 用戶答題過程的跟蹤與記錄
l 按鈕有效狀態的控制
l 交互響應次數與執行時間的獲得與顯示
新聞熱點
疑難解答