第一段(有字数要求)
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int[][] board = new int[4][4];
int score = 0;
System.out.println("欢迎来到控制台2048(前方高能)");
System.out.println("输入上,下,左,右来移动");
System.out.println("开局");
//随机生成两个2或4
for (int i = 0 ;i < 2; i++)
{
Point startRandom = getFreeLocation(board);
board[startRandom.getX()][startRandom.getY()] = generate2or4();
}
while (true)
{
print(board);
//是否有2048或已经满了
for (int y = 0 ; y < 4 ; y++)
{
for (int x = 0 ; x < 4 ; x++)
{
int value = board[x][y];
if (value == 2048)
{
System.out.println("卧槽,你居然赢了,而且还得了" + score + "这么多分");
break;
}
}
}
if (getFreeLocation(board) == null)
{
System.out.println("呵呵,劝你还是吃屎算了,才得了" + score + "这么点分");
break;
}
System.out.println("请输入你的操作");
String opera = input.next();
if (opera.equals("上"))
{
for (int i=0;i < 3;i++)
{
for (int y = 0 ; y < 4 ; y++)
{
for (int x = 0 ; x < 4 ; x++)
{
int value = board[x][y];
if (!((y - 1) < 0))
{
int upvalue = board[x][y - 1];
if (upvalue == 0)
{
board[x][y - 1] = value;
board[x][y] = 0;
}
else if (value == upvalue)
{
//有效合并
board[x][y - 1] = value * 2;
board[x][y] = 0;
score++;
}
}
}
}
}
Point random = getFreeLocation(board);
board[random.getX()][random.getY()] = generate2or4();
}
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
int[][] board = new int[4][4];
int score = 0;
System.out.println("欢迎来到控制台2048(前方高能)");
System.out.println("输入上,下,左,右来移动");
System.out.println("开局");
//随机生成两个2或4
for (int i = 0 ;i < 2; i++)
{
Point startRandom = getFreeLocation(board);
board[startRandom.getX()][startRandom.getY()] = generate2or4();
}
while (true)
{
print(board);
//是否有2048或已经满了
for (int y = 0 ; y < 4 ; y++)
{
for (int x = 0 ; x < 4 ; x++)
{
int value = board[x][y];
if (value == 2048)
{
System.out.println("卧槽,你居然赢了,而且还得了" + score + "这么多分");
break;
}
}
}
if (getFreeLocation(board) == null)
{
System.out.println("呵呵,劝你还是吃屎算了,才得了" + score + "这么点分");
break;
}
System.out.println("请输入你的操作");
String opera = input.next();
if (opera.equals("上"))
{
for (int i=0;i < 3;i++)
{
for (int y = 0 ; y < 4 ; y++)
{
for (int x = 0 ; x < 4 ; x++)
{
int value = board[x][y];
if (!((y - 1) < 0))
{
int upvalue = board[x][y - 1];
if (upvalue == 0)
{
board[x][y - 1] = value;
board[x][y] = 0;
}
else if (value == upvalue)
{
//有效合并
board[x][y - 1] = value * 2;
board[x][y] = 0;
score++;
}
}
}
}
}
Point random = getFreeLocation(board);
board[random.getX()][random.getY()] = generate2or4();
}