type Deck = NormalCard[] //一副扑克牌
type Color = "♦" | "♣" | "♥" | "♠";
type NormalCard = {
//每张扑克牌
color: Color
mark: number
}
function createDeck(): Deck {
//创建一副扑克牌
const deck: Deck = [];
for (let i = 1; i <= 13; i++) {
deck.push({
color: "♦",
mark: i
})
deck.push({
color: "♣",
mark: i
})
deck.push({
color: "♥",
mark: i
})
deck.push({
color: "♠",
mark: i
})
}
return deck;
}
//控制台输出
function printDeck(deck: Deck) {
let res = "\n"
deck.forEach((card, i) => {
let str = card.color;
if (card.mark <= 10) {
str += card.mark;
}
else if (card.mark === 11) {
str += "J";
}
else if (card.mark === 12) {
str += "Q";
}
else if (card.mark === 13) {
str += "K";
}
res += str + "\t";
if ((i + 1) % 9 === 0) {
res += "\n";
}
})
console.log(res);
}
const deck = createDeck();
printDeck(deck);
编译转js之后运行结果:
♦1 ♣1 ♥1 ♠1 ♦2 ♣2 ♥2 ♠2 ♦3
♣3 ♥3 ♠3 ♦4 ♣4 ♥4 ♠4 ♦5 ♣5
♥5 ♠5 ♦6 ♣6 ♥6 ♠6 ♦7 ♣7 ♥7
♠7 ♦8 ♣8 ♥8 ♠8 ♦9 ♣9 ♥9 ♠9
♦10 ♣10 ♥10 ♠10 ♦J ♣J ♥J ♠J ♦Q
♣Q ♥Q ♠Q ♦K ♣K ♥K ♠K