zoukankan      html  css  js  c++  java
  • 纸牌排序

    import java.util.*;

    public class Test {

    public static void main(String[] args) {

    Random rnd = new Random();

    int Cards[][] = new int[13][4];//检测牌是否会重复

    int Cardss[][] = new int[13][4];//按牌的大小给每张牌赋值,例如方块3等于1,黑桃2等于52,

    int t = 1;

    //赋值

    for (int m = 0; m < 13; m++)

    {

    for (int n = 0; n < 4; n++)

    {

    Cardss[m][n] = t;

    t++;

    }

    }

    //原牌

    for (int m = 0; m < 4; m++)

    {

    for (int n = 0; n < 13; n++)

    {

    Card Ca = new Card(n, m);

    System.out.print(Ca.display() + " ");

    }

    System.out.println();

    }

    System.out.println();

    System.out.println();

    int a, b, sum = 0,r=0,l=0;

    String[][] str = new String[4][53];

    while (sum!= 52) //牌的数量到52张的时候就退出循环

    {

    a = rnd.nextInt(13);//控制点数

    b = rnd.nextInt(4);//控制花色

    if (Cards[a][b] == 0)//当二维数组这个位置没有出现对应的牌时,才可进入下步操做

    {

    Cards[a][b]=1;//标记这张牌已出现过了

    Card Ca = new Card(a, b);//生成一个新对象

    System.out.print(Ca.display() + " ");

    sum++;//统计牌数

    l=Cardss[a][b]; //把这张牌对应的值赋值给l

    str[r][l]=Ca.display();

    if (sum % 13 == 0)

    {

    System.out.println();

    r++;

    }

    }

    }

    //整理牌

    System.out.println();

    System.out.println();

    for(r=0;r<4;r++)

    {

    for(l=0;l<53;l++)

    {

    if(str[r][l]!=null)

    {

    System.out.print(str[r][l]+" ");

    }

    }

    System.out.println();

    }

    }

    }

    class Card

    {

    int face;// 点数 3(0) 4 5 6 7 8 9 10 J(8) Q(9) K(10) A(11) 2(12)

    int suit;// 花色 方块(0) 梅花(1) 红桃(2) 黑桃(3)

    public Card(int f, int s)

    {

    face = f;

    suit = s;

    }

    public String display()

    {

    String s = ""; // 花色

    if (suit == 0)

    s = "♦️";

    else if (suit == 1)

    s = "♣️";

    else if (suit == 2)

    s = "♥️";

    else if (suit == 3)

    s = "♠️";

    String f = ""; // 点数

    if (face >= 0 && face <= 7)

    f = face + 3 + "";

    else if (face == 8)

    f = "J";

    else if (face == 9)

    f = "Q";

    else if (face == 10)

    f = "K";

    else if (face == 11)

    f = "A";

    else if (face == 12)

    f = "2";

    return s + f;

    }

    }

  • 相关阅读:
    212-@Slf4j注解起到了什么作用?
    212-如何实现定时器扫描?
    211-redis单线程问题?
    211-Feign中的@RequestParm与@RequestBody注解的使用
    210-java加载类的时候,发生了什么了呢?
    209-thymeleaf简单使用
    JS自定义 Map
    java Main方法 获取 maven 的resource 下的xml文件
    springboot+thymeleaf 访问静态资源解决(static)
    两个list 合并后去除掉重复removeAll()的,然后再随机获取最后list中的 几个值
  • 原文地址:https://www.cnblogs.com/suHDH/p/8900160.html
Copyright © 2011-2022 走看看