我开始制作这个非常简单的 2048 游戏,没有图形和东西(只有数组),并制作了棋盘:
import java.util.*;
public class GameBoard
{
String [][] GameBoard;
void justprint(String s, int n) //(ignore, just a function that makes next steps easier)
{
for(int i = 0; i<n;i++)
{
System.out.print(s);
}
System.out.println();
}
public GameBoard(int n)
{
GameBoard = new String [n][n];
Random num = new Random();
for(int i = 0; i<n;i++)
{
for(int j = 0; j<n;j++)
{
GameBoard[i][j] = " ";
}
}
System.out.print("-");
justprint("-----", n);
int r1 = num.nextInt(n);
int r2 = num.nextInt(n);
int r3 = num.nextInt(n);
int r4 = num.nextInt(n);
GameBoard[r1][r2] = " 2";
GameBoard[r3][r4] = " 2";
for(int i = 0; i<n;i++)
{
System.out.print("|");
for(int j = 0; j<n;j++)
{
System.out.print(GameBoard[i][j] + "|");
}
System.out.println();
System.out.print("-");
justprint("-----", n);
}
this.GameBoard = GameBoard;
}
}
现在,我想制作功能来检查相邻的地方是否为空白,或者如果它们是相同的数字则添加等;但我必须让他们在另一个班级。我可能可以使用函数来检查所有这些,但是有人可以告诉我如何在不同的类中实现所有这些吗?
我已经尝试过这样做,但是我希望用户输入游戏板的大小,而我不能这样做,就好像我要创建一个必须写的新课程一样
GameBoard gb = new GameBoard[4][4];
我不想定义尺寸,但如果我不这样做,我就无法定义我的运动功能......有什么想法吗?