上一節Scratch編程課程,我們已經實現了使用列表來記錄黑白棋子的落子情況。那麼,對于這些記錄在列表中的數值,我們約定0代表沒有棋子,1代表對應的位置是黑棋,2代表對應的位置是白棋。
今天的Scratch編程課程,我們就會使用這些數據,來判斷是否五子連珠。這裡,我還要特别告訴大家,本節課的代碼不是最終代碼,如果直接講最終代碼,大家很有可能聽不懂,所以我還是一步一步從頭說起。
落子在列表中的編号請大家先看一下圖1。
上一節,我們講過,為了代碼容易理解,我們新建了“左下角開始的行數”和“左下角開始的列數”兩個變量。
這節課,同樣的道理,我們建立新變量“落子在列表中的編号”。為了更好地理解,請大家對比圖1和上一節課的代碼。
圖1
那麼,現在,圖1中,一共有了3個變量,并且我們給它們都取了個有意義的名稱。也就是一看就知道這個變量是存放什麼數據的。它們的功能僅僅是方便代碼的閱讀麼?當然不是。另外一個重要的功能就是,後續的腳本如果想要計算“行數”、“列數”或者“編号”的時候,就不用再重新寫代碼計算了,直接使用這個變量就可以了。就像我前面課程講的,變量就像一個盒子,用來存放内容,大家都可以随時去查看變量裡存放了什麼内容。
判斷是否五子連珠首先,我要告訴大家,我們首先進行橫向的判斷。也就是判斷落下的棋子和它左右兩端的棋子,能否五子連珠!當你把這部分理解了,其它三個方向,即上下、右上左下、右下左上,就都迎刃而解了。
現在,我們看圖2,和“更新落子情況”一樣,我們把“判斷是否五子連珠”寫在“自定義積木”中。
圖2
下面我來解釋這段代碼:
再看圖3的代碼,他們是接着圖2的代碼的,為了方便講解,我将它分開。
圖3
最後,對連珠總數進行判斷,如果大于4,發出赢棋廣播。
圖4
演示效果本節Scratch編程課程最終效果,我錄制了視頻,請大家點擊下面的視頻觀看。
本次Scratch編程課程就講到這裡,後續課程見!
本文所有圖片、視頻及文字内容,均為原創,轉載時請保留版權信息。
查看更多Scratch編程教程,請點擊下一行的了解更多,進入程序員豬豬的頭條主頁。
點擊關注,每天接收更新哦。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!