You are on page 1of 3

No.

Nombre y apellidos

Carnet

Edy Arnoldo Portillo Ixmat

201214012

Elmar Alberto Lpez Mota

201314009

Jonathan Daniel Reyes Cifuentes

201307013

Proyecto nmero 2: Juego de Mecanografa


El juego consiste en salvar unas teclas que irn cayendo desde cualquier parte de la pantalla en
forma aleatoria antes de que lleguen al suelo, pulsando la tecla correspondiente en el teclado del
ordenador. La tecla que llegue al suelo se tomar como una falta, de forma que estas se van
contando hasta llegar a un nmero determinado. El juego acaba cuando se llega a este lmite.
Hay que rescatar un nmero determinado de teclas para pasar de nivel y en cada nivel la velocidad
de cada ir incrementando y el nmero de letras que aparecen ser mayor.
Al terminar el juego, ya sea porque se termin el ltimo nivel o porque se tuvieron muchos
errores, se presentar en pantalla toda la informacin y estadsticas del juego, es decir:

Punteo
Aciertos
Fallos
Nivel en que termin el juego.

Reglas:

Las letras aparecen desde la parte superior de la pantalla y las mismas se dirigen hacia
abajo
Existen 5 niveles de dificultad, cada uno de ellos aumenta en velocidad de aparicin de
letras en algunos casos en nmero de letras simultneas.
Cada una de las letras que no se presione se toma como una falta.
Al tener 10 faltas se termina el juego.
Al presionar 25 letras correctas se avanza al siguiente nivel.
Se debe llevar un registro de aciertos y fallos, as como el punteo, 10 puntos por cada
acierto.
Se penaliza con 5 puntos menos al presionar una tecla incorrecta.
Por cada letra que toque el suelo se penaliza con 2 puntos.
En cada nivel debe presentarse una interfaz de usuario diferente (color de fondo
diferente, el color de las letras, algn rectngulo con lneas diferentes, etc.)

1. Qu resultado esperamos? SALIDA


El correcto diseo del juego, con letras aleatorias descendentes y el correcto clculo de
punteo, errores y aciertos que se d dentro del juego. Adems del control de cambio de nivel.
2. Qu datos necesitamos? ENTRADA
La nica entrada que brindara el usuario ser la tecla que se oprima, es decir, este juego se
basara en las teclas que se estn presionando continuamente y que determinara el avance a
siguientes niveles. La tecla presionada simplemente se guarda en una variable de tipo char op.
3. Qu mtodo me permite encontrar el resultado esperado?

Dibujo de cuadro: para dibujar el cuadro se implementan ciclos for en los cuales se
imprimen los caracteres del cdigo ascii 219, 176, 177 y 178 dependiendo del nivel en
que se encuentre, dichos caracteres solamente son cuadrados que cambian de forma:
, , y . El nmero del cdigo ascii se modifica dependiendo del nivel y se guarda
el valor en una variable int cd. Para el final de cada cuadrado se imprime el carcter
con el cdigo ascii 30(), simplemente para simular pas de las cuales deben ser
salvadas las letras que caen.
Control de letras: para controlar el movimiento de letras, cambio de carcter, color y
aparicin en diferentes puntos del cuadrado, lo primero que se realiza es la creacin
de diferentes vectores para guardar valores de cada letra:
Int x[7],y[7]: estos son vectores que contendrn la posicin individual de cada
letra dentro del cuadro, y son de 7 espacios ya que sern 7 letras las que
caigan, comenzarn con cinco y aumentaran hasta 7. Estas dos variables son las
encargadas del movimiento con la implementacin de la funcin gotoxy, en el
eje y todas las letras se les aumenta el valor dando el movimiento descendente,
desde la poscicion 6 que es debajo de la lnea del tope del cuadro hasta 25 que
es la ltima, si se llega a 25 la posicin se regresa al tope y en x se le da un valor
aleatorio de entre 6 y 59 que son los parmetros interiores del cuadro, con ello
aparece en diferentes lugares la letra y desciende.
Int c[7]: con esta variable se guarda el valor del carcter a imprimir, para cada
una de las posiciones del vector se le dio un valor aleatorio de entre 97 y 122
que es el cdigo ascii para las letras de la a a la z. se cambia de letra con cada
reinicio, es decir, con cada vez que la posicin y sea igual a 6.
Int clr[7], bk: estas son variables extras que se incluyeron dentro del programa
para hacerlo ms atractivo, con ellas se controlar un diferente color para cada
letra utilizando las funciones textcolor, textbackground y cprintf. El color de
cada letra cambia cada vez que y sea 6 y se le da un numero aleatorio de entre
9 y 12 que son colores brillantes, valores que se guardan para cada letra en el
vector clr[], y para pintar el fondo de cada letra que es alrededor de 10x10
pixeles en los que se imprime cada letra se utiliza la funcin textbackground la
que se encarga de eso, y debe ser igual al fondo de pantalla que se est usando
en determinado nivel, el valor del color se guarda en la variable bk. Adems se
condicionan los colores de letras ya que en determinado nivel o color de fondo

no se logra distinguir la letra que se escribi por ello se cambia a un color de


letra que si pueda notarse segn el color de fondo.

Control de punteos: se implementan varias condiciones y diferentes variables para


lograr esto. Se tienen variables parciales de cada nivel, que se reinician o vuelven a
valores iniciales con cada nivel completado, y variables totales las cuales se utilizan
para llevar toda la sumatoria de puntos, errores, aciertos y faltas durante todo el
juego. Para el control de aciertos se implementa la condicin de que cada vez que la
tecla oprimida sea igual al valor que tiene guardado la posicin de la letra que est
ms cerca de las pas se sume uno a aciertos y 10 a la variable de puntos, de la misma
forma con los errores que simplemente resta 5 a puntos y aumenta la variable de
errores. Para el control de faltas se hace el uso una condicin de que cada vez que
llegue a la posicin 25 en el eje y se reste 2 a la variable puntos y aumente la variable
de faltas.
Control de nivel: En si el juego es un ciclo do while, el cual imprime caracteres espera
determinado tiempo los borra, verifica si se presion una tecla y modifica posiciones
de letras repitiendo ese procedimiento varias veces, este estar esperando un esc
para pausa, que se llegue a 25 aciertos para pasar de nivel o 10 faltas para terminar el
juego, para continuar o volver a este ciclo se hace uso de etiquetas las cuales solo son
llamadas con la funcin goto para ir a ellas. Para pasar cada nivel se debe llegar a la
cantidad total de 25 aciertos (25 en variable int ok) con lo que saldr del ciclo do,
mencionado anteriormente, se sumar los puntos logrados a las variables que
contienen los totales, se aumenta de nivel, se disminuye el tiempo de espera entre
impresin de caracteres y borrado de estos, se verifica en el nivel 4 y 5 donde se
aumenta la variable int l que se encarga del control de todas las letras que aparecen,
es decir comienza en 5 y cada vez que se aumente aparecer una letra ms
descendiendo en el cuadro, se aumenta 2 veces por lo que se llega a un total de 7
letras cayendo en el ltimo nivel 5, adems se reinician valores parciales, se dan
cambios de fondo, color de letra, tipo de carcter de cuadro, entre otros dependiendo
del nivel en el que se encuentre, y se pasa al siguiente nivel solo volviendo al juego, o
ciclo do, con los valores que se modificaron y haciendo uso de las etiquetas y la
funcin goto antes mencionada. Al llegar al nivel 5 y completarlo se despliegan los
totales logrados durante el juego se reinician todas las variables y se da la opcin de
repetir el juego de nuevo. El juego se da como terminado en caso de obtener 10 faltas,
es decir, que se dejen caer 10 letras a las pas con lo que se tiene el mismo
procedimiento se guardan valores totales, se imprimen y se da al final la opcin de
repetir el juego.

4. Requerimientos extras?
5. Restriccin?

You might also like