18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 硅谷之路46:面向对象设计之21点扑克

硅谷之路46:面向对象设计之21点扑克

时间:2022-08-24 06:15:01 | 来源:网站运营

时间:2022-08-24 06:15:01 来源:网站运营

查看完整视频:http://www.bittiger.io/classes


面向对象设计的本质就是还原世界,我们看看21点的游戏世界是怎样的:有玩家(Player),有庄家(Dealer),有扑克牌(Card),有牌盒(CardBox),还有游戏大厅(GameRoom)。

先看牌的部分:首先是一张牌(Card),这张牌要要有花色,数值(还可以保存一个name方便打印)。注意观察我们可以发现,有的牌是正面朝上的(明牌),有的牌是正面朝下的(暗牌),所以我们还需要一个face变量来记录。

有了一张牌我们就可以有一副牌(Deck)了,里面有一个List存储54张Card。实际的游戏中往往不是一副牌,而是很多副牌,所以我们引入了牌盒(CardBox)。牌盒里可能有多副牌,并且可以加牌,洗牌,和最重要的出牌。

然后看人的部分:庄家和玩家有很多共通的部分,比如有名字、钱数、手牌等,都使用一些策略来做决定、算分、要牌、和亮牌。所以我们使用了一个基类Gamer,Player和Dealer都继承自Gamer。玩家和庄家有不同的策略,所以有不同的Strategy。玩家可以有下注等属性;庄家是游戏的控制者,管理牌盒,可以开始和结束游戏等。

最后就是一个最容易被忽略的可是很重要的游戏大厅,有一个Dealer和很多玩家,玩家可以加入和离开。

这样一个看似复杂的21点游戏就设计好了,你学会了吗?


本文整理作者:Mengying Tian,查看完整视频:http://www.bittiger.io/classes


更多内容,请访问:BitTiger.io, 扫描下面二维码,关注微信公众账号“论码农的自我修养”


74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭