Tag: 打牌

C#纸牌游戏中的最佳卡片选择

问题在于遵循以下规则在游戏的每个时刻选择最佳选项: 您只能选择最左边或最右边的卡。 您的对手将始终先选择,并始终从最左侧或最右侧的牌中选择最高牌。 如果它是一个平局,它会选择最右边的。 考虑到这并不总是最好的选择。 有时赢得胜利是不可能的,但无论如何你必须通过对抗这个对手来展示你可以添加的最高分(或者说策略,让我们说)。 例: Cards: 1 2 4 2 8 4 3 Opponent: 3 4 2 2 = 11 Me: 1 8 4 = 13 在这里,我在第二回合选择了1而不是4,所以我可以选择8。 这就是选择最高卡并不总是最好的原因。 我一直在尝试使用递归来实现这个解决方案,但我不确定它是最好的选择。 有关如何设计此算法的任何想法? [编辑]感谢@PengOne的慷慨帮助。 这是我试图实现的代码,但不幸的是它给了我错误。 我该怎么办呢? 随着我的进步,我正在编辑这个。 static int cardGameValue(List D, int myScore, int opponentScore) { if (D.Count == 0) return myScore; else { if (D[0] […]