02-小游戏-001-21点

愿景

用户:

游戏玩家

目标(度量指标):

游戏玩家和电脑对战,模拟21点游戏

业务建模

该程序不涉及到其他组织,所以省去业务建模

需求建模-用例

13781740

流程:

1.玩家单击界面 开始游戏。给玩家和庄家发牌

2.玩家可以选择要牌,玩家要一次,轮到庄家要牌。然后轮到玩家,如此轮流要牌。玩家和庄家都可以决定是否要牌。当玩家不再要牌,逻辑上就以为着结束。

3.玩家界面上单击结束。判定玩家和庄家胜负。胜负按照21点的规则来。

1.其中,发牌的用例比较简单,就是给玩家和庄家随机发牌。

2.要牌的话,其实可以拆分出来判断是否要牌的用例。如果判断可以要牌,则请求给自己发一张牌,就是跳转到发牌的用例。如果是不能要牌,则结束这个用例。

而是否可以要牌的判断,玩家和庄家都有不同的判断条件,比如玩家是否要牌,是靠自己判断的,而庄家是需要自己随机决定的。所以绘制了活动图。

3.判断胜负。玩家和庄家的不同的数据状态对比,决定谁赢谁负。所以绘制了活动图。

5882450

12386759

7966518

分析

1.第一步分析出需要建立的类

分析时,按照两种方式来分析,一种是执行者,一种是管理者

执行者:玩家和电脑玩家,通过对比,两者在要牌的时候行为不一样,所以玩家和庄家作为两个类。为了代码复用,一种可以提供一个要牌的接口,让两个类都分别实现。另外一种是让庄家继承玩家,虽然概念上,庄家和玩家不是一类,庄家也不是一个玩家,但是从代码复用的角度来讲,在这里,如此设计,就足够了。

管理者:封装给执行者发牌、判定玩家和庄家胜负的逻辑

所以如下进行设计

9680832

 

 

 

源码最后统一上传

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值