ITPub博客

首页 > IT职业 > IT职场 > java入门第三季—扑克牌游戏

java入门第三季—扑克牌游戏

IT职场 作者:limiao 时间:2021-09-09 09:10:18 0 删除 编辑

package poker;

public String getDesign() {
return design;
}
public void setDesign(String design) {
this.design = design;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}

public int numberSize(Poker poker){//传入参数扑克牌
String[] numbers={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
int thisNumber=0;//手牌点数
int pokerNumber=0;//参数扑克牌点数
for(int i=0;i if(this.number.equals(numbers[i])&&poker.number.equals(numbers[i]))
thisNumber=pokerNumber=i;
else{
if(this.number.equals(numbers[i]))
thisNumber=i;
else{
if(poker.number.equals(numbers[i]))
pokerNumber=i;
}
}
}
if(thisNumber>pokerNumber)
return 1;
else{
if(thisNumber==pokerNumber)
return 0;
else
return -1;
}
}

public int designSize(Poker poker){
String[] designs={"方块","梅花","红心","黑桃"};
int thisDesign=0;//手牌花色
int pokerDesign=0;//参数扑克牌花色
for(int i=0;i if(this.design.equals(designs[i]))
thisDesign=i;
else{
if(poker.design.equals(designs[i]))
pokerDesign=i;
else
continue;
}
}
if(thisDesign>pokerDesign)
return 1;
else
return -1;
}
}
package poker;
import java.util.ArrayList;
import java.util.List;
/
创建玩家类
/
public class Player {
private int id;//玩家ID
private String name;//玩家姓名
public List pokers;//玩家手牌
public Player(int id,String name){//初始化成员变量
this.id=id;
this.name=name;
this.pokers=new ArrayList();
}
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;
}
}
package poker;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
import java.util.Map.Entry;
/

测试扑克牌游戏类
/
public class GameTest {
public List pokerList;//扑克牌集合
public List players;//玩家集合
public GameTest(){//初始化成员变量
this.pokerList=new ArrayList();
this.players=new ArrayList();
}

public void addPoker(){
Poker[] poker={new Poker("方块","A"),new Poker("方块","2"),new Poker("方块","3"),new Poker("方块","4"),new Poker("方块","5"),new Poker("方块","6"),new Poker("方块","7"),new Poker("方块","8"),new Poker("方块","9"),new Poker("方块","10"),new Poker("方块","J"),new Poker("方块","Q"),new Poker("方块","K"),
new Poker("梅花","A"),new Poker("梅花","2"),new Poker("梅花","3"),new Poker("梅花","4"),new Poker("梅花","5"),new Poker("梅花","6"),new Poker("梅花","7"),new Poker("梅花","8"),new Poker("梅花","9"),new Poker("梅花","10"),new Poker("梅花","J"),new Poker("梅花","Q"),new Poker("梅花","K"),
new Poker("红心","A"),new Poker("红心","2"),new Poker("红心","3"),new Poker("红心","4"),new Poker("红心","5"),new Poker("红心","6"),new Poker("红心","7"),new Poker("红心","8"),new Poker("红心","9"),new Poker("红心","10"),new Poker("红心","J"),new Poker("红心","Q"),new Poker("红心","K"),
new Poker("黑桃","A"),new Poker("黑桃","2"),new Poker("黑桃","3"),new Poker("黑桃","4"),new Poker("黑桃","5"),new Poker("黑桃","6"),new Poker("黑桃","7"),new Poker("黑桃","8"),new Poker("黑桃","9"),new Poker("黑桃","10"),new Poker("黑桃","J"),new Poker("黑桃","Q"),new Poker("黑桃","K")};
pokerList.addAll(Arrays.asList(poker));
System.out.println("-----创建扑克牌-----");
}

public void forEach(){
System.out.println("-----扑克牌创建成功-----");
System.out.print("扑克牌:");
for(Object obj:pokerList){
Poker p=(Poker)obj;
System.out.print(p.getDesign()+p.getNumber()+",");
}
System.out.println();//跳到下一行
}

public void disOrganize(){
System.out.println("-----开始洗牌-----");
Collections.shuffle(pokerList);
System.out.println("-----洗牌结束!-----");
}

public void creatPlayer(){
Scanner sc=new Scanner(System.in);
int i=0;
while(i System.out.println("输入玩家"+(i+1)+"ID:");
int ID=sc.nextInt();
System.out.println("输入姓名:");
String name=sc.next();
Player newPlayer=new Player(ID,name);
players.add(i, newPlayer);
i++;
}
}

public void playerList(){
for(Player player:players){
System.out.println("---欢迎玩家:"+player.getName());
}
}

public void deal(){
System.out.println("-----开始发牌-----");
List integerList=new ArrayList();
Random random=new Random();
int k;
for(int i=0;i for(int j=0;j do{
k=random.nextInt(52);//取得随机数,去掉重复
}while(integerList.contains(k));
integerList.add(k);
Poker pl=(Poker)pokerList.get(k);//以随机数为索引位置,获取对应的扑克牌
players.get(j).pokers.add(pl);//将该扑克牌存入玩家的手牌中
System.out.println("玩家"+players.get(j).getName()+"-拿牌");
}
}
System.out.println("-----发牌结束-----");
}

for(int i=0;i System.out.print("玩家"+players.get(i).getName()+"的牌:");
for(Poker p:players.get(i).pokers){
System.out.print(p.getDesign()+p.getNumber()+" ");
}
System.out.println();
}
}

public static void main(String[] args) {
GameTest gt=new GameTest();//创建对象
gt.addPoker();//创建扑克牌
gt.forEach();//循环打印扑克牌
gt.disOrganize();//打乱扑克牌顺序
gt.creatPlayer();//创建玩家
gt.playerList();//遍历玩家
gt.deal();//发牌
gt.gameBegin();//开始游戏
}

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4549/viewspace-2799817/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-10

  • 博文量
    190
  • 访问量
    1372