扑克牌随机发牌技巧
扑克牌随机发牌系统,除去大王小王
package modeal4;
import java.util.Scanner;
public class Zuoye3 {
public static void main(String[] args) {
// 扑克牌随机发牌系统
// 判断输入数字是否符合规则
int player;
int card;
Scanner sc = new Scanner(System.in);
System.out.println("请输入玩家数和每位玩家手牌数");
player = sc.nextInt();
card = sc.nextInt();
if (player > 52 || player < 1) {
System.out.println("请输入正确玩家数");
}
if (player * card > 52) {
System.out.println("发牌总数不能多于牌总数");
}
/*
* 定义牌的数组,行标为花色,列标为大小 0为红桃,1为黑桃,2为方片,3为梅花
*/
int[][] a = new int[4][13];
for (int b = 0; b < 4; b++) {
for (int c = 0; c < 13; c++) {
a[b][c] = 0;
}
}
// 随机发牌
for (int players = 1; player > 0; player--, players++) {
System.out.print("第" + players + "位玩家的牌为:");
for (int C = 0; C < card;) {
int i = (int) (Math.random() * 4);// 花色
int j = (int) (Math.random() * 13);// 数字
if (a[i][j] != -1) {
a[i][j] = -1;
C++;
// 花色
if (i == 0) {
System.out.print("红桃");
}
if (i == 1) {
System.out.print("黑桃");
}
if (i == 2) {
System.out.print("方片");
}
if (i == 3) {
System.out.print("梅花");
}
// JQK
if ((j + 1) < 11) {
System.out.print((j + 1) + " ");
}
if ((j + 1) == 11) {
System.out.print("J" + " ");
}
if ((j + 1) == 12) {
System.out.print("Q" + " ");
}
if ((j + 1) == 13) {
System.out.print("K" + " ");
}
}
}
System.out.println();
}
}
}