设计一个随机发牌游戏(共52张无大小王)
采用面向对象的方式编写一个发牌游戏。四名牌手打牌,电脑随机將52张牌(不含大、小王)发给四名牌手,并在屏幕上显示每位牌手的牌。
输出样例如下:
第0牌手:梅花10 梅花8 方片9 黑桃K 梅花4 红桃9 黑桃5 黑桃6 黑桃2 红桃J 红桃7 方片5 黑桃10
第1牌手:红桃5 红桃4 方片10 方片1 梅花5 梅花9 梅花K 梅花Q 红桃8 红桃Q 黑桃3 黑桃7 梅花1
第2牌手:方片3 方片7 方片6 梅花2 梅花6 方片Q 梅花J 方片2 黑桃Q 方片J 黑桃4 黑桃8 红桃3
第3牌手:方片4 方片8 黑桃J 梅花3 梅花7 黑桃1 红桃2 红桃6 红桃10 方片K 红桃K 黑桃9 红桃1
1.card类
public class Card {
String str;
Card(String color,String num){
str=color+num;
}
}
2.poke类
public class Poke {
static String[] color={"黑桃","红桃","梅花","方片"};
static String[] num={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
public void getpoke(Card card[]) {
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 13; j++) {
card[i * 13 + j] = new Card(color[i], num[j]);
}
}
}
}
3.player类
public class Player {
Card[] card=new Card[13];
Player(Card card[], int flag[]){
for(int i=0;i<13;i++){
int x=(int)(Math.random()*52);
if(flag[x]==0){
this.card[i]=card[x];
flag[x]=1;
}
else i--;
}
}
public void print(){
for(int i=0;i<13;i++){
System.out.print(this.card[i].str+"\t");
}
System.out.println();
}
public static void main(String[] args){
Card[] cards=new Card[52];
Poke poke=new Poke();
poke.getpoke(cards);
int[] flag=new int[52];
Player[] players=new Player[4];
for(int i=0;i<4;i++){
System.out.print("第"+i+"牌手:");
players[i]=new Player(cards,flag);
players[i].print();
}
}
}