文章目录
Java实现纸牌游戏
实现要求(游戏规则)
有一副扑克54张(同现实接触的纸牌一致),玩家两名,洗牌后随机从任何一个玩家开始发牌,每人获得27张后停顿30秒,然后正式开始游戏,两名玩家逐个出牌(每张牌都是随机抽取),第一局随机决定谁先出,第二局开始,谁的牌大(按照大小规则)谁先出。如果玩家A大,那么将玩家B的牌拿到玩家A的纸牌中,30s后哪个玩家的牌多,谁就获胜!!
代码实现
- 实体类
扑克牌
public class Card {
private String rank;
private String color;
public Card(String rank, String color) {
this.rank = rank;
this.color = color;
}
public Card() {
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
@Override
public String toString() {
return "Card{" +
"rank='" + rank + '\'' +
", color='" + color + '\'' +
'}';
}
}
玩家
public class Player {
private String name;
List<Card> handCards = new ArrayList<Card>();
public Player(String name, List<Card> handCards) {
this.name = name;
this.handCards = handCards;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Card> getHandCards() {
return handCards;
}
public void setHandCards(Card card) {
this.handCards = handCards;
}
}
- 创建扑克类
//创建一副扑克牌
public class Poke {
//扑克集合
private List<Card> pokeList = new ArrayList<>();
//扑克牌的值
private int value;
//创建一副扑克牌
public Poke(){
String[] rank = {
"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
String[] color={
"黑桃","红桃","方块","梅花"};
System.out.println("--------创建一副扑克牌--------");
for (int i = 0; i < rank.length; i++) {
for (int j = 0; j < color.length; j++) {
pokeList.add(new Card(rank[i],color[j]));
}
}
pokeList.add(new Card("red_joke",""));
pokeList.add(new Card("black_joke",""));
//打乱顺序
Collections.shuffle(pokeList);
}
//拿到一张牌
public List<Card> getCard(){
return pokeList;
}
//给扑克牌排大小
public int getValue(Card card){
String[] rank = {
"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
String[] color={
"黑桃","红桃","方块","梅花"};
for (int i = 0; i < rank.length; i++) {
if(card.getRank().equals(rank[i])){
value=i*10;
}
}
for (int i = 0; i < color.length; i++) {
if(card.getColor().equals(color[i])){
value+=i;
}
}
return value;
}
}
- 主函数
public class Main {
public static void main(String[] args) throws InterruptedException {
//游戏加载界面
System.out.