tile游戏动作侦听器循环中的java错误
这是我的ActionListen类,它根据按钮上的数字向网格上的按钮添加ActionListener。如果我单击一个空白点旁边的按钮(TraseMay.Tale[x] [y]=0),那么这两个按钮应该互换,但是,当我单击一个按钮时,什么也不会发生。p>
这是我的密码:
public class ActionListen
{
int x;
int y;
public ActionListen()
{
for( x = 0 ; x <= 2 ; x++)
{
for( y = 0 ; y <= 2 ; y++)
{
if( x <2 && y <2)
{
if(TileGame.tile[x][y] !=0 && TileGame.tile[x+1][y] == 0)
{
TileGame.tilebutton[x][y].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
TileGame.tile[x+1][y] = TileGame.tile[x][y];
TileGame.tile[x][y] = 0;
new DrawGame();
}
});
}
else if(TileGame.tile[x][y] !=0 && TileGame.tile[x][y+1] ==0)
{
TileGame.tilebutton[x][y].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
TileGame.tile[x][y+1] = TileGame.tile[x][y];
TileGame.tile[x][y] = 0;
new DrawGame();
}
});
}
# 1 楼答案
代码当前不关心空磁贴的放置位置。因此,您只需将单击的互动程序与附近的固定互动程序进行交换。这可能是空白的。但是你应该搜索空白的瓦片(或者存储空白的瓦片坐标),交换那些坐标,而不是随机的坐标。p> 如果空白的瓷砖是在附近的UBHOUPT,AKA可以交换吗?p>