Skip to content
This repository has been archived by the owner on Jul 10, 2019. It is now read-only.
ElenaMarhuenda edited this page May 20, 2019 · 19 revisions

JUEGO DE SERPIENTE

DESARROLLO DEL CÓDIGO:

En primer lugar usamos las siguientes librerías para el desarrollo del juego: stdio.h, la cual contiene definiciones de variables macro, declaraciones de las funciones, etc. Stdlib.h es el archivo de cabecera de la biblioteca estándar de propósito general del lenguaje de programación C; Time.h contiene funciones para manipular la fecha y la hora del sistema, y por último la librería string.h se emplea para el manejo de funciones con cadenas de caracteres.

A continuación definimos constantes a las que asignamos un valor, por una parte las dimensiones del campo y por otro el tamaño de la serpiente. Comenzamos una estructura en la que incluimos dos variables, x e y, las cuales representan las coordenadas del eje del plano donde se va a mover la serpiente. Incluimos otras dos variables, ModX y ModY, que son modificadores de esta estructura, a la cual llamamos snk (snake).

Creamos otra estructura que defina esta vez las coordenadas de la fruta, pero ésta no incluye modificadores ya que la fruta permanece inmóvil mientras la serpiente es la que se mueve.

Por último creamos una estructura que incluye el nombre del jugador y su puntuación.

Iniciamos todos los elementos, dibujamos el campo e introducimos los datos en la matriz del campo.

La función principal (main) incluye un bucle do-while que da lugar a un menú con 4 opciones. Dicho menú será a su vez realizado mediante un bucle switch, que dará paso a las 4 opciones mencionadas con anterioridad:

1-Permite crear nueva partida.

2-Permite comprobar la puntuación máxima obtenida. Para ello el programa compara las puntuaciones registradas por los jugadores e imprime en pantalla la de mayor valor.

3-Permite consultar la puntuación, a secas, sin necesidad de ser la máxima obtenida.

4-Permite salir del programa si se desea.

La función “intro_campo” permite la creación del campo de juego, mientras que la función “intro_datos” permite, como su nombre indica, la introducción de los datos en la matriz de campo.

La creación de la función “draw” es necesaria para la posterior ejecución de la función “loop”. Esta úlima función se encarga del movimiento de la serpiente mediante un bucle (como su propio nombre indica en inglés) que durará hasta a “muerte” de la serpiente. La función “input” está incluida a su vez en la función “loop”, y permite durante la ejecución de la misma comprobar si la serpiente ha muerto y si se ha comido la fruta.

Por último encontramos las 2 funciones finales, “update” y “Intro_datos2”. La función “update” permite borrar los datos actuales de la matriz y reemplazarlos por unos nuevos, determinados por “Intro_datos2”, que logra que el cuerpo de la serpiente siga a la cabeza copiando la posición de cada elemento anterior.

Una vez terminada la partida, el usuario tendrá la opción de cerrar el programa mediante la tecla P.

Clone this wiki locally