0

我希望我能找到人来帮助完成游戏(2048)。因为我在计算机程序员中只有 2 个月,所以我很难做到这一点。

这个游戏的基础是用户可以选择他想要的任何维度,我有点想通了,但现在我在一个问题中苦苦挣扎:

在游戏开始时,两个“1”牌被添加到网格中的两个随机单元格中。随后的每一轮,都会将一个“1”图块添加到网格中未占用的单元格中,在每一轮结束时,您应该列出所有空闲单元格并使用该列表随机选择一个空闲单元格“。

我尽了最大努力还是没有奏效。

另一个具有挑战性的问题说:

用户移动后,所有数字图块都应尝试沿所选方向移动。一块瓷砖应该继续在给定的方向上移动,直到它撞到另一个具有不同编号的瓷砖并停止,或者撞到一个具有相同名称的瓷砖并与之合并。确保瓦片停止移动的唯一原因是在它应该移动的方向上没有空单元格,或者所有应该合并的瓦片都合并了。

我当前的代码:

import java.util.*;

public class The1024Game {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        // QEUSTION 1: Asking the user to choose the desired dimensions of the grid
        
        Scanner in = new Scanner(System.in);
        System.out.print("Enter board size (IT MUST BE BETWEEN 4 AND 10): ");
        
        int Dimension = 0;
        do {
             Dimension = in.nextInt();
            if ( Dimension>10 | Dimension<4) {
                System.out.print("THE DIMENSION MUST BE BETWEEN 4 AND 10!! PLEASE TRY AGAIN: ");    
            }
        }while (Dimension>10 | Dimension<4);
            
        System.out.println("The dimension has been set correctly");
        
        // QEUSTION 2 : The frame of the game
        
        
        
        int [][] GameFrame = new int[Dimension][Dimension];
        
        //System.out.println(GameFrame[0][0]);
        
        
        //GameFrame[0][0]=1000;
        
        for(int i = 0; i<Dimension; i++) {
    
            System.out.print("|");
            
            for (int j=0; j<Dimension; j++) {
                System.out.print(GameFrame[i][j]);
                if(GameFrame[i][j]>=100 & GameFrame[i][j]<1000) {
                    System.out.print(" ");
                }
                if(GameFrame[i][j]>=10 & GameFrame[i][j]<100) {
                    System.out.print("  ");
                }if(GameFrame[i][j]>=0 & GameFrame[i][j]<10 ){
                    System.out.print("   ");
                }if(GameFrame[i][j]>=1000) {
                    
                }
                System.out.print("|");
            
            }
            System.out.println();
            for(int k=0; k<Dimension; k++) {
                System.out.print("|    ");}
            System.out.print("|");
            System.out.println();

            System.out.print(" ");
            for(int k=0; k<Dimension; k++) {
                System.out.print("-----");
            }
            
            //testing another methode:
            //StringBuilder rowLine = new StringBuilder();
            //for (int c = 0; c<Dimension; c++) {
            //    rowLine.append("+-----");
            //}
            //rowLine.append("+");
            
            System.out.print("\n");
            
        }
        
        // question 3: 
        
        int [] Free_coordinates;
        for (int i=0; i<Dimension; i++) {
            int [] Coordinates={0,0};
            for (int j=0; j<Dimension; j++) {
                if (GameFrame[i][j]==0) {
                    Coordinates[0]=i;
                    Coordinates[1]=j;
                }
            }
        }   
4

0 回答 0