Red de conocimiento del abogados - Ley de patentes - Escribir un juego de serpientes usando programación en lenguaje c en un entorno DOS

Escribir un juego de serpientes usando programación en lenguaje c en un entorno DOS

Diseño y descripción del programa

1

, pared lateral (

Muro

)

Esta clase especifica el tamaño del juego.

2

Snake (

Snake

)

Utiliza esta clase para generar una instancia de serpiente

2

Snake (

Snake

)

Utiliza esta clase para generar una instancia de serpiente

p>

serpiente

3

, mover (

Mover

)

Esta categoría Se utiliza para realizar el control de operación de la serpiente, es decir, la operación de movimiento de la cabeza de la serpiente hacia arriba, abajo, izquierda y derecha.

4

Categoría de comida (

Comida

)

Esta categoría es comida aleatoria durante el juego. Controles y displays generados.

5

Juicio de muerte (

Muerto

)

Este tipo es para juzgar la muerte durante el juego si la operación del jugador resulta en la muerte de la serpiente, incluso si la cabeza de la serpiente muerde su propio cuerpo y si la cabeza de la serpiente toca la "pared lateral" del juego.

6

Nodo de serpiente (

SnakeNode

)

Este tipo es comido aleatoriamente por las serpientes. La producción de alimento aumenta así la longitud de las especies controladas, lo que incluye aumentos en la longitud de las serpientes y cambios en la cola.

7

Estadísticas de puntuación (

Puntuación

)

Esta categoría se basa en el rendimiento del juego del jugador. Registre y puntúe el resultado al final del juego.

...

Algunas funciones y descripciones

1.Char menu()

/*

Utilizado para la velocidad del juego seleccionada por el jugador, devuelve un

char

valor

*/

2.DELAY(char ch1) ;

/*

Se utiliza para controlar la velocidad del juego

*/

3.void drawmap(); >

/*

Función de mapa del juego de dibujo

*

4

,

menú vacío ()

/*

Salida de la información de ayuda del juego

*

...

Explicación de algunos detalles de clasificación

1

, Construcción de la serpiente

Serpiente

clase Serpiente{

público:

int x[n]

int y[n];

int nodo

/ /

Longitud del cuerpo de la serpiente

int dirección; //

Dirección del movimiento de la serpiente

int

vida; //

Vida de serpiente, juez muerte

2

, comida aleatoria

Comida

Utilice

la función rand(

) para generar números aleatorios y luego coordinar el posicionamiento

void Food(void){

...

int pos_x = 0;

int pos_y = 0;

pos_x = rand() longitud; >

Determinación de coordenadas

pos_y = rand() (ancho-1); //y

Determinación de coordenadas

...

| /p>

...

interruptor(){

caso VK_UP: {

OutChar2.Y--;

y--;

romper;

}

caso VK_LEFT: {

OutChar2.Y;

y;

romper;

}

caso VK_DOWN: {

OutChar2.X--- ;

x--;

romper;

}

caso 'VK_RIGHT: {

OutChar2. X;

x;

romper

}

}

código

#include lt;iostreamgt ;

#include lt;ctimegt;

#include lt;conio.hgt

#include lt;windows.hgt;

#include lt; tiempo.hgt;

usando n

amespace std;

int score=0, t=300, f=1 //

Puntuación e intervalo de tiempo

/ms

(Controla la velocidad de la serpiente codiciosa)

double ss=0, tt=0; //

Parámetros utilizados para el tiempo estadístico

clase Nodo

p>

{

Nodo(): x(0), y(0), anterior(0), siguiente(0) { }

int x;

int y;

Nodo *anterior;

Nodo *siguiente

clase de amigo

};

clase Serpiente

{

público:

Serpiente(); ();

salida nula();

movimiento nulo();

punto de cambio nulo(char); /p>

Nodo *cabeza;

Nodo *cola;

enum p{ ARRIBA

, DERECHA, ABAJO, IZQUIERDA }punto;

Dirección

int food_x, food_y; //

Coordenadas de los alimentos

static const int N = 23;

int game[N][N];

void add_head(int, int); //

Agregar coordenadas como

a, b

nodo

void delete_tail(); //

Eliminar el último nodo

void great_food(); //

Generar comida

void gotoxy(int, int)

};

void menu(); //

Menú de operación del juego

int main()

{

system("color a");

//

Inicial

cmd

El color de la ventana es negro (fondo) verde claro (texto)

coutlt; lt;"\ n\n\n\n\n\n

"

for(int i=0; ilt; 23; i)

{char star []={"¡Bienvenido al juego de la serpiente!"};

coutlt;lt; star[i];

coutlt ;lt;"\n\n

¡Te deseo buena suerte!

"lt;lt;endl;

Dormir(3000);

if(kbhit()){char kk=getch(); if(kk ==9)f=5;} //

Si se ejecuta, obtiene una estrella y agrega

5

puntos

sistema ( "cls");

Serpiente s;

menú();

color 1a");

s.output();

mientras (verdadero)

{

char keydown = getch()

if(keydown==32)getch();

if(keydown==27)return 0

s.change_point(keydown);

mientras (!kbhit())

{clock_t inicio, fin; inicio=reloj()

s.move();

s.output();

Dormir(t);

end=clock(); tt=(doble)(fin-inicio)/CLOCKS_PER_SEC;

coutlt;lt;"

Hora:

"lt;lt;(int)ss;