Player.java
package Poker;
import java.util.ArrayList;
import java.util.List;
public class Player {
public List<String> owncards;
public String biggest, name;
int id;
public Player() {
owncards = new ArrayList<>();
}
public void addCard(String card) {
owncards.add(card);
}
}
Test.java
package Poker;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
public class Test {
List<String> cards = new ArrayList<>();
List<Player> players = new ArrayList<>();
Set<String> existcards = new HashSet<>();
Scanner scan = new Scanner(System.in);
public Test() {
System.out.println("-----创建扑克牌-----");
cards.add("方块2");
cards.add("梅花2");
cards.add("红桃2");
cards.add("黑桃2");
cards.add("方块3");
cards.add("梅花3");
cards.add("红桃3");
cards.add("黑桃3");
cards.add("方块4");
cards.add("梅花4");
cards.add("红桃4");
cards.add("黑桃4");
cards.add("方块5");
cards.add("梅花5");
cards.add("红桃5");
cards.add("黑桃5");
cards.add("方块6");
cards.add("梅花6");
cards.add("红桃6");
cards.add("黑桃6");
cards.add("方块7");
cards.add("梅花7");
cards.add("红桃7");
cards.add("黑桃7");
cards.add("方块8");
cards.add("梅花8");
cards.add("红桃8");
cards.add("黑桃8");
cards.add("方块9");
cards.add("梅花9");
cards.add("红桃9");
cards.add("黑桃9");
cards.add("方块10");
cards.add("梅花10");
cards.add("红桃10");
cards.add("黑桃10");
cards.add("方块J");
cards.add("梅花J");
cards.add("红桃J");
cards.add("黑桃J");
cards.add("方块Q");
cards.add("梅花Q");
cards.add("红桃Q");
cards.add("黑桃Q");
cards.add("方块K");
cards.add("梅花K");
cards.add("红桃K");
cards.add("黑桃K");
cards.add("方块A");
cards.add("梅花A");
cards.add("红桃A");
cards.add("黑桃A");
System.out.println("-----创建扑克牌成功-----");
System.out.println("扑克牌如下:" + cards.toString());
}
public void getPlayer(Player player, int id) {
System.out.println("请输入第" + id + "位玩家ID:");
player.id = scan.nextInt();
System.out.println("请输入第" + id + "位玩家名字:");
player.name = scan.next();
}
public void Welcome() {
for(int i = 0; i < players.size(); i++) {
System.out.println("--欢迎玩家:" + players.get(i).name);
}
}
public void Distribute() {
System.out.println("-----开始发牌-----");
for(int i = 0; i < 2; i++) {
for(int j = 0; j < players.size(); j++) {
System.out.println("---玩家" + players.get(j).name + "拿牌---");
while(true) {
Random random = new Random();
int choose = random.nextInt(cards.size());
if(existcards.contains(cards.get(choose))) continue;
players.get(j).owncards.add(cards.get(choose));
existcards.add(cards.get(choose));
break;
}
}
}
System.out.println("-----发牌完成-----");
}
public void getBiggest(Player player) {
int max = 0;
for(int i = 0; i < player.owncards.size(); i++) {
if(max < cards.indexOf(player.owncards.get(i))) {
max = cards.indexOf(player.owncards.get(i));
}
}
player.biggest = cards.get(max);
}
public void beginGame() {
System.out.println("-----开始游戏-----");
int max = 0;
String winner = "";
for(Player player : players) {
getBiggest(player);
System.out.println("玩家" + player.name + "最大的手牌是:" + player.biggest);
if(max < cards.indexOf(player.biggest)) {
max = cards.indexOf(player.biggest);
winner = player.name;
}
}
System.out.println("-----玩家" + winner + "获胜!!!-----");
System.out.println("-----玩家各自的手牌-----");
for(Player player : players) {
System.out.println(player.name + player.owncards.toString());
// for(String card : player.owncards) {
//
// }
}
System.out.println("-----游戏结束-----");
}
public void Solve() {
System.out.println("请输入游戏人数(大于1小于27)");
int number = scan.nextInt();
for(int i = 1; i <= number; i++) {
Player player = new Player();
getPlayer(player, i);
players.add(player);
player = null;
}
Welcome();
Distribute();
beginGame();
}
public static void main(String[] args) {
Test test = new Test();
test.Solve();
}
}
游戏效果
-----创建扑克牌-----
-----创建扑克牌成功-----
扑克牌如下:[方块2, 梅花2, 红桃2, 黑桃2, 方块3, 梅花3, 红桃3, 黑桃3, 方块4, 梅花4, 红桃4, 黑桃4, 方块5, 梅花5, 红桃5, 黑桃5, 方块6, 梅花6, 红桃6, 黑桃6, 方块7, 梅花7, 红桃7, 黑桃7, 方块8, 梅花8, 红桃8, 黑桃8, 方块9, 梅花9, 红桃9, 黑桃9, 方块10, 梅花10, 红桃10, 黑桃10, 方块J, 梅花J, 红桃J, 黑桃J, 方块Q, 梅花Q, 红桃Q, 黑桃Q, 方块K, 梅花K, 红桃K, 黑桃K, 方块A, 梅花A, 红桃A, 黑桃A]
请输入游戏人数(大于1小于27)
2
请输入第1位玩家ID:
1
请输入第1位玩家名字:
TOM
请输入第2位玩家ID:
2
请输入第2位玩家名字:
SHADOW
--欢迎玩家:TOM
--欢迎玩家:SHADOW
-----开始发牌-----
---玩家TOM拿牌---
---玩家SHADOW拿牌---
---玩家TOM拿牌---
---玩家SHADOW拿牌---
-----发牌完成-----
-----开始游戏-----
玩家TOM最大的手牌是:黑桃A
玩家SHADOW最大的手牌是:红桃J
-----玩家TOM获胜!!!-----
-----玩家各自的手牌-----
TOM[红桃10, 黑桃A]
SHADOW[梅花J, 红桃J]
-----游戏结束-----
点击查看更多内容
10人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦