Axure RP 9 教程—模拟猜拳

本篇使用Axure RP 9 Beta版本,利用math.random函数实现等概率事件

【效果:AB双方猜拳时出现石头、剪刀或布为等概率事件】

【math.random:生成指定范围数值的随机数,即math.random()函数是取[0,1)之间的随机数】

效果图:

  效果图

实现逻辑:我们知道,两位玩家猜拳,结果有9种可能性,每种结果出现的概率相同,这里把1均分为9份,即[0,0.111),[0.111,0.222),[0.222,0.333) … [0.888,1),每一段对应一种猜拳结果,这样,9种结果的概率都相同了。

实现步骤:

第一步:创建两个动态面板,分别代表两个玩家,这里取名为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猜拳的时候,就可以模拟猜拳了。

ps.如果喜欢完美一些,可以做一个猜拳结果公示,同样使用动态面板,添加三种状态,一种是 P1获胜,一种是P2获胜,还有一种是平手,将三种情况对应添加在9种猜拳结果内即可。

【附件可下载原型,再次强调,该原型使用Axure RP 9以上版本可以打开,若有需要使用Axure 8.0以下版本打开附件,可评论区留言,后续我会添加】

附件下载地址:https://pan.baidu.com/s/171s5zLrwKX0BgMLNCtbyog

提取码:g6qo

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

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

本文来自 王得宇AIPM 投稿,不代表 PmTemple 立场,如若转载,请注明出处:

。如有涉及侵权行为,请发送相关证明材料至邮箱admin@pmtemple.com
(21)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
王得宇AIPM的头像王得宇AIPM高级产品经理
上一篇 2018年11月1日 下午4:45
下一篇 2018年11月8日 下午8:34

相关推荐

发表回复

登录后才能评论

评论列表(2条)

  • 冯 赛涛的头像
    DevilStefan 2018年11月3日 下午2:34

    灰常厉害,大赞~!
    math.random()函数是取[0,8),换一种写法实现一下呗,不然大家学习成本太大啦~!

    • Slience的头像
      Slience 2018年11月3日 下午2:50

      @DevilStefan厉害厉害,这样做省了很多麻烦! ? ? ?

微信公众号
微信公众号
edgesensor_high 小程序
小程序
分享本页
返回顶部