然后:簡單撲克牌代碼
package?com.test.card;
/**
?*?然后:?學渣團提供
?*?ZCG?提供
?*/
import?java.util.ArrayList;
import?java.util.Collection;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?java.util.Map.Entry;
import?java.util.Random;
import?java.util.Scanner;
public?class?Card?{
public?static?void?main(String[]?args)?{
Card?game?=?new?Card();
Card.cardSort();
game.shuru();
game.sendCard();
game.end();
}
/**
?*?取得牌的位置,比較牌的大小
?*/
public?void?end()?{
int?i?=?sizeCard(listCard1);
int?j?=?sizeCard(listCard2);
System.out.println("--------------------比較開始----------------------------------");
if?(i?>?j)?{
System.out.println(listCard1.get(0)?+?"勝利了?,最大的牌為:"?+?list1.get(i));
}?else?{
System.out.println(listCard2.get(0)?+?"勝利了?,最大的牌為:"?+?list1.get(j));
}
System.out.println("----------------------比較結束--------------------------------");
}
public?int?sizeCard(List<String>?list)?{
for?(String?string?:?list)?{
System.out.print(string?+?"?");
}
System.out.println("");
//?取得牌的位置
int?i?=?list1.indexOf(list.get(1));
int?j?=?list1.indexOf(list.get(2));
//?比較牌的大小
String?cardMax?=?list1.get((i?>?j)???i?:?j);
int?cardMax1?=?(i?>?j)???i?:?j;
System.out.println(list.get(0)?+?"的最大牌為:"?+?cardMax);
return?cardMax1;
}
/**
?*?發牌,每人一張,共二張
?*/
public?static?List<String>?listCard1;
public?static?List<String>?listCard2;
public?void?sendCard()?{
Card.listCard1?=?new?ArrayList<String>();
Card.listCard2?=?new?ArrayList<String>();
int?i?=?0;
//?把玩家放進數組
String?s1?=?"ID為:"?+?list3.get(1).getId()?+?"?"?+?"姓名為:"?+?list3.get(1).getName()?+?"的玩家";
String?s2?=?"ID為:"?+?list3.get(2).getId()?+?"?"?+?"姓名為:"?+?list3.get(2).getName()?+?"的玩家";
listCard1.add(s1);
listCard2.add(s2);
//?發牌到對應的玩家去
System.out.println("----------------發牌開始----------------------------");
do?{
System.out.println(list3.get(1).getName()?+?"拿牌");
listCard1.add(list2.get(i));
i++;
System.out.println(list3.get(2).getName()?+?"拿牌");
listCard2.add(list2.get(i));
i++;
}?while?(i?<?3);
System.out.println("----------------發牌結束------------------------------");
}
/**
?*?創建玩家id和姓名,id唯一,名字可以相同
?*?
?*/
public?Map<Integer,?Player>?list3;
public?void?shuru()?{
this.list3?=?new?HashMap<Integer,?Player>();
//?輸入要創建的玩家id,判斷id是否正確或者重復
int?i?=?0,?j?=?1;
int?id?=?0;
@SuppressWarnings("resource")
Scanner?scanner?=?new?Scanner(System.in);
try?{
while?(i?<?2)?{
System.out.println("*******************************");
System.out.print("請輸入第"?+?j?+?"位玩家的ID:");
id?=?scanner.nextInt();
false1(id);
if?(list3.containsKey(id))?{
System.out.println("ID已存在,再輸入");
continue;
}?else?{
System.out.print("輸入第"?+?j?+?"位玩家姓名:");
String?name?=?scanner.next();
Player?player?=?new?Player(id,?name);
list3.put(j,?player);
i++;
j++;
}
}
System.out.println("*******************************");
System.out.println("----------------------------");
allPlayers(list3);
System.out.println("----------------------------");
}?catch?(Exception?e)?{
//?TODO?Auto-generated?catch?block
System.out.println("輸入類型錯誤");
shuru();
}
}
public?static?int?false1(int?i)?throws?Exception?{
return?i;
}
/**
?*?遍歷玩家
?*?
?*?@param?<V>
?*?@param?<K>
?*/
public?static?void?allPlayers(Map<Integer,?Player>?list3)?{
Collection<Entry<Integer,?Player>>?allPl?=?list3.entrySet();
for?(Entry<Integer,?Player>?cr?:?allPl)?{
System.out.println(cr.getKey()?+?":ID為"?+?cr.getValue().getId()?+?"名字為:"?+?cr.getValue().getName());
}
}
/**
?*?創建卡牌,和洗牌
?*/
public?static?List<String>?list2,?list1;
public?static?void?cardSort()?{
list1?=?new?ArrayList<String>();
list2?=?new?ArrayList<String>();
String[]?cardType?=?{?"方塊",?"梅花",?"紅桃",?"黑桃"?};
String[]?cardSize?=?{?"3",?"4",?"5",?"6",?"7",?"8",?"9",?"10",?"J",?"Q",?"K",?"A",?"2"?};
for?(String?string?:?cardSize)?{
for?(String?string1?:?cardType)?{
String?card?=?string1?+?string;
list1.add(card);
}
}
System.out.println("------------------創建卡牌--------------------------");
for?(String?string?:?list1)?{
System.out.print(string?+?"?");
}
System.out.println("");
System.out.println("-----------------------洗牌-------------------------");
Random?random?=?new?Random();
String?k?=?"";
for?(int?i?=?0;?i?<?list1.size();?i++)?{
do?{
k?=?list1.get(random.nextInt(list1.size()));
}?while?(list2.contains(k));
list2.add(k);
}
for?(String?string?:?list2)?{
System.out.print(string?+?"?");
}
System.out.println("------------------------洗牌結束------------------");
}
}玩家
package?com.test.card;
/**
?*?然后:?學渣團提供?ZCG?提供
?*/
public?class?Player?{
private?int?id;
private?String?name;
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;
}
}
2016-02-29
*~*