poker(typescript版)

Card

export class Card{
    rank: number;
    suit: string;
    constructor(suit:string, rank:number){
        this.rank = rank;
        this.suit = suit;
    }
    toString():string{
        let new_rank = ''
        switch(this.rank){
            case 1:
                {
                    new_rank = 'A'
                    break
                }
            case 11:
                {
                    new_rank = 'J'
                    break
                }
            case 12:
                {
                    new_rank = 'Q'
                    break
                }
            case 13:
                {
                    new_rank = 'K'
                    break
                }
            default:
                {
                    new_rank = this.rank+''
                    break
                }
        }
        return this.suit + new_rank;
    }
}

let card:Card = new Card('红桃',12)
console.log(card.toString());

Poker

import { Card } from "./card";

export class Poker{
    suits: string[] = ['红桃','黑桃','方片','梅花'];
    cards: Array<Card> = new Array<Card>(52);
    constructor(){
        let count = 0;
        for(let i = 0; i < this.suits.length; i++){
            for(let j = 0; j < 13; j++){
                let card_tmp = new Card(this.suits[i], j+1);
                this.cards[count++] = card_tmp;
            }
        }
    }

    outputCard(){
        let count = 0;
        for(let i = 0; i < this.suits.length; i++){
            for(let j = 0; j < 13; j++){
                if(count % 13 == 0 && count != 0){
                    console.log()
                }
                process.stdout.write(this.cards[count++].toString() + ' ')
            }
        }
    }

    shuffleCard(){
        for(let i = 0; i < this.cards.length; i++){
            let random_idx = Math.floor(Math.random() * this.cards.length);
            [this.cards[i],this.cards[random_idx]] =  [this.cards[random_idx],this.cards[i]]
        }
    }
}

let poker: Poker = new Poker()
poker.outputCard()
poker.shuffleCard()
console.log()
console.log()
poker.outputCard()

相关推荐

  1. servlet+thymeleaf改良

    2024-05-09 15:22:01       38 阅读
  2. docker学习——汇总

    2024-05-09 15:22:01       39 阅读
  3. Docker安装【linux

    2024-05-09 15:22:01       34 阅读
  4. 计算几何学(工程

    2024-05-09 15:22:01       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-09 15:22:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-09 15:22:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-09 15:22:01       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-09 15:22:01       20 阅读

热门阅读

  1. (六)Linux的Shell编程(下)

    2024-05-09 15:22:01       11 阅读
  2. 点击菜单改变svg图标颜色

    2024-05-09 15:22:01       11 阅读
  3. GUIDELINES FOR THE PREPARATION OF FINAL YEAR PROJECT REPORT

    2024-05-09 15:22:01       10 阅读
  4. 头歌python本月天数

    2024-05-09 15:22:01       8 阅读
  5. 数据结构(一)初识数据结构

    2024-05-09 15:22:01       7 阅读
  6. 数据结构:顺序表

    2024-05-09 15:22:01       11 阅读