axure商城

Axure RP 9 教程—模擬猜拳游戲

  • 效果:AB雙方猜拳時出現石頭、剪刀或布為等概率事件
  • math.random:生成指定范圍數值的隨機數,即math.random()函數是取[0,1)之間的隨機數

效果圖:

Axure教程-模擬猜拳

實現邏輯

我們知道,兩位玩家猜拳,結果有9種可能性,每種結果出現的概率相同,這里把1均分為9份,即[0,0.111),[0.111,0.222),[0.222,0.333) …[0.888,1),每一段對應一種猜拳結果,這樣,9種結果的概率都相同了。

[[math.random]]:生成指定范圍數值的隨機數,即math.random()函數是取[0,1)之間的隨機數。

實現步驟

第一步:創建兩個動態面板,分別代表兩個玩家,這里取名為P1和P2(猜猜誰會贏呢)

第二步:每個動態面板添加三個狀態,分別加入石頭剪刀布的圖形(圖形在Axure自帶的Icon里可以找到)

第三步:給兩個動態面板及其狀態取好名稱,便于后期做交互哦

第四步:創建btn按鈕,點擊一次按鈕進行一次猜拳(為了防止玩家瘋狂重復點擊btn,這里可以對btn做一個點擊限制)

第五步

btn猜拳按鈕的交互設置(注意了,重點來了):

鼠標按鍵按下時:

設置一個變量值probability(這個名字隨便取)=[[Math.random()]]

 

鼠標按鍵釋放時:

(猜拳結果1:P1出石頭 vs P2出石頭)

If?probability<0.111

設置面板狀態 P1 到下一個 自動循環,狀態切換速度為50ms;

P2 到下一個 自動循環,狀態切換速度為50ms;

等待3000ms;

設置面板狀態 P1和P2均停止循環;(隨機猜拳動畫)

設置面板狀態 P1為石頭,P2為石頭;

 

(猜拳結果2:P1出石頭 vs P2出剪刀)

If?probability≥0.111且probability<0.222

設置面板狀態 P1 到下一個 自動循環,狀態切換速度為50ms;

P2 到下一個自動循環,狀態切換速度為50ms;

等待3000ms;

設置面板狀態 P1和P2均停止循環;(隨機猜拳動畫)

設置面板狀態 P1為石頭,P2為剪刀;

 

(猜拳結果3:P1出石頭 vs P2出布)

If?probability≥0.222且probability<0.333

設置面板狀態 P1 到下一個 自動循環,狀態切換速度為50ms;

P2 到下一個?自動循環,狀態切換速度為50ms;

等待3000ms;

設置面板狀態 P1和P2均停止循環;(隨機猜拳動畫)

設置面板狀態 P1為石頭,P2為布;

 

(猜拳結果X:P1出XX vs P2出XX)

IF 以此類推……

將所有結果羅列出來,這樣,在點擊btn猜拳的時候,就可以模擬猜拳了。

總結

如果喜歡完美一些,可以做一個猜拳結果公示,同樣使用動態面板,添加三種狀態,一種是 P1獲勝,一種是P2獲勝,還有一種是平手,將三種情況對應添加在9種猜拳結果內即可。

本期原型只能用Axure RP 9 beta及以上版本打開,為什么我要堅持使用Axure 9,而不用現在絕大部分人在使用的Axure 8呢,其實原因很簡單,與時俱進,順勢而為,作為產品,要有超強的適應能力和學習能力,建議各位下載Axure RP 9體驗其中的變化。

附件下載地址:

https://www.axureshop.com/wp-content/uploads/edd/2018/12/21165505.rp

 

關注作者公眾號,一起向夢想出發

 

給TA買糖
共{{data.count}}人
人已贊賞
Axure教程

Axure RP 9 教程—中繼器實現模塊排序

2018-12-22 0:42:55

Axure教程

Axure RP 9 教程—PageName函數使用案例

2018-12-24 19:05:15

axure商城
0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優惠劵
今日簽到
有新私信 私信列表
搜索
俄罗斯videoxxxoo