首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数组函数“推送”和“拼接”Javascript

数组函数“推送”和“拼接”Javascript
EN

Stack Overflow用户
提问于 2021-12-26 20:37:23
回答 1查看 99关注 0票数 2

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的数组中,该数组被认为是玩家的手。然后尝试从阵列电流中移除该卡。

但是,当它试图打印出数组播放器时,它只打印三个逗号。我不知道是什么问题,我看过很多网站,谈论推和剪接。我真的不知道出了什么问题。

再次,我希望程序显示球员的手。谢谢你的帮助。

代码语言:javascript
运行
复制
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);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-26 21:07:08

为什么不直接简化而不使用剪接呢?

据我所知,您正在使用random绘制卡片。所以,只要把这张卡和player.push(current[y])一起推到玩家手上就行了。

另外,当你打电话给current.splice(y)时,我不认为你只是删除了抽出的卡片。它删除了甲板在索引之后 y中的每一张卡。将其更改为current.splice(y, 1)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70489684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档