用Axure制作2048小游戲

10 評論 10384 瀏覽 38 收藏 5 分鐘

相信很多人都玩過2048這款小游戲,文章主要是用Axure制作2048這款小游戲,一起來看看~

2048游戲簡介

游戲規則很簡單,每次可以選擇上下左右其中一個方向去滑動,每滑動一次,所有的數字方塊都會往滑動的方向靠攏外,系統也會在空白的地方亂數出現一個數字方塊,相同數字的方塊在靠攏、相撞時會相加。系統給予的數字方塊不是2就是4,玩家要想辦法在這小小的16格范圍中湊出“2048”這個數字方塊。

以上信息來自百度百科

規則梳理

  1. 初始化:隨機生成兩個數字方塊(隨機選取位置【2個】,隨機賦值【2或4】)。
  2. 滑動:數據處理(靠攏、相同相加),隨機生成一個數字方塊(隨機選取位置【1個】并賦值(2或4】)。
  3. 結束:湊出“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 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自網絡

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 能把原型發下嗎 ??

    來自福建 回復
    1. 來自北京 回復
    2. 鏈接打不開了

      來自廣東 回復
  2. 來自北京 回復
  3. 1、左起第二格-下起第二格,有BUG;
    2、游戲勝利淺綠色遮罩,you win !白色字體;
    3,、我只是想說我玩通關了 ??

    來自廣東 回復
    1. 厲害厲害!
      bug我復查了下不是邏輯的問題,目前還沒找到原因好尷尬。

      回復
    2. 大寫的優秀送給你!

      來自北京 回復
    3. 來自北京 回復
  4. 會玩

    來自廣東 回復