JAVA集合練習:鬥地主發牌
學完集合可以練習一個小題目: 鬥地主發牌
package test1;
import java.util.ArrayList;
import java.util.Collections;
//鬥地主發牌程式編寫
public class TestPoker {
public static void main(String[] args) {
//三個玩家,起名
Player p1 = new Player("RayLu");
Player p2 = new Player("Bleach");
Player p3 = new Player("Tom");
//整副撲克牌物件建立
Poker poker = new Poker();
//洗牌
poker.pokerShuffle();
//發牌
for(int i = 0; i < poker.getPoker().size(); i++){
if( i % 3 == 0){
p1.getPoker().add(poker.getPoker().get(i));
}else if( i%3==1){
p2.getPoker().add(poker.getPoker().get(i));
}else if(i%3 ==2){
p3.getPoker().add(poker.getPoker().get(i));
}
}
//發牌完成,遍歷每個玩家手中的牌
for(int i = 0; i < p1.getPoker().size(); i++){
System.out.println(p1.getName()+"手中第"+(i+1)+"張牌是:"+p1.getPoker().get(i));
}
for(int i = 0; i < p2.getPoker().size(); i++){
System.out.println(p2.getName()+"手中第"+(i+1)+"張牌是:"+p2.getPoker().get(i));
}
for(int i = 0; i < p3.getPoker().size(); i++){
System.out.println(p3.getName()+"手中第"+(i+1)+"張牌是:"+p3.getPoker().get(i));
}
}
}
class Poker{
private String[] pokerColor = new String[]{"紅桃","黑桃","方片","梅花"};
private String[] pokerNum = new String[]{"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
private ArrayList<String> poker;
public Poker(){
poker = new ArrayList<String>();
for(int i =0; i < this.pokerColor.length; i++){
for (int j = 0; j < this.pokerNum.length; j++){
String str = pokerColor[i] + pokerNum[j];
poker.add(str);
}
}
poker.add("大王");
poker.add("小王");
}
//獲取整副撲克牌
public ArrayList<String> getPoker(){
return poker;
}
//重洗撲克牌
public void pokerShuffle(){
Collections.shuffle(poker);
}
}
//鬥地主玩家
class Player{
private String name;//玩家姓名
private ArrayList<String> poker;//玩家手中的牌
public ArrayList<String> getPoker() {
return poker;
}
public void setPoker(ArrayList<String> poker) {
this.poker = poker;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Player(String name) {
super();
this.name = name;
poker = new ArrayList<String>();
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Player other = (Player) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}
相關文章
- 集合框架-模擬鬥地主洗牌和發牌案例框架
- 集合框架-模擬鬥地主洗牌和發牌並對牌進行排序案例框架排序
- 練習4. 鬥地主遊戲遊戲
- Map實現鬥地主發牌有序版二
- 1.cocos2d-x鬥地主實現-發牌
- 8、用java的ArrayList集合完成模擬鬥地主案例Java
- Java鬥地主專案碎片Java
- Java Map集合練習Java
- Java寫的鬥地主遊戲原始碼Java遊戲原始碼
- Python鬥地主Python
- 模擬鬥地主
- 使用Java實現簡單的鬥地主案例Java
- 聯眾鬥地主計牌器V2.2註冊演算法分析演算法
- 自己實現鬥地主引擎
- Android鬥地主遊戲原始碼Android遊戲原始碼
- 破解鬥地主1。0 (932字)
- Python程式設計基礎練習——撲克牌發牌問題Python程式設計
- 用鬥地主的例項學會使用java Collections工具類Java
- 用Python破解鬥地主殘局Python
- Python 三人鬥地主程式碼Python
- Golang多執行緒簡單鬥地主Golang執行緒
- 請教如何破解鬥地主 (269字)
- 位元組跳動入股《芒果鬥地主》開發商林子互娛
- JAVA入門第三季——最後練習題撲克牌Java
- 遊戲《鬥遊鬥地主》被撤銷出版物號,為今年首款遊戲
- JAVA基礎 練習-13-ArrayList集合學生物件遍歷Java物件
- springboot+Java+cocos creater鬥地主,麻將非常的完整棋牌遊戲專案Spring BootJava遊戲
- Java集合框架學習Java框架
- 學習Java: CopyOnWrite集合Java
- “歡喜鬥地主”等44款App存違規行為APP
- Java方法練習Java
- java練習題Java
- Java-發紅包例項-繼承練習Java繼承
- JAVA學習知識集合Java
- Java 集合學習筆記Java筆記
- Java 學習資料集合Java
- Java集合學習總結Java
- Java繼承練習Java繼承