如何改组数组并将其放入缓冲的图像中

问题描述

基本上,我正在用Java做一个多米诺骨牌游戏,但是我很新,不能弄清楚如何使用数组和缓冲的图像将多米诺骨牌改组。

这里的代码是为每只手设置一个数组,并为每个多米诺骨牌设置一个数组,请记住,我没有为程序运行者将要扮演的每个多米诺骨牌游戏使用AI。

static String [] hand1 = new String[7];
static String [] hand2 = new String [7];
static String [] hand3 = new String[7];
static String [] hand4 = new String[7];
static String[] allDominoes = {"00","01","02","03","04","05","06","11","12","13","14","15","16","22","23","24","25","26","33","34","35","36","44","45","46","55","56","57"};

这就是我用来打乱多米诺骨牌并将其放入每个手形阵列的方法

public static void newRound() // start a new round ; shuffle the dominoes ; hand them out
{
    
Arrays.fill(hand1,null);
Arrays.fill(hand2,null);
Arrays.fill(hand3,null);
Arrays.fill(hand4,null);

String[] shuffledDominos = new String[28];
List<String> shuffled = Arrays.asList(allDominoes);

Collections.shuffle(shuffled);

shuffled.toArray(shuffledDominos);  

    int pos = 0;
    
    for (int j = 0; j < 7; j++)
    {
        hand1[pos] = shuffledDominos[j];
        pos++;
    }
    pos = 0;
    for (int y = 7; y < 14; y++)
    {
        hand2[pos] = shuffledDominos[y];
        pos++;
    }
    pos = 0;
    for (int x = 14; x < 21; x++)
    {
        hand3[pos] = shuffledDominos[x];
        pos++;
    }
    pos = 0;
    for (int z = 21; z < 28; z++)
    {
        hand4[pos] = shuffledDominos[z];
        pos++;
    }

但是我认为这部分是完全错误的,并且必须有一种更好的方法来执行此操作,因为我不确定如何从头开始。

这将为每个多米诺骨牌图像分配多米诺骨牌png。

public DominoPanel() 
{
    
    try
    {
        dom00 = ImageIO.read(DominoPanel.class.getResource("/Image/00.png"));
        dom01 = ImageIO.read(DominoPanel.class.getResource("/Image/01.png"));
        dom02 = ImageIO.read(DominoPanel.class.getResource("/Image/02.png"));
        dom03 = ImageIO.read(DominoPanel.class.getResource("/Image/03.png"));
        dom04 = ImageIO.read(DominoPanel.class.getResource("/Image/04.png"));
        dom05 = ImageIO.read(DominoPanel.class.getResource("/Image/05.png"));
        dom06 = ImageIO.read(DominoPanel.class.getResource("/Image/06.png"));
        dom11 = ImageIO.read(DominoPanel.class.getResource("/Image/11.png"));
        dom12 = ImageIO.read(DominoPanel.class.getResource("/Image/12.png"));
        dom13 = ImageIO.read(DominoPanel.class.getResource("/Image/13.png"));
        dom14 = ImageIO.read(DominoPanel.class.getResource("/Image/14.png"));
        dom15 = ImageIO.read(DominoPanel.class.getResource("/Image/15.png"));
        dom16 = ImageIO.read(DominoPanel.class.getResource("/Image/16.png"));
        dom22 = ImageIO.read(DominoPanel.class.getResource("/Image/22.png"));
        dom23 = ImageIO.read(DominoPanel.class.getResource("/Image/23.png"));
        dom24 = ImageIO.read(DominoPanel.class.getResource("/Image/24.png"));
        dom25 = ImageIO.read(DominoPanel.class.getResource("/Image/25.png"));
        dom26 = ImageIO.read(DominoPanel.class.getResource("/Image/26.png"));
        dom33 = ImageIO.read(DominoPanel.class.getResource("/Image/33.png"));
        dom34 = ImageIO.read(DominoPanel.class.getResource("/Image/34.png"));
        dom35 = ImageIO.read(DominoPanel.class.getResource("/Image/35.png"));
        dom36 = ImageIO.read(DominoPanel.class.getResource("/Image/36.png"));
        dom44 = ImageIO.read(DominoPanel.class.getResource("/Image/44.png"));
        dom45 = ImageIO.read(DominoPanel.class.getResource("/Image/45.png"));
        dom46 = ImageIO.read(DominoPanel.class.getResource("/Image/46.png"));
        dom55 = ImageIO.read(DominoPanel.class.getResource("/Image/55.png"));
        dom56 = ImageIO.read(DominoPanel.class.getResource("/Image/56.png"));
        dom66 = ImageIO.read(DominoPanel.class.getResource("/Image/66.png"));
        
    }
    catch(Exception E)
    {
        
    }

我知道我可能无法很好地解释这一点,因此我将尽力在这里进行总结。我需要能够为每个玩家分配一个随机的多米诺骨牌,然后使用缓冲的图像在JPanel中将它们打印出来。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...