已回答 需要帮助解决问题

福克斯

新成员
已加入
2020年11月3日
留言内容
4
编程经验
3-5
我做了一个简单的BlackJack游戏,只有文字,下注完成IRL,没有加倍,拆分或类似的事情。它工作得很好,我很自豪,但是有一个我不知道如何实现的功能。
在BlackJack中,ace值11,除非您会破产,否则它们仅值1。我一开始没有想到这一点,现在我不知道如何实现它而不必重新制作。整件事。

有谁知道如何解决这个问题?随意使用代码。


免责声明: 代码可能有点杂乱且冗长,而我的可疑注释并没有使它变得更好。请自担风险阅读。
 

附件

  • BlackJack.zip
    5.5 KB · 观看次数: 2
Last edited:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,500
地点
弗吉尼亚州切萨皮克
编程经验
10+
在代码标签中将相关代码张贴在此处,而不是附加.ZIP文件。并非每个人都希望从Internet上下载随机的.ZIP文件。

似乎没有看到代码,如果您创建一个计算手牌价值的方法,并且该方法采用一个参数来告诉该方法将Aces视为1还是11,那将使您分得一杯there。难于处理的另一部分是当您拥有两个或多个Ace时,您需要将一个Ace视为11,将另一个Ace视为1。为了做到这一点,您将必须采取一种略有不同的方法,将11迭代降级为1,直到用户不再破产为止。
 

福克斯

新成员
已加入
2020年11月3日
留言内容
4
编程经验
3-5
似乎没有看到代码,如果您创建一个计算手牌价值的方法,并且该方法采用一个参数来告诉该方法将Aces视为1还是11,那将使您分得一杯there。难于处理的另一部分是当您拥有两个或多个Ace时,您需要将一个Ace视为11,将另一个Ace视为1。为了做到这一点,您将必须采取一种略有不同的方法,将11迭代降级为1,直到用户不再破产为止。
是的,如果我从一开始就考虑此功能,那将是我想出的,但是我没有,我现在不想重做任何事情。
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,028
地点
挪威
编程经验
10+
将ToValue更改为Ace返回1,然后在TotalValue中如果找到1,则请注意一个布尔变量,可以添加10。如果可以添加10,并且没有中断,则返回该值(结果+10),否则返回结果。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,501
地点
悉尼,澳大利亚
编程经验
10+
行。但这会很长,因为一切都与一切融为一体,所以这里有一个链接 GitHub资料库 代替。
然后,您需要做得更好,找出问题所在以及与此相关的代码。它可能表明您的代码也可以更好地进行结构化。如果您在不提供所有代码的情况下无法寻求有关特定问题的帮助,则这两个问题之一或全部都是问题。
 
最佳 底部