1颗黑桃、1颗钻石、1根棍棒、1颗心、2颗黑桃、2颗钻石、2根棍棒、2颗心、3颗黑桃、3颗钻石、3根棍棒、3颗心、4颗钻石、4颗钻石、4根棍棒、4根心、5颗心、5颗钻石、5颗心、5颗心、5颗心、6颗黑桃、6颗钻石、6颗心、6颗心、7颗黑桃、7颗钻石、7颗心、8颗黑桃、8颗钻石、8颗球棒、8颗心、8颗黑桃、8颗心、8颗黑桃、8颗黑桃,9颗钻石,9颗棍子,9颗心,10颗黑桃,10颗钻石,10根棍棒,10颗心
,,,
这就是程序返回的内容。
我正试图在JavaScript中制作一个程序,允许人们玩扑克。我正在使用汗学院的ProcessingJS终端。下面是到目前为止我的完整程序。它应该做的是制作一个名为“牌”的数组,其中包括一副牌中所有牌的名称(不包括面牌)。程序的那一部分起作用了。下一部分尝试制作一个名为current的新数组,它是甲板的精确副本。然后,它试图打印出电流,并成功地这样做。
最后一个for循环是导致问题的原因。它试图从当前随机获取一张卡片,并将其复制到另一个名为player的数组中,该数组被认为是玩家的手。然后尝试从阵列电流中移除该卡。
但是,当它试图打印出数组播放器时,它只打印三个逗号。我不知道是什么问题,我看过很多网站,谈论推和剪接。我真的不知道出了什么问题。
再次,我希望程序显示球员的手。谢谢你的帮助。
var deck = [];
var current = [];
var enemy = [];
var player = [];
var suits = ['spades', 'diamonds', 'clubs', 'hearts'];
for (var i = 1; i < 11; i++) {
for (var x = 0; x < 4; x++) {
if (i <= 10) {
deck.push(i + ' of ' + suits[x]);
}
}
}
for (var c = 0; c < 40; c++) {
current[c] = deck[c];
}
println(current);
var y;
for (var a = 0; a < 4; a++) {
y = random(0, (current.length - 1));
player.push(current[y]);
current.splice(y);
}
println(player);
发布于 2021-12-26 21:07:08
为什么不直接简化而不使用剪接呢?
据我所知,您正在使用random
绘制卡片。所以,只要把这张卡和player.push(current[y])
一起推到玩家手上就行了。
另外,当你打电话给current.splice(y)
时,我不认为你只是删除了抽出的卡片。它删除了甲板在索引之后 y中的每一张卡。将其更改为current.splice(y, 1)
。
https://stackoverflow.com/questions/70489684
复制相似问题