我班上的作业要求我写一个非常基本的javascript二十一点游戏。经销商的手牌自动生成17到21之间的值,因此只有玩家才能决定做什么。
我为经销商的手以及随机生成器创建了一个随机生成器,根据分配的要求产生值1-13(Ace-King)。但是值11和12和13对应于面部卡(杰克/女王/王),它们都明显具有相等的值10。但是,如何将值11-13重新分配为值为10?
我也无法弄清楚如何为玩家编写决策结构。基本上寻找能给我以下输出的东西:
你想要一张卡吗? (玩家输入答案) 你收到了7.你想要另一张卡吗? (玩家输入答案) 你收到了一位国王。你的总数是17.你想要另一张卡吗?等...
我不是在寻找任何人为我编写完整的代码,只是寻找一个开始,因为我甚至难以确定从哪里开始这一切。赋值的设计结构非常开放,但它应该保持在JavaScript的最简单/基本级别。非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
- 如何重置值11-13以使其值为10?
醇>
- 基本上寻找能给我以下输出的东西。
醇>
祝你好运。
编辑:
if(playerCard >=10){
playerCard = 10;
}
你在这里不需要其他人,因为如果玩家卡< 10无论如何你都不想改变它。
答案 1 :(得分:0)
关于卡片值,我建议将卡片存储为对象以保存其值及其类型。
var cards = [ { name: 'Ace', value: 1 },
{ name: '2', value: 2 },
{ name: '3', value: 3 },
{ name: '4', value: 4 },
{ name: '5', value: 5 },
{ name: '6', value: 6 },
{ name: '7', value: 7 },
{ name: '8', value: 8 },
{ name: '9', value: 9 },
{ name: '10', value: 10 },
{ name: 'Jack', value: 11 },
{ name: 'Queen', value: 12 },
{ name: 'King', value: 13 }
];
然后您可以通过以下方式访问 Jack
var name = card[9].name;
var value = card[9].value;
我建议在 ace 为1或11的情况下包含另一个名为alt值的字段。
例如
{ name: 'Ace', value: 1, altValue = 11 }
附加逻辑 如果游戏是基于一副牌,我会映射每一张可能的卡并将其存储在卡片阵列中,并与之相符。
例如
var cards = [ { name: 'Ace', value: 1 altValue: 11, suit: 'Hearts' },
{ name: '2', value: 2, suit: 'Hearts' }...
然后我会通过从卡片阵列中移除卡片,从游戏中删除卡片。