簡體   English   中英

如何顯示數組中的隨機值?

[英]How to display random values from a array?

我對 javascript 相當陌生,並且在制作程序時遇到了一些麻煩。 我希望程序詢問用戶他們想從一副牌中抽取多少張牌,但我需要幫助讓我的程序輸入最終選擇了每個套件的多少張牌。

 var NUM = readInt("How many cards will you draw from the deck?"); var RANDOM = Randomizer.nextBoolean(); var DIAMONDS = "Diamonds"; var HEARTS = "Hearts"; var SPADES = "Spades"; var CLUBS = "Clubs"; function start(){ var take = takeCard(); printArray(take); countCards(take); } // This function will pick a random card from the deck. //Needs Work function takeCard(){ var pick = []; for(var i = 0; i < NUM; i++){ if(Randomizer.nextBoolean()){ pick.push(DIAMONDS); }else{ pick.push(HEARTS); pick.push(SPADES); pick.push(CLUBS); } } return pick; } // Displays the array function printArray(arr){ for(var i = 0; i < arr.length; i++){ println("Flip Number " + (i+1) + ": " + arr[i]); } } //Counts the number of Cards in each suite //Needs Work function countCards(take){ var countOne = 0; var countTwo = 0; var countThree = 0; var countFour = 0; for(var i = 0; i < take.length; i++){ if(take[i] == "Heads"){ countOne++; } else { countTwo++; } } println("Number of Diamonds: " + countOne); println("Number of Hearts: " + countTwo); println("Number of Spades: " + countThree); println("Number of Clubs: " + countFour); }

這看起來像家庭作業,所以我不會給你一個完整的工作解決方案,而是解釋如何分解它並讓你編寫代碼。

您應該從生成一整副牌開始。 有 4 套花色,每套花色有 13 張牌。 所以這就像 2 個循環一樣簡單(一個用於花色,一個用於卡片)。 將每張卡片推入一個數組,最終得到一個包含 52 個元素的數組

然后洗牌。 最簡單的方法是使用一種稱為“Fisher-Yates shuffle”的方法。 您可以在此處了解如何在 javascript 中執行此操作: 如何隨機化(隨機播放)JavaScript 數組?

然后,您詢問用戶有多少張卡片,然后使用Array.splice從數組的前面取出那張卡片。

最后,你循環遍歷你提取的那組,計算不同的花色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM