【发布时间】:2013-06-13 01:54:15
【问题描述】:
我正在制作二十一点游戏。我需要确定我的牌组是否包含特定值。
检查我的牌组最简单的方法是什么。最简单意味着更少的代码行和更少的混乱。注意我将给这些值相关的字符串。 (King、Jack、Queen 和 10 等于 10。)
这不涉及任何关于西装或颜色的内容。我将只显示卡片符号(K,Q)。
enum deck {Ace=1|11, Two=2, Three=3, Four=4, Five=5, Six=6, Seven=7, Eight=8, Nine=9, Ten=10, Jack=10, Queen=10, King=10};
int a = (int)deck.Ace;
int b = (int)deck.Two;
int c = (int)deck.Three;
int d = (int)deck.Four;
int e = (int)deck.Five;
int f = (int)deck.Six;
int g = (int)deck.Seven;
int h = (int)deck.Eight;
int i = (int)deck.Nine;
int j = (int)deck.Ten;
int k = (int)deck.Jack;
int l = (int)deck.Queen;
int m = (int)deck.King;
【问题讨论】:
-
考虑使用两种 Enumerable 类型,一种用于花色,一种用于数字。
-
@Doc:你的意思是
Enums,与Enumerable静态类或IEnumerable<T>接口完全无关。 -
@SLaks 啊,多年的 c# 和从不知道这一点。很高兴你指出了这一点,我需要重新思考我的生活。
-
到目前为止你尝试过什么?您目前如何存储您的卡?你的
Card班级是什么样的?有很多关于这个主题的相关信息。那里有很多不同的数据结构,其中大多数都能够被搜索。由于您不太可能拥有非常大的数据集,因此您不必担心效率。试一试;走着瞧吧。如果遇到问题,请尝试一下并查找其他人的解决方案。如果您仍然无法正常工作,请在此处发布您的代码。 -
@Mr.Bottell 我不确定你在回复什么。你是说你的老师禁止你学习更多关于编程的知识吗?如果是这样,请抛弃他并找一位更好的老师,他知道自己学习新的编程概念是所有开发人员需要从一开始就开始开发的重要技能。如果这不是您要说的,请澄清您的意思。
标签: c# data-structures storage