Código fuente del juego de mascotas Java
Importar Java.awt.*;
Importar Java.awt.event.*;
Class Game extiende JFrame para implementar KeyListener, Runnable
{
Thread Down10 = nuevo hilo (este);
prueba del lienzo del juego = nuevo lienzo del juego(); > JLabel LabelTetris = new JLabel("Juego de Tetris");
JLabel Score print 1 = new JLabel(" Score ");
JLabel Score print 2 = new JLabel(" 0 "+test.score);
Juego()
{
setSize(400, 800);
establecer visible(true );
establecer diseño (nuevo diseño de flujo());
prueba agregar clave oyente (este);
etiqueta establecer fondo (color . blanco). );
label teris . set Font((nueva fuente(" Tahoma ", 1, 50)));
ScorePrint1.setFont((nueva fuente(" Tahoma ", 1) , 40)));
imprimir partitura 2. establecer fondo(color . blanco);
JLabel LM = new JLabel(" L . M ");
ScorePrint2.setFont((nueva fuente("Tahoma",1,40)));
añadir(label teris);
Añadir (prueba);
add(partitura imprimir 1);
add(partitura imprimir 2);
lm set foreground(color . blanco);
add( LM);
validar();
abajo 10. start();
}
Ejecución pública no válida() p>
{
mientras(verdadero)
{
Intentar
{
Probar. abajo 1();
abajo 10. dormir(700);
}
catch(excepción interrumpida I){ I. printstacktrace();}
}
}
Clave de anulación pública (evento clave K)
{
if(K.getKeyCode ()==KeyEvent.VK_left)
Prueba. left 1();
else if(k . obtener código clave() = = evento clave. VK_UP)
Prueba. turn();
else if(k . obtener código clave() = = evento clave. VK_right)
Prueba. right 1();
else if(k . obtener código clave()= = evento clave.
VK_DOWN)
{
Prueba. abajo 1();
if (test.ScoreBool==1)
{ puntuación imprimir 2. settext("+test.
puntuación);}
}
}
clave pública nula liberada (evento clave e){ }
clave pública nula escrita( evento clave e){ }
}
Clase GameCanvas extiende el lienzo
{
int x=5, y = 0;
int GameMap[][]= nuevo int[50][100];
int BlockShape
int BlockWay
int Score= 0;
int puntuación bool = 0;
int over pool = 0;
público final estático int[][][]Bloques = { { { 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0},
{0,1,0,0,0,1,0,0,0 ,1,0,0,0,1,0,0},
{0,0,0,0,1,1,1,1,0,0,0,0,0, 0,0,0},
{0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0}},
{{0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0},
{1 ,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0},
{0,1,1,0,1, 1,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,1,1,0,0,0,1 ,0,0,0,0,0,0}},
{{1,1,0,0,0,1,1,0,0,0,0,0,0, 0,0,0},
{0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0}, p>
{1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0},
{0,1 ,0,0,1,1,0,0,1,0,0,0,0,0,0,0}},
{{0,1,0,0,0, 1,0,0,1,1,0,0,0,0,0,0},
{1,0,0,0,1,1,1,0,0,0 ,0,0,0,0,0,0},
{1,1,0,0,1,0,0,0,1,0,0,0,0,0, 0,0},
{1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0}},
{{1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0},
{1,1 ,0,0,1,1,0,0,0,0,0,0,0,0,0,0},
{1,1,0,0,1,1, 0,0,0,0,0,0,0,0,0,0},
{1,1,0,0,1,1,0,0,0,0,0 ,0,0,0,0,0}},
{{1,0,0,0,1,0,0,0,1,1,0,0,0,0, 0,0},
{1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0},
{1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0},
{0,0,1 ,0,1,1,1,0,0,0,0,0,0,0,0,0}},
{{0,1,0,0,1,1, 1,0,0,0,0,0,0,0,0,0},
{0,1,0,0,1,1,0,0,0,1,0 ,0,0,0,0,0},
{1,1,1,0,0,1,0,0,0,0,0,0,0,0,0, 0},
{0,1,0,0,0,1,1,0,0,1
,0,0,0,0,0,0}}};
GameCanvas()
{
setSize(340, 500); p>
p>
setBackground(color.
negro);
for(int I = 0;i<25;i++)
{
Mapa del juego[0][I]= 2;
GameMap[16][I]= 2;
}
for(int I = 0;i<16;i++)
{ p>
GameMap[I][24]= 2;
}
}
Nuevo bloque vacío público() p>
{
x = 5; y = 0;
forma del bloque =(int)(math . random()*
forma del bloque = (int)(math . random()* 3);
if(IsOver(x, y)==true)
{ over bool = 1;}
}
public void Keep(int x, int y, int BlockShape, int BlockWay)
{
int n = 0;
for(int I = 0;i<4;i++)
for(int j = 0;j<4;j++)
{
if( GameMap[x+j+1][y+I]= = 0)
{
GameMap[x+j+1][y +I]= Bloques[forma de bloque ][manzana][n];
}
n++;
}
}
Público pintura en blanco (gráfico G)
{
g . set color(color . white
for(int I = 0;i<16;i++)<. /p>
{
if(Bloques[forma de bloque][camino de bloque][I]= = 1)
G .drawRect((i%4+x+ 1)*20, (i/4+y)*20, 20, 20);
}
for(int I = 0;i<30;i++)
for(int j = 0;j <50;j++)
if(GameMap[I][j]= = 1 | | GameMap [I][j]= = 2)
G.fillRect(i*20,j*20,20,20);
}
Turno de vacío público()
{
if(es factible(x, y, BlockShape, BlockWay)==1)
{
bloque camino =(bloque camino+1)% 4;
repintar();
}
}
Vacío público Izquierda1 ()
{
si(es factible(x-1, y, BlockShape, BlockWay)==1)
{
x-= 1;
repaint();
}
}
Derecho público de invalidación 1()
{
if( es factible(x+1,y,BlockShape,BlockWay)==1)
{
x+= 1;
repintar();
}
}
Vacío público Abajo1()
{
si(es factible(x,y+1 ,Bloquear
Forma, BlockWay)==1)
{
y+=
repintar();
else if(is factible(x, y+1, BlockShape, BlockWay)==0)
{
Mantener(x, y, BlockShape, block way);
deline();
if(OverBool==0)
nuevos bloques();
}
}
público int es posible (int x, int y, int BlockShape, int BlockWay)
{
for(int I = 0; i<4 ;i++)
{
for(int j = 0; j & lt4;j++)
{
if (Bloques[ forma del bloque][camino del bloque][I * 4+j]== 1 y mapa del juego[x+j+1][y+i]==1)
Devuelve 0;
else if(Bloques[forma de bloque][camino de bloque][I * 4+j]= = 1 & & mapa del juego[x+j+1][y+i ]==2)
Devuelve 0;
}
}
Devuelve 1;
}
Delineación de vacío público( )
{
int bloques suma = 0;
for(int I = 0; i<25; i++)
{ p>
for(int j = 0; j & lt16;j++)
{
if (GameMap[j ][i]==1)
{
suma de bloques++;
if (SumaDeBloques==15)
{ p>
for(int p = I; p & gt0;p -)
{
for(int q = 0; q & lt16;q++)
{
Mapa del juego[q][p]=Mapa del juego[q][p-1];
}
} p>
Puntuación += 10 ; p>
puntuación bool = 1;
}
}
}
suma de bloques = 0;
}
}
IsOver booleano público (int x, int y)
{
if(es factible(x , y, BlockShape, BlockWay)==0)
Devuelve verdadero
Otros
Devuelve falso
}
}
Clase abierta Tetris
{
Public static void main(String[] args )
{
Juego test2 = new Game();
}
}
Tómelo Jugando con un nuevo archivo JAVA llamado Tetris, era demasiado vago para Modifique la interfaz antes.