##java-四人发牌-面向对象
采用面向对象的方式编写一个发牌游戏。四名牌手打牌,电脑随机將52张牌(不含大、小王)发给四名牌手,并在屏幕上显示每位牌手的牌。//提示:设计出三个类: Card类(代表每一张扑克)、Player类(代表每一位选手)和Poke类(代表一副牌)。
public class Card {//定义card类
String type;
Card(String color,int num)//构造一张牌
{
type=color+num;
}
Card(String color,String num)
{
type=color+num;
}
}
public class Poke {//定义一副牌
Card[] card=new Card[52];
Poke()//构造一副牌
{
for(int i=0;i<13;i++)
{
if(i<=9&i>=1)
{
card[i]=new Card("黑桃",i+1);
card[i+13]=new Card("红桃",i+1);
card[i+13*2]=new Card("黑梅",i+1);
card[i+13*3]=new Card("方块",i+1);
}
else if(i==0)
{
card[i]=new Card("黑桃","A");
card[i+13]=new Card("红桃","A");
card[i+13*2]=new Card("黑梅","A");
card[i+13*3]=new Card("方块","A");
}
else if(i==10)
{
card[i]=new Card("黑桃","J");
card[i+13]=new Card("红桃","J");
card[i+13*2]=new Card("黑梅","J");
card[i+13*3]=new Card("方块","J");
}
else if(i==11)
{
card[i]=new Card("黑桃","Q");
card[i+13]=new Card("红桃","Q");
card[i+13*2]=new Card("黑梅","Q");
card[i+13*3]=new Card("方块","Q");
}
else
{
card[i]=new Card("黑桃","K");
card[i+13]=new Card("红桃","K");
card[i+13*2]=new Card("黑梅","K");
card[i+13*3]=new Card("方块","K");
}
}
}
Card[] getCard()
{
return card;
}
}
import java.util.Random;
public class Player {//定义每个玩家
static int num=-1;
Card[] str=new Card[13];
Player(Card card[],int flag[])
{
Random r=new Random();
for(int i=0;i<13;i++)
{
int x=r.nextInt(52);
if(flag[x]==0)
{
str[i]=card[x];
flag[x]=1;
}
else i--;
}
num++;
}
void showCard()//展示每位玩家的牌
{
System.out.print("第"+num+"牌手:");
for(int i=0;i<13;i++)
{
if(i!=12) System.out.print(str[i].type+" ");
else System.out.println(str[i].type);
}
}
}
public class PlayCard {//开始游戏
public static void main(String[] args) {
// TODO Auto-generated method stub
Poke poke=new Poke();
Player[] player=new Player[4];
int[] flag=new int[52];
for(int i=0;i<4;i++)
{
player[i]=new Player(poke.getCard(),flag);
player[i].showCard();
}
}
}
你帅你美不点赞?
么么