function blackjackHandValue(hand: string[]): number {
let totalPoints = 0;
let aces = 0;
hand.forEach(card => {
let value = card.split(' ')[0]; // ดึงอันดับของการ์ด
switch (value) {
case 'Ace':
aces += 1;
totalPoints += 11; // เริ่มต้นด้วยการนับ Ace เป็น 11
break;
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case '10':
totalPoints += parseInt(value);
break;
case 'Jack':
case 'Queen':
case 'King':
totalPoints += 10;
break;
}
});
// ปรับค่า Ace จาก 11 เป็น 1 หากจำเป็น
while (totalPoints > 21 && aces > 0) {
totalPoints -= 10;
aces -= 1;
}
return totalPoints;
}
// ตัวอย่างการใช้งาน
const hand = ["Ace of Spades", "10 of Hearts", "3 of Clubs"];
console.log(blackjackHandValue(hand)); // Output: 14
function getRandomCard(): number {
const cards: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10]; // ค่า��พ่ในเกม
const randomIndex: number = Math.floor(Math.random() * cards.length); // สุ่มไพ่
return cards[randomIndex];
}
function playBlackjack(): void {
const card1: number = getRandomCard();
const card2: number = getRandomCard();
const card3: number = getRandomCard();
const totalPoints: number = card1 + card2 + card3;
console.log(`Cards drawn: ${card1}, ${card2}, ${card3}`);
console.log(`Total points: ${totalPoints}`);
if (totalPoints <= 17) {
console.log("Lose");
} else if (totalPoints === 18) {
console.log("Draw");
} else if (totalPoints > 18 && totalPoints <= 21) {
console.log("Win");
} else {
console.log("Lose");
}
}
// เรียกใช้ฟังก์ชันเพื่อเล่นเกม
playBlackjack();