【发布时间】:2013-06-07 18:34:32
【问题描述】:
查看相关的 BlackJack 问题后,人们对于卡片更好地使用什么感到困惑,要么制作字符串/项目数组,要么制作整数数组。
在我的二十一点游戏中,A 只有 11 和 10,J、Q 和 K 的值都是 10,这与花色无关。什么能让我用字符串或整数对卡片进行编码更容易?
Visual Studio C# 2010,Windows 窗体应用程序
【问题讨论】:
-
技巧问题:两者都不是。我会创建一个专用的
Card类,并可能为 13 个可能的值创建一个支持enum。 -
听起来容易多了
-
没有“最佳”或“轻松”的方式来做到这一点。有人会说 52 个值的枚举。其他人会说一个带有值的“卡片”对象,也许是花色的枚举。有些人可能会找到在同一个应用程序中同时执行这两项操作的理由。您是否与从未做过 OOP 的人一起工作?那么也许你不应该使用一个对象。像这样的问题对 StackOverflow 来说不是好问题。使用一种方法,并了解它为什么不起作用。但要意识到,在编程中几乎没有这种“最好”的方式来做任何事情,因为每个人的经历和项目都不同。
-
我写了一篇关于here的文章。虽然同意不同的表示对于不同的应用程序更好,但字符串从来没有是最好的。
标签: c# visual-studio blackjack