【Scratch】在清單中找出最大值和最小值
同樣都是找出最大值和最小值,但是和前面那個範例不一樣的地方在於,前一個例子是在輸入資料時一邊放入資料,一邊就在判斷最大值以及最小值了,但是在這個例子中,我們假設清單的資料是一開始就已經有的,我們是要透過一個迴圈到清單中去找出最大值和最小值。
資訊技術教材網
同樣都是找出最大值和最小值,但是和前面那個範例不一樣的地方在於,前一個例子是在輸入資料時一邊放入資料,一邊就在判斷最大值以及最小值了,但是在這個例子中,我們假設清單的資料是一開始就已經有的,我們是要透過一個迴圈到清單中去找出最大值和最小值。
接續上一篇文章的內容,在井字棋遊戲已經可以使用陣列(清單)來記錄棋盤的內容時,此時就可以根據清單的內容來判斷是哪一方可以獲得最終的勝利。
棋盤畫好之後,要把棋子擺上去了,可是不同於井字棋,五子棋有非常大的棋盤,因此如何把棋子擺在正確的位置上,需要再做一點說明。
如果只是把棋盤和棋子畫出來並沒有什麼有趣的,真正要和玩家互動,則當玩家在畫面上按下滑鼠按鍵的時候,才是需要開始判斷到底是按到了哪一個棋子,以及要做出什麼樣的互動關係。在前面的例子中,我們使用分身的功能把棋子依序放在舞台上,然後偵側任一個角色是否被按下了,如果被按下的話,就使用蓋章的功能覆蓋原有的角色,然而重要的是,在玩家選擇了角色的時候,如何判斷他是選了哪一個角色?
習慣上我們都想說只要使用瀏覽器上網使用線上版的Scratch就好了,也非常方便,但是在沒有網路或網路速度不快的情況下,甚至有時候Scratch主機暫時不能使用的時候(別懷疑,真的發生過),這時候如果你有離線版的Scratch就會非常方便了。
在進行棋類遊戱的時候都需要繪製棋盤的工作,因為棋盤本身並不需要和玩家或使用者之間進行互動,所以並不需要有自己的角色,只要單純地把格線繪製上去就可以了,在此種情況下,Scratch的畫筆功能就很適合在這種情況下使用。這篇文章的作法是透過迴圈和變數的應用,使用畫筆完成棋盤的繪製。
在前一篇文章中我們教同學們使用分身的功能,透過分身變換造型的方式達成下棋的目的,但是切換角色的造型之後,如果玩家還是持續地點按棋子,會讓棋子不斷地切換造型而造成困擾,為了避免此種情形的發生,使用「蓋章」的功能就可以解決,主要的原因是,蓋章本身只會呈現出外觀,而不會有任何和使用者互動的能力,也就是蓋下去之後就成為筆跡,而不是角色了。
使用Scratch製作棋類遊戲有一些挑戰,主要是因為棋子非常多,而且都是以二維平面的方式來排列,在操作的時候經常需要瞭解目前棋盤上的狀況,如果不配合變數以及清單的使用,往往無法達成想要的效果,因此接下來的單元,就來介紹如何完成一個簡單的棋盤,可以提供雙人對戰的功能。