You are on page 1of 5

lo desactivamos y lo activamos

y podemos seguir escuchando la musica de tetris

en la segunda parte, en la cual tenemos los 2 pics

1 pic lo hemos llamado pieza, por qu?

porque este es el pic que me escoge el nmero de la pieza que vamos a mostrar

es decir, me envia por medio del puerto E

me envia el valor de la pieza que se est utilizando en el momento

tenemos 7 piezas diferentes a utilizar que son las piezas originales del juego

tambin lo que hace este pic es mostrarme el puntaje que lleva el jugador

luego tenemos el pic llamado "matriz"

se llama as porque es el pic que controla como tal el juego

es decir la matriz o la pantalla que se muestra

este pic se encarga de mostrarme las figuras que el pic "pieza" me enva

entonces me muestra la figura, hace que se mueva por toda la matriz,

hace que se quede como pieza fija y tambien me elimina las filas cuando se llenan

y cuando se llena la pantalla simplemente la resetea, es decir, perdi

como en este caso que acaba de pasar

para poder trabajar o jugar como tal el TETRIS tenemos 3 botoneras

una para la izquierda, otra para mover a la derecha y una para girar

si la figura est a la izquierda y no tiene espacio para girar

no lo va a realizar, entonces necesita tener espacio suficiente para hacerlo

as mismo para la derecha

vamos a jugar un poquito como para mostrar como va a ir subiendo el puntaje

cuando llegamos a el puntaje de 8, automaticamente el pic me va a indicar que tengo que subir al
nivel 2

en este caso tenemos 4 niveles de dificultad

es decir, el nivel normal que estamos jugando ahora es el nivel 1

luego al llegar a 8 tendramos el nivel 2

al llegar a 16, el nivel 3


y al llegar a 24 ya es el nivel ms fuerte de todos, el ms rpido sera el nivel 4

ahora vamos a jugar un poquito, como acabamos de ver se acaba de eliminar una fila

y el display me muestra el puntaje, es decir, que vamos 1

y as sucesivamente se va jugando, como se lo ha hecho siempre y va a ir sumando los puntos.

Cada que sube de nivel, sube a velocidad

ahora vamos a mostrar un poco lo que es el cdigo para poder comprender ms a fondo el juego

ahora nos encontramos en el cdigo del pic "pieza"

el cual lo que hace es mostrar el puntaje que lleva el jugador y tambin me asigna 7 valores es
decir entre el 1 y el 7

con los cuales se va a indicar que figura es la que se est mostrando

tambien este pic se encarga de sumar los puntos como tal.

tenemos la funcion nueva pieza que es la que me va a indicar los valores entre 1 y 7

y comprueba adems que esta no se repita

tambin tenemos el timer 0 que es el que me da las velocidades

y tenemos dig1 y dig 2 que son los que me muestran las unidades y las decenas

o sea es lo que controla el display multiple de 7 segmentos

tenemos la funcion seguir que lo unico que hace es

que el movimiento nunca se detenga sino, que sea continuo

el main que es basicamente como funciona el pic

simplemente muestra como va a ir actualizando cada una de las funciones

y tenemos un par de delays que se utilizan para poder esperar o darle el tiempo necesario

a los pic para que puedan procesar la informacin y que se pueda mostrar

al hacer este pequeo retardo hacemos de que lo podamos ver y que no haya algun tipo de error
interno

tenemos el cdigo de la matrz que es por obvias razones un cdigo muy grande

entonces vamos a ver las partes ms importantes

tenemos el inicio que incluye que estamos trabajando con el 16f887

configuracin normal luego tenemos un parte en la que vamos a incializar variables que vamos a
utilizar durante el proceso
entonces tenemos en este caso fila 1 a la fila 16 que son variables para poder detallar cada fila de
las 16 lineas de las 2 matrices

pieza 4, 3, 2, 1 que me indican las filas de cada figura ya que la altura mxima que puede tener es
de 4 filas

que sera la barrita parada o barrita vertical tiene exactamente estos 4 puntos

fila pieza me indica cul es la fila que se encuentra en la parte superior

luego tenemos diferentes variables que son para varias funciones del juego como contadores,
nivel, puntaje, pieza, giro, perdio, retardos o decrementos

luego iniciamos el juego,de ahi tenemos las tablas de las figuras

con esrtas tablas lo que vamos a hacer es direccionar para poder mostrar las figuras

lo que hacemos aqui es en cada una de estas filas detallaran como van a ser las colocaciones

tenemos la tabla "I" que se refiere al palito oi a esta barrita que puede ir vertical u horizontal

tenemos la tabla "J" que es una J recta

la tabla "L"

tenemos la "O" que corresponde al cuadrado

la "S" que en el juego es como una s recta

la "T" que es una T pequea

y tenemos la "Z" que es como sesgada

Tenemos el programa de interrupcin

Eso me preguntar si el TMR0 est desbordado o no es capaz de mantener los tiempos entre
interrupciones

Y me pregunta si los cambios de portB cambian

Entonces tenemos interrupciones de cambio de estado de portB

Eso me pregunta si me han presionado para girar, a la izquierda oa la derecha

Igualmente comparar qu pieza es la que se mueve

Y los cambios que se hacen en l


Luego las interrupciones del tmr0 para poder cambiar la velocidad de cada

P4 P3 P2 P1 lo que hace es preguntar en qu fila soy,

Para evitar el montaje de piezas o para evitar cualquier colisin con las partes fijas

Funcin perdida que todo lo que haces es reiniciar todo, enviamos el cdigo 3 para que la pantalla
se restablezca

Tenemos la MAIN donde detallamos e inicializamos todos los puertos que van a ser utilizados, los
que van a ser controlados, los que van a funcionar, bsicamente el juego

El bucle es el que va a hacer el cambio o va a hacer la evaluacin, simplemente pregnteme si


empec el juego y tambin analiza si ha perdido o no para reiniciar el juego

Luego tenemos la fila 16 a la fila 1 que todos bsicamente hacen lo mismo

Me asignan partes fijas y verifican qu parte es la que se est actualizando

luego tenemos la funcin de fijar que bsicamente lo que hace es indicarme una direccin en la
que se van a quedar y que piezas se van a quedar en esa direccin

tenemos la funcion girar que me valida para evitar que exista traslape o que se desconfiguren o
que simplemente se muevan las piezas

tenemos funcion izq y der ambas lo que hacen es validar que pieza es la que se debe mover y me
genera el retardo para que esta piense y me verifica que no se encuentre como a los extremos

la funcion desplazar me pregunta si debo desplazarme izq o der mientras la figura sigue bajando

desplazar der o izq, mueve las piezas a la der o a la izq

ahora tenemos la funcion eliminar

la funcion eliminar lo que hace es eliminar la fila que se encuentre llena,

una vez que la elimina lo que hace es incrementar el puntaje

cada que se elimina una fila se incrementa el puntaje

cuando llegamos a 8 se incrementa el puntaje y adems se aumenta la velocidad con la que trabaja

llegamos a 16 que es el siguiente nivel y luego llegamos a 24 y es exactamente lo mismo, aumenta


la velocidad

la funcion encerar me resetea todo al momento que se pierde el juego

pieza Z, S, L, todas las piezas, esto es para realizar los giros


y los diles son para permitir a los pics que se puedan comunicar.

You might also like