axure商城

Axure RP 9 教程—模拟猜拳游戏

  • 效果:AB双方猜拳时出现石头、剪刀或布为等概率事件
  • math.random:生成指定范围数值的随机数,即math.random()函数是取[0,1)之间的随机数

效果图:

Axure RP 9 教程—模拟猜拳游戏

实现逻辑

我们知道,两位玩家猜拳,结果有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

 

Axure RP 9 教程—模拟猜拳游戏

关注作者公众号,一起向梦想出发

 

给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管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索