首頁 > 娛樂

Scratch遊戲數字華容道

由 壹零社 發表于 娛樂2021-12-07

簡介(圖5)根據勝利時華容道的位置號(1-8),我們可以確定每個數字的行列數,比如數字1就是在第一行第一列,數字5就是在第二行第二列

草狗昆蟲用什麼行走的

Scratch遊戲數字華容道

文/陳新龍

華容道這款益智遊戲,以其變化多端、百玩不厭特點與魔方、鑽石棋並稱為“智力遊戲屆的三個不可思議”。今天我們要做的數字華容道和傳統華容道有一些區別。在《最強大腦》中何猷君曾經以21秒速度完成了4×4數字華容道挑戰。常見的數字華容道有3×3、4×4、5×5等三種大小。3×3的遊戲介面一共9個格子,需要將1到8八個數字排好順序;4×4共16個格子,要排好1到15的數字,其實只要掌握到基本解題技巧,數字多少對遊戲的難度影響並不大。(圖1)

Scratch遊戲數字華容道

1。指令碼規劃

我們以最簡單的3×3數字華容道為例,遊戲開始時數字會完全打亂,然後利用空格位每次移動一個數字,最後將所有數字按順序復原。玩這個遊戲時打亂數字順序時只能透過在盒子裡移動數字的方式打亂,而不是將數字拿出來後再隨意放回去,那樣可能會出現無解的情況。網上有很多款數字華容道,我們可以參考它們的外觀和操作方式,用Scratch程式設計作一個。

2。素材準備

新增自定義方塊角色,在方塊造型中填入8個數字,共9個造型。新增遊戲勝利的背景(You Win),保留小貓角色。

3。繪製介面

我們用小貓的程式碼完成介面排布。首先將方塊按順序放入預設位置,建立兩個列表分別儲存“X座標”和“Y座標”,依次將9個方格對應的座標透過迴圈存入列表中(具體座標軸如圖1),分別透過三次迴圈遍歷將數字103、0、-103分別新增入X座標列表中,Y座標列表的內容透過三個數字分別迴圈遍歷新增入列表中。(圖2)

Scratch遊戲數字華容道

對方塊角色程式設計,透過克隆的方法將九塊方格移動到預設位置,預設初始克隆序號值為0,重複執行9次。當克隆體啟動時,根據需要顯示造型,造型編號等於序號,克隆體的位置由之前建立的X座標列表和Y座標列表中提取。(圖3)

Scratch遊戲數字華容道

同時,將數字隨機填充入方格中,建立“位置號”列表,透過隨機數的方法將1-9數字填入列表中。(圖4)

Scratch遊戲數字華容道

4。與空白塊交換位置

還要建立兩個自制積木“使用位置號計算行列數”和“計算行列數差值”為完成數字華容道做最後準備。當我們點選數字方塊希望它移動時候,這個方塊必須在空白方格旁邊才能交換位置。這就需要找到相鄰塊行列數之間的數學關係來判斷滑鼠點選的方塊和空白方格的位置關係。最後我們透過計算數字塊與空白塊的行列差來判斷空白塊是否相鄰,如果列數差加行數差的值等於1就說明點選的數字塊和空白塊相鄰,可以移動。交換位置的方法我們已經做了多次,用臨時項的方法來完成。(圖5)

Scratch遊戲數字華容道

根據勝利時華容道的位置號(1-8),我們可以確定每個數字的行列數,比如數字1就是在第一行第一列,數字5就是在第二行第二列……列數比較容易確定,將位置號除以3的餘數,如果結果等於0那麼就是第三行,其他為第一行和第二行。行數的確定比列數稍微複雜一點,小於數字4在第一行,否則小於7在第二行,其餘在第三行。(圖6)

Scratch遊戲數字華容道

確定完行列值之後,我們可以依據行列值計算出行數差和列數差。當點選數字塊列數大於空白塊時,列數差為數字塊列數減空白塊列數,否則的話列數差等於空白塊列數減數字塊列數。同樣行數差也是一樣的方法,根據數字塊和空白塊行數進行對比。(圖7)

Scratch遊戲數字華容道

5。判斷勝利條件

檢驗是否復原的方法其實很簡單,當“位置號”列表的數字從1到9順序排列時,就觸發成功的圖片。(圖8)

Scratch遊戲數字華容道

數字華容道製作難度雖然不低,但做好之後是可以玩很久的益智遊戲,玩華容道要掌握統籌解決問題的方法,儘可能提前部署,爭取用最短的時間,將棋盤上的數字方塊回覆原位。

Tags:數字華容道列數列表空白