Anda di halaman 1dari 3

Trabajo Especial 2015

Introduccin a la Programacin I

2K
Objetivo
Elobjetivodelpresentetrabajoeslaimplementacindeljuego2048quesepuedeverenel
siguientesitio:
http://2048game.com/

Estructura
El juego consiste en el armado de una matriz de 4 x 4 nmeros enteros, en realidad un
subconjunto de ellos: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 y 2048. Se puede incluir un
nmero ms, el cero, que sera el dato de la celda que no tiene ninguno de los nmeros
anteriores(queconsideraremosceldavaca).

Inicio del juego


El juego comienza con todala matriz vaca excepto doslugaresalazarqueposeenunnmero
2.

Cada movida
En cada movida el usuario debe elegir alguna de las cuatrodirecciones(arriba,abajo,derecha
oizquierda).
Si la direccinelegidafuearribaoabajoyenunamismacolumnaestncontiguosdosnmeros
iguales (pudiendo haber celdas vacias entre ellos) los mismos deben ser sumados y ocupar
una sola celda, de esta forma hay que procesar la columna completa comenzando desde la
direccinelegidayprocesandounasolavezcadacelda.
Hay que proceder de igual forma pero por fila si el movimiento fue para la izquierda o la
derecha.
Luego los nmerosdebenmoverseenlamatriz(comosifueseunafuerzagravitacionalhaciael
lado elegido) por lo tanto no puede quedar ningnespacio vaco entre los nmeros existentes
en la misma fila o columna (segn corresponda) y todos ellos deben quedar sobre el borde
seleccionado.
Luego, dentro de las celdas que an quedan vacas, selecciona una al azar y agrega en la
mismaunnmero2.

Fin del juego


Eljuegoterminaconxitosieljugadorlograqueenunanicaceldaselleguealnmero2048.
Si por otro lado se completa lamatriz y ninguna de las cuatro direcciones permite integrardos
nmerosconsecutivos,nogenerndoseningnespaciolibre,eljugadorpierdelapartida.

La aplicacin
Cadavezqueseejecutalaaplicacinstageneraunamatrizinicialycomienzaeljuego.
Cada ciclo del juegoimplicamostrarelestadodelamatrizy capturar ladireccinqueelusuario
ingresa,seprocesalamismayvuelvealprximociclo.
Para capturar la direccin en la que quiere realizar el movimiento presione:
A
rriba, a
B
ajo,

I
zquierda,
D
erecha.

Trabajo Especial 2015

Introduccin a la Programacin I

Implementacin

Tablero
: es una matriz cuadrada de integer.

Notas

Realice el diagrama de estructura.


Defina todas las constantes que considere importante, estn o no nombradas en este
documento.
Implemente el trabajo completo incluyendo los comentarios que considere de inters.

Condiciones de entrega
La primer entrega consiste en la presentacin y discusin del diagrama de estructura al ayudante
para que de su aprobacin y puedan comenzar el desarrollo. En esta entrega
deben presentarse
ambos integrantes.
La segunda entrega es la presentacin de la documentacin e implementacin completa del
ejercicio pedido. Debe contener:
1. Hoja/s impresa/s con el diagrama de estructura y el cdigo fuente completo (archivo .pas).
2. CD conteniendo el archivo .pas con el mismo cdigo que se entrega en el punto 1) y el archivo
.exe que resulta de la compilacin del .pas.
Las hojas impresas deben entregarse en un sobre de papel o un folio, claramente etiquetado con la
etiqueta que se muestra aqu:
COMISIN:
Martes
o
Viernes
(segn la prctica a la que concurre).
APELLIDO Y NOMBRES INTEGRANTE 1:
D.N.I. INTEGRANTE 1:
E-MAIL INTEGRANTE 1:
APELLIDO Y NOMBRES INTEGRANTE 2:
D.N.I. INTEGRANTE 2:
E-MAIL INTEGRANTE 2:
AYUDANTE ASIGNADO:

Comisin del Martes:


Primerentrega9/6/2015de9a10hs.
Segundaentrega23/6/2015de9a10hs.
DefensaLadefensaINDIVIDUALserrealizadaelviernes3/7/2015alas9hsyesobligatoria
paraaprobareltrabajo.

Comisin del Viernes:


Primerentrega12/6/2015de9a10hs.

Trabajo Especial 2015

Introduccin a la Programacin I

Segundaentrega26/6/2015de9a10hs.
DefensaLadefensaINDIVIDUALserrealizadaelviernes3/7/2015alas9hsyesobligatoria
paraaprobareltrabajo.

Aclaraciones:
En toda prctica podrn realizarse consultas sobre el trabajo a su ayudante asignado
(recomendado) o a cualquier otro ayudante de la ctedra.
No todos los trabajos llegarn a la instancia de la defensa oral, dado que el ayudante
puede determinar que el trabajo entregado no cumple con las caractersticas mnimas
requeridas para aprobar o son entregados fuera de trmino.
Otras razones por las cuales se podr desaprobar el trabajo (y por lo tanto la cursada)
Si para la fecha de entrega no figura en el listado de grupos.
Si su ayudante considera que el trabajo no est en condiciones para ser aprobado.
Si se observa que existe otro grupo con cdigo parcial o totalmente copiado (aunque el
otro grupo acepte que lo copi del suyo).
Si no asiste a la defensa del trabajo en el lugar y fecha que corresponde, aunque su
compaero asista e inclusive apruebe.
Si durante la defensa final del trabajo el ayudante considera que usted no posee los
conocimientos suficientes para aprobar.
Si realiza una entrega parcial, o sea, entrega el CD sin las hojas impresas las hojas
impresas sin el CD.

Anexo: manejo de nmeros aleatorios


A continuacin se muestra un ejemplo del uso de las funciones random y randomize de pascal. Se puede
buscar ms informacin en
ttp://www.freepascal.org/docs-html/rtl/system/random.html
Program Aleatorio;
{Este programa
es un ejemplo
del uso de las funciones random y randomize}
Var nro : Real;
begin
Randomize; { Genera una nueva secuencia de nros aleatorios cada vez que se ejecuta}
nro :=Random(4); {devuelve un nro REAL aleatorio entre 0 y menor a 4}
if (nro < 1) then
Writeln ('Puede tomarse como 1)
else
if nro <= 2 then
Writeln ('Puede tomarse como 2)
else
if nro <= 3 then
Writeln ('Puede tomarse como 3)
else
Writeln ('Puede tomarse como 4)
end.

Anda mungkin juga menyukai