用Axure制作2048小游戲

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

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

2048游戲簡介

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

以上信息來自百度百科

規(guī)則梳理

  1. 初始化:隨機生成兩個數(shù)字方塊(隨機選取位置【2個】,隨機賦值【2或4】)。
  2. 滑動:數(shù)據(jù)處理(靠攏、相同相加),隨機生成一個數(shù)字方塊(隨機選取位置【1個】并賦值(2或4】)。
  3. 結(jié)束:湊出“2048”或滑動結(jié)束時沒有空余的位置供新的數(shù)字方塊生成時,游戲結(jié)束。

素材準備

(1)中繼器,包含列為面板(panel)、值(value)、排序(order)。

(2)動態(tài)面板,狀態(tài)為0~2048。

(3)以及其他元件

思路

采用中繼器為中間件。

中繼器交互如下:

  • 元件賦值只是為了自己看,可以不要。(游戲發(fā)布后要刪除,否則影響運行速度)
  • 關(guān)鍵點為變量賦值,面板狀態(tài)切換。

初始化

通過更新行,對排序字段進行隨機賦值,并按照該字段對中繼器進行排序,選擇第一行跟最后一行進行賦值。

為什么選擇第一行跟最后一行?

因為剛好有這個函數(shù)。

如何賦值?

設(shè)置系統(tǒng)變量Aggregate=’24’;

[[Aggregate.charAt(Math.floor(Math.random()*Aggregate.length))]]可以隨機輸出2或4。

滑動

先處理一行4個數(shù)據(jù),然后其他行同上。

設(shè)置系統(tǒng)變量ABCD。

將改行的值賦予ABCD,ABCD按照規(guī)則進行排序后,更新到中繼器中即可。

規(guī)則…. emmm

如果做編程就好了,可惜不能,所以這里選擇窮舉……

以下是部分:

判斷游戲狀態(tài)

最大值等于2048時游戲勝利;值為0的數(shù)字方塊數(shù)量等于0時,游戲失敗。無論勝利、失敗均結(jié)束游戲。

如游戲未結(jié)束,則在隨機選擇一個值為0的數(shù)字方塊,生成新的數(shù)字方塊(值為2或4)

2048小游戲,完工。

其他

如果不考慮顏色變化,可以不用動態(tài)面板,直接使用元件數(shù)值相加,可以做到4096……

沒窮舉完,導致游戲有bug,但還是選擇放出。

https://axhub.im/pro/808903f9ed03d5d0/2048.html

 

本文由 @fraidei 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自網(wǎng)絡(luò)

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 能把原型發(fā)下嗎 ??

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

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

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

      回復
    2. 大寫的優(yōu)秀送給你!

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

    來自廣東 回復