Перемещение фигур тетриса нажатием клавиш в матрице - PullRequest
1 голос
/ 11 марта 2019

Это мой первый пост, я только начал программировать на Java, и я хотел бы попробовать сделать на нем тетрис. Мои навыки владения Java весьма ограничены, и мне было интересно, как заставить свои части двигаться, пока они падают.

Это то, что я написал до сих пор, я знаю, что это немного неуклюже, но будьте добры, я только начал! И извините за мой сломанный английский, я все еще изучаю это.

 import java.util.Scanner;

public class Tetris{
  public static void main(String[] args){
    int[][] matrix = new int[20][10];
    boolean err=false,newGame = true;
    String sino = "";//sino are yes and no in italian :) (si = yes) (no = no ofc)
    Scanner t = new Scanner(System.in);
    printMatrix(matrix);
    do{
      game(matrix);
      do{
        err=false;
        sino="";
        sino = t.nextLine();
        if(sino.equalsIgnoreCase("no"))
          newGame=false;
        else{
          if(!sino.equalsIgnoreCase("si")){
            err=true;
            System.out.println("errore");
          }
        }
      }while(err);
    }while(newGame);
  }

  public static void game(int[][] matrix){ 
  }

Здесь я сначала случайно выберу кусок, а затем заставлю его упасть сверху вниз, и у меня будет возможность вращать и / или двигаться влево и вправо.

Мне все еще нужно кодировать все отдельные части, которые будут выбираться случайно каждый раз, когда кусок падает.

  public static void printMatrix(int[][] matrix){
    for(int i=0;i<20;i++){
      System.out.print("| ");
      for(int j=0;j<10;j++){
        if(matrix[i][j]==0)
          System.out.print("  ");
        else{
          if(matrix[i][j]==1)
            System.out.print("X ");
          else
            System.out.print("O ");
        }
      }
      System.out.println("|");
    }
    System.out.println("  - - - - - - - - - -  ");
  }

  public static int[][] newMatrix(int[][] matrix){
    for(int i=0;i<20;i++)
      for(int j=0;j<10;j++)
        matrix[i][j]= 0;
    return matrix;
  }

}

Я знаю, что этот код не является полным, мне просто было интересно, как получить импульс от моей клавиатуры с помощью клавиш со стрелками, чтобы заставить элемент двигаться, пока он падает, и заставить его вращаться (возможно, с помощью клавиши R) .

...