亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

終于完成作業了

package com.pokergame;


import java.util.ArrayList;


public class Player {

public int id;

public String name;

public ArrayList<Card> cards;

public Player(int id, String name) {

this.id = id;

this.name = name;

this.cards = new ArrayList<Card>();

}

}


package com.pokergame;


public class Card implements Comparable<Card> {

public String type;

public String value;

public Card(String type, String value){

this.type = type;

this.value = value;

}

public int eqType(){

? ? ? ? int flower = 0;

? ?switch(type){

? ? ? ? case "黑桃": flower = 4;break;

? ? ? ? case "紅桃": flower = 3;break;

? ? ? ? case "梅花": flower = 2;break;

? ? ? ? case "方片": flower = 1;break;

? ?} ? ? ??

? ? ? ? return flower;

? ? }


@Override

public int compareTo(Card o) {

int flag = this.value.compareTo(o.value);

if ( flag == 0) {

return this.eqType() - o.eqType();

} else {

return flag;

}

}

}



package com.pokergame;


import java.util.ArrayList;

import java.util.Collections;

import java.util.InputMismatchException;

import java.util.Random;

import java.util.Scanner;


public class PlayGame {

public ArrayList<Card> pokers = new ArrayList<Card>();

public ArrayList<Card> newpokers = new ArrayList<Card>();

public ArrayList<Player> players = new ArrayList<Player>();

public final static String[] type = {"方片","梅花","紅桃","黑桃"};

public final static String[] size = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};


//創建撲克牌

public ArrayList<Card> createPokerSet(){

System.out.println("創建撲克牌...");

for ( String i : type ){

for ( String j : size ){

pokers.add(new Card(i, j));

System.out.print(i+j+",");

}

}

System.out.println("\n撲克牌創建完成!共有"+pokers.size()+"張牌。");

return pokers;

}


//創建玩家

public void createPlayer(int playernum){

for (int i = 1; i <= playernum; i++){

System.out.println("請輸入第"+i+"位玩家的ID和姓名:");

int id = 0;

String name = "";

while (true){

try {

//scanner對象發生異常之后必須重置才可使用,故必須放在循環內,否則循環將變成死循環

Scanner input = new Scanner(System.in);

System.out.println("輸入ID:");

id = input.nextInt();

System.out.println("輸入姓名:");

name = input.next();

break;

} catch (InputMismatchException e) {

System.out.println("請輸入整數類型的ID!");

}

}

players.add(new Player(id, name));

}

for (Player player : players){

System.out.println("----歡迎玩家:"+player.name);

}

}

//洗牌,打亂撲克牌的順序

public void shuffle(){

Random random = new Random();

for ( int i = 0; i < pokers.size(); i++){

Card e = pokers.get(random.nextInt(pokers.size()));

newpokers.add(e);

}

}

//給玩家發牌

public void getCards(int cardsnum){

System.out.println("----------開始發牌----------");

int idx = 0;

for (int i = 1; i <= cardsnum; i++){

for (Player player : players) {

System.out.println("----玩家:"+player.name+"-拿牌");

// System.out.println(newpokers.get(idx).type+newpokers.get(idx).value);

player.cards.add(newpokers.get(idx));

idx++;

}

}

System.out.println("----------發牌結束----------");

}

public void show(ArrayList<Card> cards){

for (Card card:cards){

System.out.print(card.type+card.value+",");

}

System.out.println();

}

? ?

public void play(){

System.out.println("----------開始游戲----------");

ArrayList<Card> mc = new ArrayList<Card>();

//選出每個玩家手上的最大牌

for (Player player:players) {

Collections.sort(player.cards);

int num = player.cards.size();

System.out.println("玩家:"+player.name+"最大的手牌為:"+player.cards.get(num-1).type+player.cards.get(num-1).value);

mc.add(player.cards.get(num-1));

}

//選出最大牌,宣布贏家

Collections.sort(mc);

Card max = mc.get(mc.size()-1);

for (Player player:players) {

if (player.cards.contains(max)) {

System.out.println("----------玩家"+player.name+"獲勝----------");

}

}

System.out.println("玩家各自手牌為:");

for (Player player:players){

System.out.print(player.name+":");

show(player.cards);

}

}

public static void main(String[] args) {

PlayGame pg = new PlayGame();

pg.createPokerSet();

pg.createPlayer(2);

pg.shuffle();

pg.getCards(2);

pg.play();

}

}


正在回答

0 回答

舉報

0/150
提交
取消

終于完成作業了

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號