Última actualización : 10 de febrero de 2021
Mejorar
En este artículo, la tarea es implementar unJuego de serpiente.A continuación, dadas algunas funcionalidades de este juego:
- La serpiente está representada con un0(cero) símbolo.
- La fruta está representada con un*(Asterisco) Símbolo.
- La serpiente puede moverse en cualquier dirección según el usuario con la ayuda del teclado (W,A,S,Dllaves).
- Cuando la serpiente come una fruta, el puntaje aumentará en 10 puntos.
- La fruta se generará automáticamente dentro de los límites.
- Cada vez que la serpiente tocará el límite, el juego ha terminado.
Pasos para crear este juego:
- Habrá cuatro definidos por el usuario.funciones.
- Construya un límite dentro del cual se jugará el juego.
- Las frutas se generan al azar.
- Luego aumente el puntaje cada vez que la serpiente come una fruta.
El usuario definido Las funciones creadas en este programa se dan a continuación:
- Dibujar():Esta función crea el límite en el que se jugará el juego.
- Configuración():Esta función establecerá la posición de la fruta dentro del límite.
- Aporte():Esta función tomará la entrada del teclado.
- Lógica():Esta función establecerá el movimiento de la serpiente.
Funciones incorporadas utilizadas:
- Alguna vez ():Esta función enCse usa para determinar si se ha presionado una tecla o no.Para usar esta función en un programa, incluya el archivo de encabezadomonedas. H.Si se ha presionado una tecla, entonces devuelve un valor distinto de cero, de lo contrario devuelve cero.
- rand ():Elrand ()la función se declara enstdlib.h.Devuelve un valor entero aleatorio cada vez que se llama.
Archivos de encabezado y variables:
- Elarchivos de encabezadoyvariablesutilizados en este programa son:
- Aquí incluye el
archivo de cabeceraPara eldormir() función.
Dibujar():Esta función es responsable de construir el límite dentro del cual se jugará el juego.
A continuación se muestra el programa C para construir el límite de esquema usando Draw ()::
C
// c programa para construir el esquema
// límite usando dibujo ()
#Include
#Include
En t
I, J, altura = 30;
En t
Ancho = 30, GameOver, Score;
// Funcionar para dibujar un límite
vacío
dibujar()
{
// Sistema ("CLS");
para
(i = 0; i
para
(j = 0; j
si
(i == 0 || i == Ancho - 1 || j == 0
||J == Altura - 1) {
printf
(
"#"
);
}
demás
{
printf
(
"
);
}
}
printf
(
"\norte"
);
}
}
// Código de controlador
En t
principal()
{
// Llamada de función
dibujar();
devolver
0;
}
Producción:
############################ ## ## ## ## ## ## ## ####### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ############################
configuración():NTHISBFunction se usa para escribir el código para generar la fruta dentro del límite usandorand ()función.
- Usandorand ()%20Porque el tamaño del límite esLongitud = 20yAncho = 20Entonces la fruta se generará dentro del límite.
Aporte():En esta función, el programador escribe el código para tomar la entrada del teclado (W, A, S, D, X teclas).
lógica():Aquí, escriba toda la lógica para este programa como para el movimiento de la serpiente, para aumentar el puntaje, cuando la serpiente tocará el límite que terminará el juego, para salir del juego y la generación aleatoria de la fruta una vez que la serpienteCome la fruta.
dormir():Esta función en C es una función que retrasa la ejecución del programa para el número dado de segundos.En este código, el sueño () se usa para frenar el movimiento de la serpiente para que sea fácil para el usuario jugar.
principal():Desde la función main () se inicia la ejecución del programa.Llama a todas las funciones.
A continuación se muestra el programa C para construir el juego completo de serpientes:
C
// programa C para construir el completo
// juego de serpientes
#include
#Include
#Include
#Include
En t
i, j, altura = 20, ancho = 20;
En t
GameOver, puntaje;
En t
x, y, fruitx, frutal, bandera;
// Funcionar para generar la fruta
// Dentro del límite
vacío
configuración()
{
GameOver = 0;
// almacena altura y ancho
x = altura / 2;
y = ancho / 2;
etiqueta1:
fruitx =
rand
() % 20;
si
(fruitx == 0)
ir a
etiqueta1;
etiqueta2:
afrutado =
rand
() % 20;
si
(afrutado == 0)
ir a
etiqueta2;
puntaje = 0;
}
// Función para dibujar los límites
vacío
dibujar()
{
sistema
(
"CLS"
);
para
(i = 0; i
para
(j = 0; j
si
(i == 0 || i == Ancho - 1
||J == 0
||J == Altura - 1) {
printf
(
"#"
);
}
demás
{
si
(i == x && j == y)
printf
(
"0"
);
demás
si
(i == Fruitx
&& j == afrutado)
printf
(
"*"
);
demás
printf
(
"
);
}
}
printf
(
"\norte"
);
}
// imprime el puntaje después del
// El juego termina
printf
(
"Puntuación = %D"
, puntaje);
printf
(
"\norte"
);
printf
(
"Presione X para dejar el juego"
);
}
// funciona para tomar la entrada
vacío
aporte()
{
si
(Kabhi ()) {
cambiar
(Getch ()) {
caso
'a'
:
bandera = 1;
romper
;
caso
's'
:
bandera = 2;
romper
;
caso
'd'
:
bandera = 3;
romper
;
caso
'W'
:
bandera = 4;
romper
;
caso
'X'
:
GameOver = 1;
romper
;
}
}
}
// función para la lógica detrás
// cada movimiento
vacío
lógica()
{
sueño (0.01);
cambiar
(bandera) {
caso
1:
y--;
romper
;
caso
2:
x ++;
romper
;
caso
3:
y ++;
romper
;
caso
4:
X--;
romper
;
por defecto
:
romper
;
}
// Si el juego ha terminado
si
(x <0 || x> altura
||y <0 ||y> ancho)
GameOver = 1;
// Si la serpiente alcanza la fruta
// Luego actualice la puntuación
si
(x == fruitx && y == Fruity) {
Ballas:
fruitx =
rand
() % 20;
si
(fruitx == 0)
ir a
Tragar;
// Después de comer la fruta anterior
// Generar fruta nueva
etiqueta4:
afrutado =
rand
() % 20;
si
(afrutado == 0)
ir a
etiqueta4;
puntaje += 10;
}
}
// Código de controlador
vacío
principal()
{
En t
m, n;
// Generar límites
configuración();
// Hasta que termine el juego
mientras
(! Juego terminado) {
// Llamada de función
dibujar();
aporte();
lógica();
}
}
Producción:
Demostración:
SouraVwork14
Mejorar
Artículo anterior
Sistema de facturación de telecomunicaciones en C
Siguiente artículo
El programa C para mostrar el calendario mes por mes para un año determinado