Sie sind auf Seite 1von 7

Universidad de San Carlos de Guatemala

Facultad de Ingeniera
Escuela de Ciencias y Sistemas
Introduccin a la Programacin y Computacin 1
Seccin E
Ingeniero Neftal de Jess Caldern Mndez
Auxiliares Luis Fernando Prez, Luis Ramrez Milin
Segundo Semestre 2017

Prctica 1
Snake
Objetivos

Generales
1. Introducir a los estudiantes a la programacin con el lenguaje Java.
2. Que los estudiantes construyan e implementen algoritmos para solucionar el problema
planteado.
3. Aplicar la imaginacin del estudiante.

Especficos
1. Utilizar sentencias de control, ciclos y arreglos para la implementacin de la solucin.
2. Implementar funciones y procedimientos para construir la solucin.
3. Construir una aplicacin funcional en consola.

Descripcin
Se requiere la elaboracin de un juego en consola que pueda ejecutar el juego clsico de
Snake, con los siguientes componentes y lgica del juego. El Snake debe de moverse por
medio de las flechas, arriba, abajo, izquierda, derecha.

Componentes
1. 5 Usuario
2. Tableros de mxm
3. Snake
4. Frutos

Lgica
Para la construccin del tablero se debe deben de ingresar las dimensiones al iniciar el juego,
la dimensiones del tablero deben de ser mayor a 10.

Por medio de las flechas el snake debe de dirigirse, al presionar una tecla de las 4 debe de
imprimirse de vuelta el mapa actualizando la posicin en la que se encuentra snake.
Los Frutos deben de generarse en una posicin aleatoria dentro del tablero, cada vez que
snake pase sobre la posicin del fruto deber aumentar el tamao de snake. Cada fruto tiene
una puntuacin para el usuario que se encuentra en curso sumndose a los puntos hasta llegar
al fin de partida. Los frutos tendrn puntos segn su posicin, entre ms cerca estn de la orilla
tendrn mayor puntaje, si el tablero es de 10x10 y el fruto se encuentra en la posicin (1, 7).
Tendr un valor de 4, tomando como mayor el 1 ya que estar ms cerca de la orilla que un 7.
Para seleccionar el puntaje debe de aplicarse la siguiente frmula: P (n) = || m2 n|| , donde m es
tamao del tablero, n es la posicin del fruto horizontal o vertical, tomando la mayor distancia
horizontal o vertical para el puntaje que tendr el fruto.

Fin de partida, la partida terminar cuando snake salga del tablero y cuando toque en s misma.

Menu Inicial

Al momento de iniciar la aplicacin se deber presentar un men en consola solicitando la


siguiente informacin para el desarrollo del juego

1. Inicio del Juego: El seleccionar esta opcin se le solicitar al usuario ingrese la


siguiente informacin
i. Nombre usuario
ii. Tamao en X del tablero
iii. Tamao en Y del tablero
iv. Tamao inicial del Snake

2. Datos del Estudiante: Deber desplegar la informacin del estudiante a manera que
genere una pequea animacin seguido de sus datos todo esto en consola

3. Historial de partidas jugadas: Por cada partida jugada se deber guardar en un


arreglo la informacin y cuando se ingrese a esta opcin se deber desplegar el listado
de en consola con la siguiente informacin nombre jugador, punteo tamao del tablero y
tamao inicial del snake

4. Salir: Nos permite salir de la aplicacin de consola


Controles del Juego
Para que el juego se pueda realizar con fluidez a continuacin se muestran las teclas del
teclado que sern utilizadas y qu funciones deben de realizar al momento de ser oprimidas

Tecla Descripcin

Flecha hacia arriba Mover todos los elementos de la figura en


la posicin que se encuentre un unidad
hacia la izquierda

Flecha hacia abajo Mover todos los elementos de la figura en


la posicin que se encuentre un unidad
hacia la abajo

Flecha hacia la derecha Mover todos los elementos de la figura en


la posicin que se encuentre un unidad
hacia la derecha

Flecha hacia la izquierda Mover todos los elementos de la figura en


la posicin que se encuentre un unidad
hacia la Izquierda

Tecla E Terminar el juego y mostrar una


animacin realizada por el alumno en
consola que muestre el punteo hasta ese
momento y el nombre del usuario y
regresara al menu principal

Bitcora del juego


Para saber qu acciones est realizando el jugador en todo momento se le solicita que realice
una bitcora de acciones en un vector y lo muestre en consola, las ltimas 5 posiciones de los
frutos y el valor de cada fruto segn lo observado en la imagen

Visualizacin de la Consola
A continuacin se describe cmo es que debe de visualizarse en juego en la consola:

Visualizacin en Consola Real


Restricciones
La aplicacin debe desarrollarse en el lenguaje de programacin Java
Aplicacin exclusiva en consola
Para la lgica del juego debe implementarse arreglos. No es permitido utilizar las
estructuras que implementa Java (ArrayList, LinkedList, etc.).
El IDE a utilizar queda a discrecin del estudiante.
Copias parciales o totales tendrn nota de 0 y reporte a la escuela de Ciencias y
Sistemas.
Detalles de entrega
Fecha de entrega 24 de Agosto de 2017 antes de las 23:59 horas.
Entregables: cdigo fuente de la aplicacin y el archivo .jar (ejecutable de la
aplicacin).
Modalidad de entrega: crear una carpeta con el nombre [IPC1]Practica1_carnet, por
medio del repositorio de GitHub.

Das könnte Ihnen auch gefallen