第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Java入門第三季 簡易撲克牌游戲 源代碼

標簽:
Java
示例

图片描述

源码

Poker.java

package com.immoc.poker;

public class Poker implements Comparable<Poker> {
    private int no;
    private String name;

    public Poker(int no, String name) {
        this.no = no;
        this.name = name;
    }

    @Override
    public int compareTo(Poker o) {
        return Integer.compare(no, o.no);
    }

    public int getNo() {
        return no;
    }

    public void setNo(int no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Poker{" +
                "no=" + no +
                ", name='" + name + '\'' +
                '}';
    }
}

PokerGenerator.java

package com.immoc.poker;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class PokerGenerator {
    public static final String[] SUITS = {"方片", "梅花", "红桃", "黑桃"};
    public static final String[] KINDS = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};

    public static List<Poker> ascOrder() {
        List<Poker> pokers = new LinkedList<>();

        for (int i = 0; i < SUITS.length; i++) {
            for (int j = 0; j < KINDS.length; j++) {
                pokers.add(new Poker(i + j * SUITS.length, SUITS[i] + KINDS[j]));
            }
        }

        return pokers;
    }

    public static List<Poker> randomOrder() {
        List<Poker> pokers = ascOrder();

        Collections.shuffle(pokers);

        return pokers;
    }
}

Player.java

package com.immoc.poker;

import java.util.ArrayList;
import java.util.List;

public class Player {
    private int id;
    private String name;
    private List<Poker> pokers = new ArrayList<>();

    public Player(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public List<Poker> getPokers() {
        return pokers;
    }

    @Override
    public String toString() {
        return "Player{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", pokers=" + pokers +
                '}';
    }
}

Main.java

package com.immoc.poker;

import java.util.Collections;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.println("开始洗牌……");
        List<Poker> pokers = PokerGenerator.randomOrder();
        int index = 0;
        System.out.println("洗牌结束!");

        System.out.println("请输入第1位玩家的ID和姓名");
        Player player1 = new Player(getPlayerNo(input), getPlayerName(input));
        System.out.println("请输入第2位玩家的ID和姓名");
        Player player2 = new Player(getPlayerNo(input), getPlayerName(input));

        System.out.println("开始发牌……");
        for (int i = 0; i < 2; i++) {
            player1.getPokers().add(pokers.get(index++));
            player2.getPokers().add(pokers.get(index++));
        }
        System.out.println("发牌结束!");

        System.out.println("开始游戏……");
        Collections.sort(player1.getPokers());
        Poker player1MaxPoker = player1.getPokers().get(player1.getPokers().size() - 1);
        System.out.printf("玩家【%s】最大的手牌为:%s%n", player1.getName(), player1MaxPoker.getName());
        Collections.sort(player2.getPokers());
        Poker player2MaxPoker = player2.getPokers().get(player2.getPokers().size() - 1);
        System.out.printf("玩家【%s】最大的手牌为:%s%n", player2.getName(), player2MaxPoker.getName());
        Player winner = player1MaxPoker.getNo() > player2MaxPoker.getNo() ? player1 : player2;
        System.out.printf("游戏结束!玩家【%s】获胜!%n%n", winner.getName());

        System.out.println("手牌公布……");
        System.out.printf("玩家【%s】:%s%n", player1.getName(), player1.getPokers());
        System.out.printf("玩家【%s】:%s%n", player2.getName(), player2.getPokers());
        System.out.println("牌堆公布……");
        System.out.println(pokers);

        input.close();
    }

    private static int getPlayerNo(Scanner input) {
        int playerNo;

        while (true) {
            System.out.print("ID:");
            try {
                playerNo = input.nextInt();
                break;
            } catch (InputMismatchException e) {
                System.out.println("请输入整数类型的ID!");
            }
        }

        return playerNo;
    }

    private static String getPlayerName(Scanner input) {
        System.out.print("姓名:");
        return input.next();
    }
}
點擊查看更多內(nèi)容
10人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
JAVA開發(fā)工程師
手記
粉絲
27
獲贊與收藏
133

關(guān)注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消