Documentos de Académico
Documentos de Profesional
Documentos de Cultura
485 Proyecto 1P II 20172018
485 Proyecto 1P II 20172018
Fundamentos de Programación
Proyecto del Primer Parcial II Término 2017-2018
Objetivo
Ser el primero en acabar todas las fichas o, en su defecto, ser el que obtiene más
puntos.
Descripción
El juego se realizará entre dos jugadores y al inicio se muestra un menú con las opciones:
1. Jugar
2. Ver lista de ganadores
3. Salir
Jugar
Cuando se escoge Jugar, inicialmente se pedirá y almacenará el nombre de cada jugador.
Luego se puede empezar a jugar.
Primero hay que decidir que jugador empieza y como esto puede significar una ventaja
para el primero, es necesario que se realice de manera aleatoria. El jugador que logre
un mayor número en el lanzamiento del dado empezará.
Al inicio del juego se tendrá una lista con todas las letras disponible y sus puntajes
correspondientes. Las letras y los puntajes se muestran a continuación:
A B C D E F G H I J
1 3 3 2 1 4 2 4 1 8
K L M N O P Q R S T
3 1 3 1 1 3 5 1 1 1
U V X Y Z
1 4 8 4 10
De cada letra se tendrán:
12 A, 2 B, 4 C, 5 D, 12 E, 1 F, 2 G, 2 H, 6 I, 1 J, 4 L, 2 M, 5 N, 9 O, 2 P, 1 Q, 5 R, 6 S, 4 T, 5
U, 1 V, 1 X, 1 Y, 1 Z
Sumando un total de 94 fichas
Con estas fichas se empezará el juego, se reparten 7 fichas (letras) aleatorias a cada
jugador. Y esta mecánica se mantiene en cada turno del jugador.
Y el jugador puede ver sus fichas y a continuación ingresar la palabra que va a formar.
Puede ser una palabra de dos o más letras. y su posición puede ser vertical u horizontal.
En el caso de la orientación vertical, la palabra será ubicada de izquierda a derecha,
mientras que, en el caso de la orientación horizontal, la palabra será ubicada de arriba
hacia abajo.
Cada vez que el jugador usa las letras deben restarse de la cantidad de letras disponible.
Aquellas que no use, no se restarán y podrán seguirse usando en otra ocasión, siempre
y cuando, les sean asignadas de forma aleatoria.
La palabra debe ser válida y debe contener solo letras que le hayan sido asignadas al
jugador en ese turno. Para asegurar su validez, cada palabra ingresada deberá buscarse
en el listado diccionario de palabras mencionado anteriormente. Si la palabra no es
válida debe mostrarse el mensaje al usuario y pedir que ingrese otra palabra.
Además, el jugador debe indicar las coordenadas en las que se insertará y la posición
en la que quiere ingresar la palabra (horizontal o vertical), por ejemplo:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0
1
2 D I E S E L
3
4
5
6
7
8
9
10
11
12
13
14
Con cada palabra armada, el jugador almacena puntos de acuerdo con el puntaje de
cada letra.
Debe considerarse que la palabra puede cruzarse con otra(s) ya existente en el tablero.
En este caso el jugador debería reemplazar la letra de la palabra que va a reemplazarse
con una del tablero por un asterisco, por ejemplo:
Si desea ingresar la palabra PELIGRO en las coordenadas (1,5)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0
1 P
2 D I E S E L
3 L
4 I
5 G
6 R
7 O
8
9
10
11
12
13
14
Casilleros de premio
Algunas casillas van a estar premiadas. Para esto se van a considerar 4 tipos de
premios:
Letra doble: El puntaje de la letra donde está el premio se multiplica por 2.
Palabra doble: todo el puntaje de la palabra se multiplica por 2.
Letra triple: El puntaje de la letra donde está el premio se multiplica por 3.
Palabra triple: todo el puntaje de la palabra se multiplica por 3.
Estos premios van a ser ubicados en el tablero de forma aleatoria y solo cuando el
jugador ingrese las coordenadas y la palabra podrá enterarse, a través de un mensaje,
de si ha ganado un premio y cuál ha sido. Es recomendable usar las coordenadas para
definir los premios.
Lista de Ganadores
Esta opción me mostrará la información almacenada en el archivo de texto
ganadores.txt
Salir
Esta será la única opción para poder terminar la ejecución del programa.
Consideraciones
• Tener en cuenta que las palabras NO pueden salir del límite del tablero.
• Siempre validar las palabras buscándolas en el diccionario.
• Las letras deben ser representadas en letras mayúsculas.
• Durante la ejecución del juego, todo el tiempo debe ser visible el turno de cada
jugador, así como el tablero actualizado con las palabras formadas y ubicadas.
• Desarrolle la aplicación pensando en la comodidad de usuario, es decir, que sea
fácil de visualizar y de entender, ya que al estar desarrollado en consola si no
ordenamos bien los elementos puede volverse un poco confuso.
• Considerar las validaciones necesarias (aunque no se mencionen en este escrito)
para el correcto funcionamiento del programa.
• Deberán enviar el proyecto en una carpeta comprimida zip que contenga además
el archivo txt de los ganadores con una ruta relativa en la referencia. Esta carpeta
comprimida tendrá el siguiente formato de nombre:
[FP8][PY1P]_Apellidos_nombres_Apellidos_Nombres