我們上次已經建立了一個指導語trial,接下來我們要來學習建立最關鍵的「實驗作業」。
這次的作業是小時候常玩的「數字比大小」遊戲,稍微想像一下,這個遊戲的內容或許是「左邊有一個數字,右邊有一個數字,然後請玩家選擇『數字比較大』的那一邊」。
如果要用小畫家來示意,應該就是類似這樣子的遊戲畫面:
然後玩家可以使用「電腦鍵盤的方向鍵」來選擇左邊或右邊的數字,假如玩家覺得12比較大,那他就可以按下方向鍵的右鍵進行反應,並完成這一次的問答作業,非常直覺的作業形式。
那我們要如何使用PsychoPy來建立上述的作業呢?首先我們需要在原本的指導語後面,再建立一個新的trial。
我用紅色框起來的地方就是這個新的trial,建立的方式與先前的指導語相同,透過「Insert Routine」來添加。
這裡特別注意到畫面中「inst_resp」的圖示已經變化了,變成了電腦鍵盤!這是最近一次軟體更新中改變的部份,方便我們區分「Keyboard」和「Cedrusbuttonbox」的不同,所以未來要加入電腦鍵盤物件時,記得點選這個電腦鍵盤的圖示。
緊接著,我們點選剛才新建立的「trial」,也就是我們這個實驗的重頭戲。
它目前還是一片空白,不過沒有關係,我們先試著加入一些東西,既然是數字比大小的遊戲,畫面上當然要有數字。我們比照先前撰寫指導語的方式,建立一個文字物件和一個鍵盤物件,並分別編輯它們的內容:
按下ok之後,就試著「Run」一次看看。我們現在可以開始養成一個習慣,每完成一個小段落,就試著跑一下程式,這可以避免初學者在撰寫實驗的過程中累積許多小錯誤,最後卻找不到bug在哪裡。
這就是這個數字物件的內容,數字「1」確實呈現出來了,就跟先前的指導語一樣,然而光是這樣並沒有辦法做比較,如果要做比較的話,畫面上至少要有兩個數字才行。
假如我們按照之前的方式加入第二個文字物件,那麼這兩個文字物件將會重疊在一起(重疊在畫面的正中央),所以我們要設法讓它們有一些「位置上」的差異。此外目前畫面上的數字1也長得太矮小了,放大一點或許能看得比較清楚!
為了進行以上的調整,我們先打開剛才命名為「number」的文字物件,並且在它的編輯界面進行以下的更動:
首先在「Name」的地方,我們可以在後面加入「_left」的字串,表示這個數字是出現在畫面「左邊」的。注意!PsychoPy的命名系統不太接受空白鍵,因此當我們想要區隔字元時,請愛用「_」來做分隔。
其次,「Letter height」的框格,則把原本的0.1改成「0.3」,讓它的尺寸長大3倍。
最後在「Position」的部份,把X軸預設的0改成「-0.5」,將物件的位置定位在畫面左邊。在物件的定位方面,X軸和Y軸分別是從「-1~1」的範圍,兩軸的-1和1就是畫面的上、下、左、右邊界處。
然後按下OK之後,我們可以再「Run一次看看」!
一個位於畫面左側的大型數字,這應該是比較符合我們需求的物件,接下來就請按照以上的介紹,試著自己完成另一個以「number_right」為名,而且文字內容為「3」的文字物件吧!
完成了嗎?完成之後的畫面應該是長這個樣子的:
然後我們再回到鍵盤物件的部份,按照以下的方式重新編輯這個物件:
說明一下,其中「Allowed keys」的部份,代表的是我們允許玩家使用哪些按鍵作答,由於這個遊戲只需要「左鍵和右鍵」就能完成,因此我們留下這兩個鍵即可,其餘的按鍵就當作不允許使用,避免玩家誤觸。
而後「Store correct」的框框記得要打勾,並在下方的「Correct answer」填入「right」(畢竟3應該比1大)。因為這一題有標準答案,假如我們事先把標準答案設定好的話,程式就會自動幫我們對答案,省去我們核對的辛勞。
全都設定好之後,我們就可以把程式完整的Run下去啦!
這是第一頁,指導語指示玩家要「從兩個數字當中選擇較大的一方」,按下「空白鍵」之後就可以繼續。
嗯,題目出現了!因為數字3比數字1還要大,這個時候就要按下「右鍵」才行呢!按鍵之後就會順利結束實驗。
大功告成!不過就只有一題似乎有點無趣,答對了也沒有成就感,所以我們下次會介紹如何運用循環清單的形式,一口氣製造出「100題」數字比大小遊戲!
敬請期待!