コードの100日の6日目


今日はオブジェクトについて学びました.このシリーズの中で、私はブラックジャックのゲームについて話しました.これは私が一緒に学んだことすべてをもたらします変数、条件、ループ、DOM、関数、配列、オブジェクト.ブラックジャックは、各参加者は、21を超えることなく、できるだけ21にカウントを得ることによってディーラーを倒すしようとするゲームです.エースが1または11の価値があるなら、それは各々の個々のプレーヤーまでです.顔カードは10で、他のカードはそのPIP値です.
blackjack
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にして別のランダムなカードは、ゲームに勝つために良いチャンスを生成することができます.