一个扑克牌的程序设计问题

baar baar 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在做一个类似于UNO的扑克牌程序,不知道有没有人玩过UNO,游戏规则很简单,就是一个玩家出一张牌,然后下一个玩家,出的牌,要么跟上个玩家出的牌数字相同,要么花色相同,如果都没有的话,就得在牌库里面摸一张牌,然后这些牌里面还有一些特殊功能的牌,譬如改变上一个玩家出的牌得花色或者数字,从而来适应自己的出牌,游戏最后把牌出光的就是胜利者,然后分数越少的排第2,其次少的拍第3.。。。。
我设计的时候一共分成三个类,第一个类是CARD,第二个类是PLAYER,第三个类是GAME,最后一个类是启动程序的MAIN,第一,二个类相信不用我介绍了,第三个GAME类是用来处理一些诸如初始化牌库,初始化玩家数,洗牌,派牌,计分等功能。
在设计的时候我有几个问题:
1,对于牌库,玩家的手牌,还有玩家群,分别用什么容器比较合适?特别对于牌库,有没有一个类似于单向链表的容器,因为我打算用一个随机数来把牌库里的牌分派给玩家,当第一个玩家得到牌之后,继续用这个随机数的话,如果不是单向链表那样,就会出现抽到空元素。
2,对于一些有特殊功能的牌,我是想用多态来实现,但是在实现那牌得功能之前,必须要先判断玩家的牌是否有特殊功能,这一判断的话,就失去了多态的优势,请问如果我想用多态来实现的话,应该怎样实现?
3.请问枚举类的元素可以是整数吗?我想用一个枚举类来装牌得数字,另外一个枚举类装牌得花色,但是装牌的数字的枚举类好像老是不通过编译。
...全文

相关推荐

评论 15
收藏 已收藏
分享
返回顶部
baar
C# 111,129 成员 642,539 内容