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

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

簡易撲克牌游戲,寫的略長了點,花了一下午,給大家看一下

游戲開始:O(∩_∩)O哈哈~

package?imooc.pocker;

import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.List;
import?java.util.Scanner;

/*
?*?可改變玩家數(shù)量和玩家手牌數(shù)
?*?根據(jù)手牌中最大牌進行簡單大小比較
?*/
public?class?Test?{

	public?static?void?main(String[]?args)?{
		System.out.println("--------產(chǎn)生一副撲克牌--------");
		List<Pocker>?pockers?=?Pocker.createPocker();
		System.out.println("--------撲克牌創(chuàng)建成功--------");
		System.out.println(pockers.toString());
		System.out.println("--------開始洗牌--------");
		Collections.shuffle(pockers);
		System.out.println("--------洗牌結(jié)束--------");
		System.out.println(pockers.toString());
		System.out.println("--------創(chuàng)建玩家--------");
		Scanner?scanner?=?new?Scanner(System.in);
		List<Player>?players?=?new?ArrayList<Player>();
		int?handCardNum?=?3;
		int?playerNum?=?2;
		while?(true)?{
			try?{
				System.out.println("請輸入玩家數(shù)量:");
				playerNum?=?scanner.nextInt();
				int?id;
				String?name;
				for?(int?i?=?0;?i?<?playerNum;?i++)?{
					System.out.println("創(chuàng)建第"?+?(i?+?1)?+?"位玩家的ID和姓名:");
					System.out.println("輸入玩家id(int):?");
					id?=?scanner.nextInt();
					System.out.println("輸入玩家姓名:");
					name?=?scanner.next();
					players.add(new?Player(id,?name));
				}
				for?(int?i?=?0;?i?<?playerNum;?i++)?{
					System.out.println("歡迎玩家:"?+?players.get(i).getName());
				}
				System.out.println("--------開始發(fā)牌--------");
				int?cardNums?=?handCardNum?*?playerNum;
				Pocker?pocker;
				for?(int?i?=?0;?i?<?cardNums;?i++)?{
					pocker?=?pockers.get(i);
					players.get(i?%?playerNum).getHandPockers().add(pocker);
				}
				System.out.println("--------發(fā)牌結(jié)束--------");
				System.out.println("--------開始游戲--------");
				Pocker?maxPocker?=?new?Pocker("方塊",?"2");
				int?winPlayer?=?0;
				for?(int?i?=?0;?i?<?playerNum;?i++)?{
					Collections.sort(players.get(i).getHandPockers());?//?對手牌進行排序
					Collections.reverse(players.get(i).getHandPockers());?//?排序后的手牌進行翻轉(zhuǎn),第一位為最大值
					System.out
							.println("玩家"
									+?players.get(i).getName()
									+?"最大手牌為:"
									+?players.get(i).getHandPockers().get(0)
											.toString());
					if?(maxPocker.compareTo(players.get(i).getHandPockers()
							.get(0))?<?0)?{
						maxPocker?=?players.get(i).getHandPockers().get(0);
						winPlayer?=?i;
					}
				}
				System.out.println("玩家"?+?players.get(winPlayer).getName()
						+?"獲勝");
				System.out.println("玩家各自的手牌為:");
				for?(int?i?=?0;?i?<?playerNum;?i++)?{
					System.out.println(players.get(i).getName()?+?":?"
							+?players.get(i).getHandPockers().toString());
				}
				break;
			}?catch?(Exception?e)?{
				System.out.println("輸入值錯誤,請重新輸入");
				scanner?=?new?Scanner(System.in);
			}
		}

	}

}

玩家類:Player

package?imooc.pocker;

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

public?class?Player?{
	/*
	?*?玩家
	?*?屬性:ID,姓名,手牌
	?*?手牌為撲克牌的集合
	?*/
	private?int?id;
	private?String?name;
	private?List<Pocker>?handPockers;
	
	public?Player(int?id,?String?name)?{
		this.id?=?id;
		this.name?=?name;
		this.handPockers?=?new?ArrayList<Pocker>();
	}
	
	public?int?getId()?{
		return?id;
	}

	public?String?getName()?{
		return?name;
	}

	public?List<Pocker>?getHandPockers()?{
		return?handPockers;
	}

}

撲克牌類:Pocker

package?imooc.pocker;

import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.Collections;
import?java.util.List;

/**
?*?
?*?@author?sun
?*??撲克牌
?*??包括四種花色:黑桃、紅桃、梅花、方塊、
?*??十三中點數(shù):2~10,J、Q、K、A,不包括大小王
?*/
public?class?Pocker?implements?Comparable<Pocker>{
	private?String?color;??//撲克牌花色
	private?String?value;??//撲克牌面值
	private?static?final?int?CARDNUM?=?52;???//撲克牌總量
	private?static?final?int?SINGLECOLORNUM?=?13;?//每種顏色撲克牌數(shù)量
	
	public?Pocker(){
	}
	
	public?Pocker(String?color,?String?value)?{
		this.color?=?color;
		this.value?=?value;
	}

	public?String?getColor()?{
		return?color;
	}

	public?String?getValue()?{
		return?value;
	}

	/*
	?*?產(chǎn)生52張撲克牌
	?*?return?List<Pocker>
	?*/
	?
	public?static?List<Pocker>?createPocker(){
		List<Pocker>?pockers?=?new?ArrayList<Pocker>();
		for(int?i?=?0;?i?<?CARDNUM;?i++){
			String?newValue?=?null;
			int?temp?=?i?%?SINGLECOLORNUM;
			switch?(temp)?{
			case?11:
				newValue?=?"j";
				break;
			case?12:
				newValue?=?"Q";
				break;
			case?0:
				newValue?=?"K";
				break;
			case?1:
				newValue?=?"A";
				break;
			default:
				newValue?=?String.valueOf(temp);
			}
			
			String?newColor?=?null;
			switch?(i?/?SINGLECOLORNUM)?{
			case?0:
				newColor?=?"黑桃";
				break;
			case?1:
				newColor?=?"紅桃";
				break;
			case?2:
				newColor?=?"梅花";
				break;
			case?3:
				newColor?=?"方塊";
			}
			pockers.add(new?Pocker(newColor,newValue));
		}
		return?pockers;
	}
	
	/*
	?*?Collections.shuffle進行洗牌
	?*/
	public?static?List<Pocker>?shuffle(List<Pocker>?pockers){
		Collections.shuffle(pockers);
		return?pockers;
	}
	
	/*
	?*?(non-Javadoc)
	?*?@see?java.lang.Comparable#compareTo(java.lang.Object)
	?*?重寫了copmareTo方法,實現(xiàn)了Comparable接口
	?*?根據(jù)牌值和花色在列表中的順序進行比較
	?*/
	@Override
	public?int?compareTo(Pocker?o)?{
		List<String>?valueBase?=?Arrays.asList("2","3","4","5","6","7","8","9","10","J","Q","K","A");
		List<String>?colorBase?=?Arrays.asList("方塊","梅花","紅桃","黑桃");
		if(valueBase.indexOf(this.value)?==?valueBase.indexOf(o.value))
			return?Integer.valueOf(colorBase.indexOf(this.color)).compareTo(Integer.valueOf(colorBase.indexOf(o.getColor())));
		else?
			return?Integer.valueOf(valueBase.indexOf(this.value)).compareTo(Integer.valueOf(valueBase.indexOf(o.getValue())));

	}

	@Override
	public?String?toString()?{
		return?color+value;
	}

}


正在回答

11 回答

為啥不傳到作品里,好東西呀

0 回復 有任何疑惑可以回復我~
首頁上一頁12下一頁尾頁

舉報

0/150
提交
取消

簡易撲克牌游戲,寫的略長了點,花了一下午,給大家看一下

我要回答 關(guān)注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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