Está en la página 1de 4

FUNDAMENTOS DE PROGRAMACIN, PARALELO 30

PROYECTO PARCIAL
Objetivos Generales:

Poner en Prctica los conocimientos adquiridos en clases


Evaluar la iniciativa para la resolucin de problemas
Dominar el uso bsico de la herramienta de desarrollo
Evaluar documentacin interna del cdigo

Objetivo Especfico:

Practicar los conocimientos de sentencias de control, nmeros aleatorios,


enumerados, constantes, validaciones, funciones, procedimientos, arreglos en
una dimensin.

Nombre del Proyecto

Juego Cuadros Amigos


Descripcin del Proyecto

Consiste en eliminar los cuadros adyacentes que contengan el mismo nmero (cuadros amigos),
de un tablero de tamao 10x10. Dependiendo del nmero de cuadros eliminados, se asignar un
puntaje que se acumular para establecer un nuevo rcord en cada juego. El jugador puede
finalizar cuando ya no hay ms cuadros amigos, o si ve que el tablero no le favorece para
establecer un nuevo rcord (puede descartar el juego e iniciar uno nuevo). Se considerarn como
cuadros adyacentes los que estn a la derecha, izquierda, arriba y abajo, no se consideran las
diagonales.
El tablero se debe simular con la implementacin de 10 arreglos de una dimensin, los cuadros o
posiciones en el arreglo son llenados con nmeros aleatorios entre uno y cuatro (1 y 4).
Se presenta el men principal:
1. Nuevo Juego
2. Salir
Con la opcin 1, el juego se desarrolla de la siguiente manera:
1. Se muestra el tablero y se solicita al jugador ingresar la posicin del cuadro que desea
eliminar:
Ingrese la fila:
Ingrese la columna:
Ingrese -1 para terminar el juego y volver al men principal.

2. Si en la posicin indicada el cuadro no tiene ningn amigo (nmeros iguales


adyacentes) no sucede nada y se vuelve a solicitar ingresar la posicin.
3. Si la posicin solicitada tiene cuadros amigos, stos se eliminan tambin del tablero, y
los cuadros vacos se representan con ceros. Segn el nmero de cuadros amigos que
se eliminaron, se asigna el siguiente puntaje:
Cuadros
2
3
4
5
6
7
8

Puntos
2
4
8
14
22
32
44

Cuadros
9
10
11
12
13
14
15 o ms

Puntos
58
74
92
112
134
158
184

4. Se repiten los pasos 1 al 3 para representar un nuevo turno, el puntaje se va


acumulando hasta que ya no hayan cuadros amigos en el tablero (el cual lucir casi
vaco pues muchos sern ceros), puede haber cuadros con nmeros iguales, pero si no
estn adyacentes no podrn eliminarse y entonces termina el juego ingresando -1.
5. Si el puntaje final es mayor que el record establecido hasta el momento, ste se
actualiza y el programa regresa al men principal. Si el jugador escoge la opcin 2,
termina el programa.

Ejemplo:

A
1
2
3
4
5
6
7
8
9
10

1
3
2
3
3
3
2
1
1
1
1

1
4
1
4
4
4
4
3
1
2
2

3
3
3
4
3
4
4
1
3
3
3

2
4
2
3
3
4
3
1
2
4
4

3
2
4
3
4
3
2
3
3
3
5

2
1
1
3
1
1
3
2
1
2
6

3
1
3
1
3
2
2
4
4
4
7

2
1
4
4
4
1
1
4
1
2
8

3
2
3
3
1
1
4
4
4
4
9

4
4
2
4
2
4
4
4
4
1
10

Arreglo 1
Arreglo 2
.
.
.
.
.
.
.
Arreglo 10

Los nmeros en la parte exterior del tablero indican la posicin para ayudar al jugador.
En el tablero generado al azar (A) veo que hay varios cuadros amigos, para iniciar escojo
una posicin de fila y columna como 8,1 9,1 10,1 9,2 pues con cualquiera de ellas se
eliminarn los cuatro cuadros que contienen el nmero 1 en esas posiciones, y obtengo 8
puntos (El jugador puede empezar por cualquier posicin del tablero).
En las posiciones eliminadas los cuadros quedan vacos, representados con cero (B).

Escojo una nueva posicin de fila y columna, por ejemplo la 6,10 y elimino doce cuadros
amigos con el nmero 4, consiguiendo 112 puntos ms, y ahora el total es de 120 (C).
Voy acumulando puntos hasta que no haya en el tablero ms cuadros amigos (D) y vuelvo
al men principal con -1.

B
1
2
3
4
5
6
7
8
9
10

1
3
2
3
3
3
2
0
0
0
1

1
4
1
4
4
4
4
3
0
2
2

3
3
3
4
3
4
4
1
3
3
3

2
4
2
3
3
4
3
1
2
4
4

3
2
4
3
4
3
2
3
3
3
5

C
2
1
1
3
1
1
3
2
1
2
6

3
1
3
1
3
2
2
4
4
4
7

2
1
4
4
4
1
1
4
1
2
8

3
2
3
3
1
1
4
4
4
4
9

4
4
2
4
2
4
4
4
4
1
10

1
2
3
4
5
6
7
8
9
10

1
3
2
3
3
3
2
0
0
0
1

1
4
1
4
4
4
4
3
0
2
2

3
3
3
4
3
4
4
1
3
3
3

D
1
2
3
4
5
6
7
8
9
10

0
3
2
0
0
0
2
0
0
0
1

0
4
1
0
0
0
0
3
0
2
2

0
0
0
0
0
0
0
0
0
0
3

2
4
2
0
0
0
3
0
2
4
4

3
2
4
0
4
3
2
0
0
0
5

2
0
1
0
0
0
3
2
1
2
6

3
0
3
1
3
0
0
0
0
0
7

2
0
0
0
0
0
0
0
1
2
8

Salida del Programa


Por cada turno del jugador, debe mostrarse lo siguiente:
Un nuevo tablero con los cambios.
Puntaje acumulado en el juego.
Rcord de puntaje obtenido hasta el momento.

Consideraciones Generales:
Los ingresos de los nmeros deben ser validados.
Los nombres de las variables deben ser descriptivas.

3
2
0
0
0
0
0
0
0
0
9

0
0
2
4
2
0
0
0
0
1
10

2
4
2
3
3
4
3
1
2
4
4

3
2
4
3
4
3
2
3
3
3
5

2
1
1
3
1
1
3
2
1
2
6

3
1
3
1
3
2
2
0
0
0
7

2
1
4
4
4
1
1
0
1
2
8

3
2
3
3
1
1
0
0
0
0
9

4
4
2
4
2
0
0
0
0
1
10

El cdigo debe estar correctamente documentado.


Es obligatorio implementar varias funciones que simplifiquen el desarrollo del
proyecto, siguiendo las normas de la programacin estructurada
Es obligatorio el uso del tipo de dato enumerado
El programa no debe presentar un comportamiento no esperado.
Sustentacin y Calificacin

La fecha de entrega del proyecto es hasta el mircoles 15 de julio de 2009, contestar la


tarea en el METIS adjuntando el cdigo fuente y el ejecutable.
Para poder sustentar el proyecto deber ser entregado a tiempo a travs del
sistema METIS.
La sustentacin se realizar el da jueves 16 de julio de 2009.
La sustentacin del proyecto corresponde a un factor (de 0 a 1) que multiplica
la calificacin del proyecto.

Presentar una carpeta que contenga la descripcin del problema y el cdigo fuente
impreso.

También podría gustarte