Java 2048合并方法帮助

Java 2048合并方法帮助,java,methods,merge,2048,Java,Methods,Merge,2048,我想弄清楚如何使用右移、上移、下移、左移的方法。我觉得我的解决方案应该是有效的,所以如果我说它是错的或什么的话,我会打电话给你 主要 import java.util.Random; 导入java.util.Scanner; 导入java.util.*; 公开课跑者 { int[]board=新int[4][4]; 扫描仪输入=新扫描仪(System.in); 公共作废打印WelcomeandDirections() { //指示 System.out.println(“按r启动或重新启动”);

我想弄清楚如何使用右移、上移、下移、左移的方法。我觉得我的解决方案应该是有效的,所以如果我说它是错的或什么的话,我会打电话给你

主要

import java.util.Random;
导入java.util.Scanner;
导入java.util.*;
公开课跑者
{
int[]board=新int[4][4];
扫描仪输入=新扫描仪(System.in);
公共作废打印WelcomeandDirections()
{
//指示
System.out.println(“按r启动或重新启动”);
System.out.println(“按u键向上移动”);
System.out.println(“按d向下移动”);
System.out.println(“按r向右移动”);
System.out.println(“按l向左移动”);
System.out.println(“将相同数字的倍数滑到一起,形成一个更大的数字。这样做,直到无法再进行组合或达到2048号”);
}
公共空间块()
{
随机rad=新随机();
int a=rad.nextInt(4);
int b=rad.nextInt(4);
布尔tf=假;
while(tf==false)
{
如果(电路板[a][b]==0)
{
董事会[a][b]=2;
tf=真;
}
a=辐射nextInt(4);
b=辐射nextInt(4);
}
}
公共印制板()
{
int行=4;
int cols=4;
int-boxSize=4;
字符串行破折号=“-------------------”;
对于(int i=0;i=1;i--)
{
对于(int j=4;j>0;j--)
{
if(board[i][j]==board[i-1][j])
{
董事会[i][j]=董事会[i-1][j]*2;
董事会[i-1][j]=0;
返回true;
}
else if(板[i][j]==0)
{
董事会[i][j]=董事会[i-1][j];
返回true;
}
}
}
返回false;
}
公共布尔slideRight()
{
对于(int i=4;i>=0;i--)
{
对于(int j=4;j>=1;j--)
{
if(board[i][j]==board[i][j-1])
{
董事会[i][j]=董事会[i][j-1]*2;
董事会[i][j-1]=0;
返回true;
}
else if(板[i][j]==0)
{
董事会[i][j]=董事会[i][j-1];
返回true;
}
}
}
返回false;
}
公共布尔slideLeft()
{
对于(int i=4;i>=0;i++)
{
对于(int j=4;j>=1;j++)
{
if(board[i][j]==board[i][j+1])
{
董事会[i][j]=董事会[i][j+1]*2;
板[i][j+1]=0;
返回true;
}
else if(板[i][j]==0)
{
董事会[i][j]=董事会[i][j+1];
返回true;
}
}
}
返回false;
}
公共布尔值slideDown()
{
返回false;
}
公共整数gameover()
{
返回0;
}
}
测试
公开课考试
{
公共静态void main(字符串[]args)
{
流道a=新流道();
a、 printWelcomeAndDirections();
a、 印制板();
而(a.gameover()==0)
{
a、 placeBlock();
a、 印制板();
a、 processUserChoice();
}
}
}
我希望董事会在任何一个被称为的方向上进行转换,但事实并非如此


电路板打印并添加一个2,其中0为。除此之外,不做任何其他事情。

可能会在代码之外添加示例输出。可能会在代码之外添加示例输出。