La Red de Conocimientos Pedagógicos - Currículum vitae - Documento de juego de desarrollo de Java

Documento de juego de desarrollo de Java

Importar Java.awt.borderlayout;

Importar Java.awt.dimension;

Importar Java.awt.toolkit;

Importar javax.swing.jframe;

@SuppressWarnings("serial ")

La clase pública MainClass extiende JFrame {

Control ControlSnake;

Kit de herramientas;

Dimensión dimensión

Public static void main(String[] args) {

Nueva clase principal("mi serpiente");

}< /p >

Clase principal pública (cadena){

Superusuario;

control = nueva serpiente de control();

control setfocusable( true);

kit = kit de herramientas . getdefaulttoolkit();

dimen = kit .getscreensize(); diseño(new BorderLayout());

setLocation(dimen.width / 3, dimen. height/3); //dimen.width/3,dimen.height/3

setSize(FWIDTH, FH height);

setDefaultCloseOperation(JFrame.

EXIT _ ON _ CLOSE);

setResizable(false);

set visible(true);

}

public static final; int FWIDTH = 315;

Final estático público int FHEIGHT = 380

}

Importar Java .awt .color;

Importar Java . awt . dimensión;

Importar Java .awt .gráficos;

Importar Java .punto .

Importar evento de clave Java .

Importar evento de clave Java . ;

Importar Java .Util .ArrayList

Importar Java . Importar javax.swing.jpanel;

Importar javax.swing.timer;

@SuppressWarnings("serial")

Control de clase pública Snake extiende JPanel para implementar ActionListener {

Rand aleatorio

ArrayList<dot>list, listBody

String str, str 1;

Clave booleana estática

int x, y, dx, dy, fx, fy, flag

Cuerpo de serpiente interno

velocidad int

Serpiente de control público();

Cuerpo de serpiente = 1;

Str = "Las teclas de dirección arriba, abajo, izquierda y derecha controlan la tecla P para pausar...";

Str1 = " La longitud actual es: "+cuerpo de serpiente;

clave = verdadero

bandera = 1;

velocidad = 700;

rand = new Random();

list = new ArrayList & ltdot& gt();

listBody = new ArrayList & ltdot& gt();

x = 5;

y = 5;

list.add(new point(x, y));

cuerpo de la lista add(list . get). (0));

dx = 10;

dy = 0;

FX = siguienteint(30)* 15;

fy = rand . nextint(30)* 15; // 2

setBackground(color.

negro);

setSize(nueva dimensión(318, 380));

tiempo del temporizador final = nuevo temporizador (velocidad, esto

tiempo de inicio). ();

addkey listener(new key adaptor(){

Clave de anulación pública (evento clave e) {

if (e.getKeyCode() = = 37) {

dx =-10;

dy = 0;

} else if (e.getKeyCode() == 38) {

dx = 0;

dy =-10;

} si (e.getKeyCode() == 39) {

dx = 10;

dy = 0;

} else if (e.getKeyCode() == 40) {

dx = 0;

} else if (e.getKeyCode() == 40) {

dx = 0;

p>

dy = 10;

} else if (e.getKeyCode() == 80) {

if (flag % 2 == 1) {

time . p>}

if(bandera % 2 == 0) {

hora();

p>

}

flag++;

}

}

});

}

Pintura pública en blanco (gráfico g) {

g.setColor(color.blanco);

g.fillRect(0, 0, 400, 400);

g.setColor(color. gris oscuro);

g.Dibujar línea(3,3,305,3);

g.Tirar línea(3, 3, 3, 305);

>g. tirar del cable (305, 3, 305, 305);

g. setColor(color.pink);

for(int I = 0; i & ltlist body . size(); i++) {

g.fillRect (listBody.get(i) ). x, listaCuerpo.get(i). y, 9, 9);

}

g.fillRect(x, y, 9, 9);

g.setColor(color.naranja) ;

g.fillRect(fx,fy,9,9);

g.setColor(color.dark grey);

Str1 = "Longitud actual Para: "+cuerpo de serpiente;

g. Cordón (str, 10, 320);

g. Cordón (str1, 10, 335);

}

Acción de anulación pública realizada (evento de acción e){

x+= dx;

y+= dy;

if (makeOut () == falso) {

Joptionpane.

Mostrar cuadro de diálogo de mensaje(vacío, "Reiniciar...");

Velocidad = 700;

Cuerpo de serpiente = 1;

x = 5;

y = 5;

lista .clear();

lista.add(nuevo punto (x, y)); >cuerpo de la lista .clear();

cuerpo de la lista .add(lista . get(0));

}

addPoint(x, y);

if(x == FX&&y == fy) {

Velocidad = (int)(Velocidad * 0.8); //Parámetro de aumento de velocidad

If (Velocidad<200) {

Velocidad = 100;

}

FX = rand . nextint(30)* 15; // 2

fy = nextint(30)* 15; / 2

cuerpo de serpiente++; // 2

} // 2

repintar();

}

Punto vacío público agregado (int xx, int yy) {

//Registra dinámicamente las coordenadas movidas en los últimos 50 pasos.

//Y dibuja el último cuerpo de serpiente.

if(list . size()<100) {//La longitud máxima del cuerpo de la serpiente es 100.

list.add(new point (xx, YY));

} En caso contrario {

list . >list.add(new point(xx, YY));

}

if (snakeBody == 1) {

lista de cuerpo remove(0. );

listBody.add(0, list . get(list . size()-1));

} En caso contrario {

lista de cuerpo. ();

if(lista . tamaño()<cuerpo de serpiente){

for(int I = lista . tamaño()-1;i>0;i- ) {

cuerpo de la lista. add(list. get(I));

}

}else {

for(int I = lista). tamaño()-1; cuerpo de la lista. tamaño()<cuerpo de la serpiente;I-) {

cuerpo de la lista.

}

}

}

MakeOut booleano público() {

if ( (x & lt3 | | y & lt3) |(x & gt; 305 | | y & gt305)) {

devuelve falso

}

para(int I = 0;i & ltlist cuerpo . tamaño()-1;i++) {

for(int j = I+1;j & ltlist cuerpo . tamaño();j++) {

if (listBody.get(i).equals(listBody.get(j))) {

Devuelve falso

}

}

}

Devuelve verdadero

}

}

/*Código de serpiente*/