黑桃1、鉆石1、梅花1、紅桃1、黑桃2、鉆石2、梅花2、紅桃2、黑桃3、鉆石3、梅花3、紅桃3、紅桃4黑桃4,鉆石4,梅花4,紅心4,黑桃5,鉆石5,梅花5,紅心5,黑桃6,鉆石6,梅花6,紅心6,黑桃7, 7顆鉆石,7顆梅花,7顆紅桃,8顆黑桃,8顆鉆石,8顆紅心,8顆紅心,9顆黑桃,9顆鉆石,9顆紅心,9顆紅心,10顆黑桃,10顆鉆石,10 根球桿,10 顆紅心
,,,
[這是程式回傳的內容]
我正在嘗試用 JavaScript 制作一個允許某人玩撲克的程式。我在可汗學院使用 ProcessingJS 終端。以下是我到目前為止的完整程式。它應該做的是創建一個稱為甲板的陣列,其中包括一副紙牌中所有紙牌(不包括面卡)的名稱。程式的那部分作業。下一部分嘗試創建一個名為 current 的新陣列,它是deck 的精確副本。然后它嘗試列印當前,并且它成功了。
最后一個 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);
uj5u.com熱心網友回復:
為什么不直接簡化而不使用 splice?
據我了解,您正在使用random. 因此,只需將該卡推送到玩家手上player.push(current[y])。
此外,當您呼叫 時current.splice(y),我認為您不會只洗掉抽到的卡。這會洗掉索引y之后的牌組中的每張牌。將此更改為current.splice(y, 1).
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/395630.html
標籤:javascript 数组 推 拼接
上一篇:如何根據每個月的天數獲得平均溫度
下一篇:請求文本,然后以特定方式遍歷字母
