Сегодня я планирую поработать (как минимум) над двумя новыми функциями моей игры в блэкджек на JavaScript:
1. Выработка правила тузов (11 или 1)
2. Реализуйте кнопки «Остановиться», «Нажать», «Удвоить вниз» и «Разделить» для замены существующих кнопок.
Если мне это нравится, я также рассмотрю настройку правил разделения колоды (при совпадении значения карты создайте две колоды из этих двух карт).
ИЗМЕНИТЬ:
Успех!
Я добавил все вышеперечисленное, кроме правила разделения колоды. Но я реализовал правило блэкджека:
функция блэкджек(){
если(playerHand.cards[0].length = 2 && playerScore === 21){
console.log("Блэкджек!");
}
if(dealerHand.cards[0].length = 2 && DealerScore === 21){
console.log("Блэкджек!");
}
};
Потребовалось некоторое время, чтобы понять правило туза; специально пытаясь выбрать туза, который был в руке. Но мне удалось это сделать методом проб и ошибок. Удалось реализовать функцию изменения значения туза:
функция aceValue (имя, значение){
let phand = playerHand[‘cards’];
пусть dhand = дилерHand[‘карты’];
for (пусть i=0, len=phand.length; i‹len; i++){
for (пусть реквизит в phand[i]) {
if(phand[i][prop].name == name){
phand[i][prop].value = значение;
ломать; //останавливаем цикл, найдено значение
}
}
}
Функция для проверки наличия туза в руке:
var acesHigh = функция () {
let phand = playerHand[‘cards’];
пусть dhand = дилерHand[‘карты’];
for (пусть i=0, len=phand.length; i‹len; i++){
for (пусть реквизит в phand[i]) {
console.log(phand[i][prop].name);
aceH = phand[i][prop].name.includes("Туз H");
aceD = phand[i][prop].name.includes("Туз D");
aceS = phand[i][prop].name.includes("Туз S");
aceC = phand[i][prop].name.includes("Туз C");
}
}
И если да, то является ли счет более 21, чтобы он мог переключить туза на 1 (а не на 11):
}
если (aceH === true){
aceInPHand === истина;
console.log("Найден туз H");
если (playerScore › 21){
aceValue («Туз Н», 1);
pdisplay.textContent = playerScore;
}
}
Довольно хороший прогресс; Я начал около 6:00, а сейчас 10:30. Неплохо для 4 с половиной часов!