【发布时间】:2020-08-11 00:56:59
【问题描述】:
正如标题所示,我正在尝试使用标准的 52 张卡片组制作浏览器纸牌游戏。我试图不使用其他人的代码并尽可能多地自己做。我对我现在需要做的事情做了一个粗略的计划。
- 制作卡片对象。卡片对象将包含它的数字和花色的值。
- 制作一个甲板对象。卡片组包含一组卡片对象,并具有 shuffle 和 deal 功能,它们都可以操作数组。洗牌会重新排列牌,发牌会 pop() 一定数量的牌到玩家的手上。
- 制作一个 playerHand 数组。该数组将保存玩家从牌组对象中抽取的卡片对象。
- 制作一个 botHand 数组。与 playerHand 相同,但用于对手(机器人)。
我刚开始,已经卡住了。我制作了一个 Card 构造函数,现在正在制作卡片组对象。我的主要问题是如何在甲板对象中创建一个数组,该数组基本上使用了我制作了 52 次的 Card 构造函数。我假设我只是运行一个 for 循环,但不确定语法是否正确。这就是我到目前为止所拥有的,对于我制作游戏的逻辑的任何其他建议将不胜感激。
function Card(value, suit) {
this.value = value;
this.suit = suit;
}
var deck = {
cards: new Array(52),
shuffle: function() {
},
deal: function() {
}
}
【问题讨论】:
-
for循环的语法你不确定吗?你试过什么? -
我相信你让这件事变得更难了。不要使用 Card 构造函数,只需使用数字 1-52 并为每个范围分配一个花色。例如 1-13 是红心。然后你可以创建一个数字数组并找到一种方法来随机化顺序。我不知道这是否能解决你的问题,因为你可能真的想使用构造函数。
-
对于for循环,我想我会做这样的事情对吗? for(var i = 0; i
标签: javascript