BattleShip en python 3

Iniciado por Weng Weng, 1 Abril 2019, 17:19 PM

0 Miembros y 1 Visitante están viendo este tema.

Weng Weng

Hola foro!!
Alguien tiene algún juego de hundir la flota en Python 3.

Si lo teneis jugador vs maquina seria la hostia!!!!

Gracias gente.

tincopasan

¿y por qué no intentas hacerlo? es muy fácil, en el foro hay muchos que pueden ayudarte, no darte en bandeja lo que buscas.
Se puede en modo consola, con pgzero,pygame,etc.

Weng Weng

Hundir la flota
1. El juego se jugará contra la máquina.
2. La flota estará formada por:
a. Un destructor: 4 piezas
b. 2 portaaviones: 3 piezas
c. 3 fragatas: 2 piezas
d. 4 submarinos: 1 pieza
3. En todo momento se visualizarán dos pantallas, la del jugador a la izquierda y la de la
máquina a la derecha.
a. En la pantalla del jugador veremos donde están situados los barcos del jugador. los
barcos identificarán con una b cuando están "vivos" y con una x cuando han sido
hundidos. Los dispares errados por el enemigo se visualizarán con una a.
b. En la pantalla de la máquina veremos los barcos que lo hemos hundido identificados
con una x, y los dispares errados con una a.

Generalidad de Cataluña
Departamento de Enseñanza
Instituto del Estatuto

CFGS ASIX

MODULO 03: Fundamentos de Programación

UF2. Programación modular y recursiva CURSO: 1º Práctica UF2.3

Página 2 | 7
c. En ambas pantallas, un espacio indicará una posición "inexplorada".
4. La carga de la disposición de la flota enemiga (la de la máquina) se hará de forma
aleatoria.
5. La carga de la disposición de nuestra flota se hará desde el teclado (indicando tipo de
barco, casilla inicial y orientación (p.e. 3, 2, 2, 'h' - & gt; barco de 3 casillas (portaaviones),
comienza en la casilla (2, 2) y lo colocamos horizontalmente).
6. El desarrollo del juego será el conocido por todos. Recordemos que ambos
jugadores se turnan para disparar sobre los barcos de la flota enemiga, y que cuando un
jugador acierta un disparo continúa disparando hasta que falla o hasta que hunde el último
barco del enemigo.
7. Al terminar el juego se debe mostrar en pantalla quien ha sido el ganador.
8. Naturalmente, el juego no deberá permitir situar los barcos de forma errónea (por
ejemplo: dos barcos no se pueden tocar, los barcos sólo pueden situarse horizontal
o verticalmente, no en diagonal, ...).
9. Cada vez que un buque haya sido hundido, se marcarán como posiciones disparadas
(Con la 'a' correspondiente) todas las posiciones contiguas a cada uno de los segmentos del
barco, dado que las normas dicen que allí no puede haber ningún otro.
rúbrica
1. Estructuras de almacenamiento de datos (1 punto):
a. El programa utiliza las estructuras de almacenamiento de datos adecuados
b. Se ha previsto la posibilidad de variar las condiciones iniciales del juego (número de
minas, tamaño del tablero de juego, cantidad de portaaviones, etc.)

2. Funcionalidad (3.5 puntos):
a. El juego funciona correctamente (2 puntos)
b. La visualización del mostrador es clara y comprensible (0.5 puntos)
c. La entrada de datos es ágil y segura (0.5 puntos)
d. Los mensajes del programa nos informan a cada momento del punto del juego en
que nos encontramos (0.5 puntos)

3. Funciones (4.5 puntos):
a. El programa está correctamente dividido en diferentes funciones (se ha evitado repetir
código, las funciones tienen finalidades claras, etc.) (3 puntos)
b. El uso de las funciones de parámetros, variables locales y globales es correcta (0.5
puntos)
c. Aparecen funciones recursivas (1 puntos)
4. Comentarios (1 punto)
a. El código está correctamente comentado



ESTOS SON LOS CRITERIOS

tincopasan

como dije, no esperes el código hecho.
lei superficialmente pero es simplemente conocer el uso de random
Citar4. La carga de la disposición de la flota enemiga (la de la máquina) se hará de forma
aleatoria.
el resto es el manejo de matrices. Intenta algo y te ayudamos