Java實現(xiàn)撲克牌游戲的示例代碼
更新時間:2022年09月21日 11:32:24 作者:熬夜磕代碼丶
想不想帶上好朋友來上一局三人撲克呢?這篇文章教你如何利用Java語言實現(xiàn)一個簡單的撲克牌游戲,文中的示例代碼講解詳細,感興趣的可以了解一下
一、三人撲克
想不想帶上好朋友來上一局三人撲克呢。

二、具體實現(xiàn)
Card類
定義一個花色color變量和一個大小rank變量。
public class Card {
public int rank;
public String color;
@Override
public String toString() {
return String.format("[%s,%d]",color,rank);
}
}
生成52張牌
我們先買一副新牌
public class Cards {
public static final String[] COLORS = {"?","?","?","?"};
//輸入52張牌
public static List<Card> buyCard() {
List<Card> list = new ArrayList<>(52);
for (int i = 0; i < 4; i++) {
for (int j = 1; j <= 13; j++) {
String color = COLORS[i];
int rank = j;
Card card = new Card();
card.color = color;
card.rank =rank;
list.add(card);
}
}
return list;
}
} 

我截取了部分圖片,我們可以發(fā)現(xiàn)這是一副新牌,按照花色大小放著,我們玩撲克的時候肯定要打亂撲克牌。
打亂順序
這個方法負責(zé)將撲克牌打亂
public static void mixed(List<Card> cards) {
for (int i = 51; i > 0; i--) {
Random random = new Random();
int j = random.nextInt(i);
Card c = cards.get(i);
cards.set(i,cards.get(j));
cards.set(j,c);
}
}

發(fā)牌
public static void main(String[] args) {
List<Card> list = buyCard();//獲取新牌
mixed(list);//把牌打亂
List<List<Card>> lists = new ArrayList<>();
lists.add(new ArrayList<Card>());
lists.add(new ArrayList<Card>());
lists.add(new ArrayList<Card>());
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
lists.get(j).add(list.remove(0));
}
}
System.out.println("三個人的牌分別是: ");
System.out.println(lists.get(0));
System.out.println(lists.get(1));
System.out.println(lists.get(2));
}
三、完整代碼
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class Card {
public int rank;
public String color;
@Override
public String toString() {
return String.format("[%s,%d]",color,rank);
}
}
public class Cards {
public static final String[] COLORS = {"?","?","?","?"};
//輸入52張牌
public static List<Card> buyCard() {
List<Card> list = new ArrayList<>(52);
for (int i = 0; i < 4; i++) {
for (int j = 1; j <= 13; j++) {
String color = COLORS[i];
int rank = j;
Card card = new Card();
card.color = color;
card.rank =rank;
list.add(card);
}
}
return list;
}
public static void mixed(List<Card> cards) {
for (int i = 51; i > 0; i--) {
Random random = new Random();
int j = random.nextInt(i);
Card c = cards.get(i);
cards.set(i,cards.get(j));
cards.set(j,c);
}
}
public static void main(String[] args) {
List<Card> list = buyCard();//獲取新牌
mixed(list);//把牌打亂
List<List<Card>> lists = new ArrayList<>();
lists.add(new ArrayList<Card>());
lists.add(new ArrayList<Card>());
lists.add(new ArrayList<Card>());
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
lists.get(j).add(list.remove(0));
}
}
System.out.println("三個人的牌分別是: ");
System.out.println(lists.get(0));
System.out.println(lists.get(1));
System.out.println(lists.get(2));
}
}到此這篇關(guān)于Java實現(xiàn)撲克牌游戲的示例代碼的文章就介紹到這了,更多相關(guān)Java撲克牌游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實戰(zhàn)項目之校園跑腿管理系統(tǒng)的實現(xiàn)
只有理論是不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Springboot+vue+maven+elementui+mysql實現(xiàn)一個校園跑腿管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2022-01-01
使用Java實現(xiàn)KMZ和KML數(shù)據(jù)的直接解析
本文主要講解如何用JAVA語言,直接解析KMZ數(shù)據(jù),文章首先介紹google地圖中的KMZ和KML數(shù)據(jù),然后使用代碼的方式實現(xiàn)數(shù)據(jù)的解析,最后展示解析成果以及如何將數(shù)據(jù)轉(zhuǎn)換成空間WKT數(shù)據(jù),需要的朋友可以參考下2024-06-06
SpringCloud遠程服務(wù)調(diào)用實戰(zhàn)筆記
本文給大家介紹SpringCloud遠程服務(wù)調(diào)用實戰(zhàn)筆記,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-11-11

