Tetris java
Puedes establecer una coordenada para cada cuadrado pequeño, convertirlo en un determinante de tercer orden, una matriz de 3*3, y convertirlo en una rotación de matriz binaria. Observe la rotación hacia la izquierda:
11 12 13 31 21 11
21 22 23 →→ ? 32 22?
31 32 33 23? 13
La transformación de coordenadas es la siguiente: (1,1) se convierte en (1,3), (1,2) se convierte en (2,3), (1,3) se convierte en (3,3)
(2,1) se convierte en (1,2), (2,2) se convierte en (2,2), (2,3) se convierte en (3,2)
( 3,1) se convierte en (1,1), (3,2) se convierte en (2,1), (3,3) se convierte en (3,1)
La regla es (i, j) se convierte (j, 3-i 1):
Si es una cuadrícula cuadrada de 2 * 2, se puede cambiar a un determinante de segundo orden, que es una matriz binaria de 2 * 2, aquí Dando una indicación Del cambio de la cuadrícula de nueve cuadrados de 3*3, mi código es el siguiente:
import?java.util.Random;
public?class?T{
public?static?void?main(String[]?args){
int[][]?a=new?int[3][3];
System.out .println("¿ahora?comenzar?a?formar?un?nuevo?integer?array");
Aleatorio?r=nuevo?Aleatorio();
for(int? i=0;ilt;3;i){
for(int?j=0;jlt;3;j){
a[i][j ]=r. nextInt(10);
}
}
System.out.println("¿la?matriz?se?muestra?como?sigue :");
for(int?i=0;ilt;3;i){
for(int?j=0;jlt;3;j){ p>
System.out.print(a[i][j] "?");
}
System.out.println();
}
System.out.println("Gire a la izquierda noventa grados");
for(int?i=0;ilt;a.length;i){
for(int?j=0;jlt;a[i].length;j){
System.out.print(a[a[i].length-1- j][i] "?");
}
System.out.println();
}
}
}