用Axure制作2048小游戲
相信很多人都玩過2048這款小游戲,文章主要是用Axure制作2048這款小游戲,一起來看看~
2048游戲簡介
游戲規則很簡單,每次可以選擇上下左右其中一個方向去滑動,每滑動一次,所有的數字方塊都會往滑動的方向靠攏外,系統也會在空白的地方亂數出現一個數字方塊,相同數字的方塊在靠攏、相撞時會相加。系統給予的數字方塊不是2就是4,玩家要想辦法在這小小的16格范圍中湊出“2048”這個數字方塊。
以上信息來自百度百科
規則梳理
- 初始化:隨機生成兩個數字方塊(隨機選取位置【2個】,隨機賦值【2或4】)。
- 滑動:數據處理(靠攏、相同相加),隨機生成一個數字方塊(隨機選取位置【1個】并賦值(2或4】)。
- 結束:湊出“2048”或滑動結束時沒有空余的位置供新的數字方塊生成時,游戲結束。
素材準備
(1)中繼器,包含列為面板(panel)、值(value)、排序(order)。
(2)動態面板,狀態為0~2048。
(3)以及其他元件
思路
采用中繼器為中間件。
中繼器交互如下:
- 元件賦值只是為了自己看,可以不要。(游戲發布后要刪除,否則影響運行速度)
- 關鍵點為變量賦值,面板狀態切換。
初始化
通過更新行,對排序字段進行隨機賦值,并按照該字段對中繼器進行排序,選擇第一行跟最后一行進行賦值。
為什么選擇第一行跟最后一行?
因為剛好有這個函數。
如何賦值?
設置系統變量Aggregate=’24’;
[[Aggregate.charAt(Math.floor(Math.random()*Aggregate.length))]]可以隨機輸出2或4。
滑動
先處理一行4個數據,然后其他行同上。
設置系統變量ABCD。
將改行的值賦予ABCD,ABCD按照規則進行排序后,更新到中繼器中即可。
規則…. emmm
如果做編程就好了,可惜不能,所以這里選擇窮舉……
以下是部分:
判斷游戲狀態
最大值等于2048時游戲勝利;值為0的數字方塊數量等于0時,游戲失敗。無論勝利、失敗均結束游戲。
如游戲未結束,則在隨機選擇一個值為0的數字方塊,生成新的數字方塊(值為2或4)
2048小游戲,完工。
其他
如果不考慮顏色變化,可以不用動態面板,直接使用元件數值相加,可以做到4096……
沒窮舉完,導致游戲有bug,但還是選擇放出。
https://axhub.im/pro/808903f9ed03d5d0/2048.html
本文由 @fraidei 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自網絡
能把原型發下嗎 ??
鏈接:https://pan.baidu.com/s/1lYZ04S23P96Z3rGaHtj9wA 密碼:8fe1
鏈接打不開了
https://axhub.im/pro/32acf0e0782cceb6/phone.html
手機版~~~歡迎體驗
1、左起第二格-下起第二格,有BUG;
2、游戲勝利淺綠色遮罩,you win !白色字體;
3,、我只是想說我玩通關了 ??
厲害厲害!
bug我復查了下不是邏輯的問題,目前還沒找到原因好尷尬。
大寫的優秀送給你!
https://axhub.im/pro/32acf0e0782cceb6/phone.html
手機版歡迎你來體驗
會玩