package com.exam;
import java.util.ArrayList;
import java.util.Collections;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;
/* * 1、扑克牌创建
* 2、进行洗牌
* 3、玩家创建
* 4、进行发牌
*/
public class PTest {
private List<Card> pokerList = new ArrayList<Card>();//创建扑克List
private List<People1> peopleList = new ArrayList<People1>();//创建玩家List
/*
*1、 扑克牌创建
*/
public void creatcard(){
String[] num={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String[] type={"红桃","方块","梅花","黑桃"};
String[] other={"大王","小王"};
int sum=0;//统计总牌数量
int sum1=0;//每四个换一行数量
System.out.println("----创建扑克牌----");
for(int i=0;i<num.length;i++){
for(int j=0;j<type.length;j++){
pokerList.add(new Card(num[i],type[j],""));
}
}
for (int d=0;d<other.length;d++){
pokerList.add(new Card("","",other[d]));
}
for (Card poker : pokerList) {
System.out.print(poker.getNum() + poker.getType()+" "+ poker.getOther());
sum++;
sum1++;
if(sum1%10==0){
System.out.println("\r\n");
}
}
System.out.println("\r\n");
System.out.println("扑克牌总数: "+ sum);
System.out.println("----扑克牌已经创建成功----");
}
/*
* 2、洗牌
*/
public void upsetPoker() {
int sum1=0;//每四个换一行数量
System.out.println("------下面开始洗牌...-------");
Collections.shuffle(pokerList);
System.out.println("------洗牌结束!洗牌后是------");
//验证
//System.out.println("洗牌后为:"+pokerList.toString());
for (Card poker : pokerList) {
System.out.print(poker.getNum() + poker.getType()+" "+ poker.getOther()+" ");
sum1++;
if(sum1%10==0){
System.out.println("\r\n");
}
}
}
/*
* 3、提示创建玩家
*/
public void createPeople() {
System.out.println("\r\n"+"------创建4个玩家------");
int peopleNum=4;
Integer id;
String name;
Scanner console = null;
for (int j = 1; j <= peopleNum; j++) {
System.out.println("请输入第"+j+"位玩家的ID和姓名:");
while(true){
try {
System.out.println("输入ID:");
console = new Scanner(System.in);
id = console.nextInt();
if(peopleList.contains(new People(id,null))) {
System.out.println("此Id已存在!");
continue;
}
break;
}catch (InputMismatchException e) {
System.out.println("请输入整数类型ID!");
continue;
}
}
while(true){
System.out.println("输入姓名:");
console = new Scanner(System.in);
name = console.nextLine();
if(peopleList.contains(new People(null,name))) {
System.out.println("此name已存在!");
continue;
}
break;
}
peopleList.add(new People1(id,name));
}
console.close();//关闭输入
//欢迎
for (People1 people : peopleList) {
System.out.println("----欢迎玩家:"+people.getName());
}
}
/*
* 5、提示发牌---发牌---展示--提示发牌结束
*/
private void issuePoker() {
System.out.println("------开始发牌...-------");
int d=0;
int sum=0;
if(54%4!=0){
d=1;
}
int i = (54/4)+1;//发牌次数
int j = 0;//初始牌下标
while(i>0) {
for (People1 people : peopleList) {
System.out.println("---玩家"+people.getName()+"-拿牌");
people.cards.add(pokerList.get(j));
j++;
sum++;
if(sum==54){
break;
}
}
i--;
}
System.out.println("------发牌结束!-------");
System.out.println("玩家各自的手牌为:");
for (People1 people : peopleList) {
System.out.println(people.getName()+":"+people.cards.toString());
}}
public static void main(String[] args) {
// TODO Auto-generated method stub
PTest go = new PTest();
go.creatcard();
go.upsetPoker();
go.createPeople();
go.issuePoker();
System.out.println("");
}
}package com.exam;
/*
* Car类用来封装牌的类型、花色、大小王参数
*/public class Card {
private String num;
private String type;
private String other;
public Card(String num,String type,String other){
this.num=num;
this.type=type;
this.other=other;
}
public String getOther() {
return other;
}
public void setOther(String other) {
this.other = other;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
@Override
public String toString() {
return num + type + other;
}
}package com.exam;
/*
* People类用来封装人员id、name、手牌
*/
import java.util.ArrayList;
import java.util.List;
public class People1 {
private Integer id;
private String name;
public List<Card> cards;
public People1 (Integer id, String name) {
super();
this.id = id;
this.name = name;
this.cards = new ArrayList<Card>();
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}小测试一枚,java基础看了好多遍,要泪崩了!!!!