采用面向对象的方式编写一个发牌游戏。四名牌手打牌,电脑随机將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(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();}}
}
本文发布于:2024-01-30 02:22:15,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170655254118555.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |