Skip to content

Latest commit

 

History

History
152 lines (105 loc) · 4.59 KB

146-203873-[趣味拓展]综合练习_玩骰子_dices.sy.md

File metadata and controls

152 lines (105 loc) · 4.59 KB
show version enable_checker
step
1.0
true

逻辑或 or

回忆

  • 这次了解的是优先级
  • 每个运算符都有自己的优先级位置
  • 逻辑运算符的优先级从高到低
    • not
    • and
    • or

图片描述

  • 有什么比较复杂的逻辑运算么???🤔

骰子

  • 每人五个骰子,摇出后,依其点数牌形可分为:
    • 散牌(五个骰子点数各不一样)
    • 一对(五个骰子中仅有两个骰子点数一样,其余皆不一样)
    • 两对(两个对子加一个其他点数,如一对二加一对四加一个三)
    • 三条(三个骰子的点数一致,余下两个骰子点数各不相同,如三个四加一个二和一个六)
    • 葫芦(也就是扑克牌中的三条带一对:三个骰子点数同为某数,余下两个骰子点数同为另一数,如三个三加一对二)
    • 炸弹(其中四个骰子的点数一致,如四个一加一个五)
    • 顺子(五个骰子点数呈连续分布,如 12345 和 23456)
    • 豹子(五个骰子点数全一样)
  • 第一步就是通过五个随机的色子
  • 得到相应的级别
  • 动手吧!

图片描述

投掷

图片描述

图片描述

  • 投了骰子之后需要整理

整理

图片描述

图片描述

分级

  • 散牌(五个骰子点数各不一样)
  • 一对(五个骰子中仅有两个骰子点数一样,其余皆不一样)
  • 两对(两个对子加一个其他点数,如一对二加一对四加一个三)
  • 三条(三个骰子的点数一致,余下两个骰子点数各不相同,如三个四加一个二和一个六)
  • 葫芦(也就是扑克牌中的三条带一对:三个骰子点数同为某数,余下两个骰子点数同为另一数,如三个三加一对二)
  • 炸弹(其中四个骰子的点数一致,如四个一加一个五)
  • 顺子(五个骰子点数呈连续分布,如 12345 和 23456)
  • 豹子(五个骰子点数全一样)

图片描述

  • 两对看起来情况很复杂啊
  • 先去游乐场找找思路

游乐场

图片描述

  • 这个思路看起来可行

获得 counts

图片描述

图片描述

  • 当获得了 counts 之后
  • 其实原来的代码也可以简化

简化

图片描述

  • 这样就有了等级的基本规则
  • 同级的也可以比大小

胜负规则

  • 胜负规则为豹子>顺子>炸弹>葫芦>三条>两对>对子>散牌
  • 若属于同一类型,则依次比较类型构成主次要成分的骰子点数大小
  • 如炸弹先比较四个相同骰子的点数,再比较散牌
  • 葫芦先比较三个相同骰子再比较对牌
  • 两对先比较较大的对,再比较稍小的对,最后比较散牌
  • 如此类推
  • 比较点数时 1 > 6 > 5 > 4 > 3 > 2

举例

  • 试举例,如双方均为葫芦
    • 一人为三个五带对二
    • 另一人为三个四带对六
    • 前者胜
  • 又若双方均为两对,同有对二、对六
    • 但一方散牌为五
    • 另一方为一
    • 则后者胜
  • 这真的有点复杂
  • 有兴趣的同学可以把随机摇两把
  • 然后比大小

参考

  • 可以做个字典
    • 当级别相同的时候
    • 去比较字典里面的数字

图片描述

  • 图中可知
    • 有1个2
    • 有2个3
    • 有2个4

色子的展示

图片描述

  • 可以控制颜色吗?

颜色控制

图片描述

  • 1、4可以是红的
  • 最终代码需要你想清楚
  • 写好哦!

总结

  • 这次做了一个比较复杂的骰子的例子
    • 真的是很复杂
    • 综合运用逻辑类的与或非
  • 为什么要强调逻辑类的与或非
  • 难道说除了逻辑类
  • 还有其他类的与或非???🤔
  • 下次再说 👋