コードの100日の6日目
4020 ワード
今日はオブジェクトについて学びました.このシリーズの中で、私はブラックジャックのゲームについて話しました.これは私が一緒に学んだことすべてをもたらします変数、条件、ループ、DOM、関数、配列、オブジェクト.ブラックジャックは、各参加者は、21を超えることなく、できるだけ21にカウントを得ることによってディーラーを倒すしようとするゲームです.エースが1または11の価値があるなら、それは各々の個々のプレーヤーまでです.顔カードは10で、他のカードはそのPIP値です.
HTML部分はこちら
オブジェクトは変数
番目の部分は、このプログラムで使用される変数の残りを宣言することです.
次に、カードの乱数を生成する関数を作成します.トランプは運のゲームだ.乱数を生成するための最良の選択になります.数学オブジェクトはここで使用されました.
次の関数はstartgame関数です.ボタンがクリックされたときに実行されます.
これはrendergame関数です.
HTML部分はこちら
<body>
<h1>Blackjack</h1>
<p id="message-el">Want to play a round?</p>
<p id="cards-el">Cards:</p>
<p id="sum-el">Sum:</p>
<button onclick="startGame()">START GAME</button>
<button onclick="newCard()">NEW CARD</button>
<p id="player-el"></p>
<script src ="js/blackjack.js"></script>
</body>
ジャバスクリプトファイルオブジェクトは変数
let player = {
name: "Nkem",
chips: 200,
sayHello: function() {
console.log("Heisann!");
}
}
プレーヤーの名前はNKEMです、私は200ドルのチップでゲームを始めました.起動するのが悪くない.そう思いませんか.番目の部分は、このプログラムで使用される変数の残りを宣言することです.
let cards = [];
let sum = 0;
let hasBlackJack = false;
let isAlive = false;
let message = "";
let messageEl = document.getElementById("message-el");
let sumEl = document.getElementById("sum-el");
let cardsEl = document.getElementById("cards-el");
let playerEl = document.getElementById("player-el");
playerEl.textContent = player.name + ": $" + player.chips;
ここでは、カードが配列で宣言されるのを見るでしょう、1つ以上のカードであるので、Vairableは一度に値を取ることができるので、配列がこれのためにより良い合うものになるでしょう.合計はカードの合計です.これは日の終わりに正確な計算のためにゼロに設定されます.Messageel、Sumel、CardselとPlayerelはHTML文書から宣言された変数です.劇作家.TextContentはオブジェクト変数の宣言可能です.次に、カードの乱数を生成する関数を作成します.トランプは運のゲームだ.乱数を生成するための最良の選択になります.数学オブジェクトはここで使用されました.
function getRandomCard() {
let randomNumber = Math.floor( Math.random()*13 ) + 1;
if (randomNumber > 10) {
return 10;
} else if (randomNumber === 1) {
return 11;
} else {
return randomNumber;
}
}
数学.random ()メソッドは0から1までの数値のみを生成します.これは10進数を含みます.このゲームでは、エースは11に等しい.それで、乱数が1を与えるならば、それは11を返します.次の関数はstartgame関数です.ボタンがクリックされたときに実行されます.
function startGame() {
isAlive = true;
let firstCard = getRandomCard();
let secondCard = getRandomCard();
cards = [firstCard, secondCard];
sum = firstCard + secondCard;
renderGame();
}
この関数は、RenderGame関数が呼び出されたときに、カードの内容を表示します.これはrendergame関数です.
function renderGame() {
cardsEl.textContent = "Cards: "
for (let i = 0; i < cards.length; i++) {
cardsEl.textContent += cards[i] + " "
}
sumEl.textContent = "Sum: " + sum
if (sum <= 20) {
message = "Do you want to draw a new card?";
} else if (sum === 21) {
message = "You've got Blackjack!";
hasBlackJack = true;
} else {
message = "You're out of the game!";
isAlive = false;
}
messageEl.textContent = message;
}
もう一つの関数は、新しいカード機能と呼ばれる作成され、これはオプションの3番目のランダムカードです.function newCard() {
if (isAlive === true && hasBlackJack === false) {
let card = getRandomCard();
sum += card;
cards.push(card);
renderGame() ;
}
}
最初の2つのカードの合計であるブラックジャックを生成していない最初の2つだけ生成されていない21にして別のランダムなカードは、ゲームに勝つために良いチャンスを生成することができます.Reference
この問題について(コードの100日の6日目), 我々は、より多くの情報をここで見つけました https://dev.to/nkemdev/day-6-of-100-days-of-code-5aakテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol