Python - Juego "Hundir la flota" en Python

   
Vista:

Juego "Hundir la flota" en Python

Publicado por Toño Salduba (4 intervenciones) el 14/01/2013 16:49:55
Hola a todos.

Lo primero, pedir disculpas si este hilo no debería ir aquí, ya que soy nuevo, y no se muy bien donde debería colocarlo.

He de realizar un trabajo para una asignatura de la Universidad, sobre el tradicional juego de "Hundir la flota" en el programador Python.

La descripcion del programa es la siguiente:
Se trabajaría con el tradicional tablero del juego: tablero de 10x10, 10 barcos de tamaños 1 de 4, 2 de 3, 3 de 2 y 4 de 1.
Simplemente hay a inicializar el tablero con los 10 barcos en posiciones aleatorias, y mostrar ese tablero inicial, y ya está, no hay que mostrar tiradas ni nada por el estilo. El programa mostrará algo así como:

1
2
3
4
5
6
7
8
9
10
11
12
1 2 3 4 5 6 7 8 9 10
A| - - 1 1 1 1 - - - - |A
B| - - - - - - - - - - |B
C| - - 3 3 3 - - - - 4 |C
D| - - - - - - - - - 4 |D
E| 2 2 2 - - - - - - - |E
F| - - - - 7 - 8 - - 10 |F
G| - - - - - - - - - - |G
H| - 5 - - - - - - - - |H
I| - 5 - - 9 - - - 6 6 |I
J| - - - - - - - - - - |J
 1 2 3 4 5 6 7 8 9 10


Es decir, crear un programa, donde, cuando lo imprima, salga algo parecido a lo anterior escrito.

Muchas gracias por las ayudas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Juego "Hundir la flota" en Python

Publicado por xve (1235 intervenciones) el 14/01/2013 19:00:53
Hola Toño, donde tienes la duda o el problema?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juego "Hundir la flota" en Python

Publicado por Toño Salduba (4 intervenciones) el 14/01/2013 21:52:25
Pues prácticamente en todo. En como realizarlo, ya que la programación se me ha atragantado desde comienzos de curso, y no consigo avanzar.

Parto de la base, de crear una matriz 10x10 de '-'.
Luego creo que deberia de rellenarlo con los barcos, y que podria hacer una funcion para cada tipo distinto de barco. Se podría pasar por parámetro el numero de barcos que tengo que colocar de cada tipo, ejemplo (Insertar barco4(1)). Pero esto ya no se como conseguir realizarlo, ni si es optimo este planteamiento.

Como ves, tengo dudas desde el comienzo.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Juego "Hundir la flota" en Python

Publicado por xve (1235 intervenciones) el 15/01/2013 07:17:55
Hola Toño, yo crearia una lista de listas de 10x10, algo así:
1
2
3
4
5
6
7
8
9
10
11
12
tablero=[
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
    ['-','-','-','-','-','-','-','-','-','-'],
]

en ese tablero, colocaría los barcos mediante una función, de esta manera, podrás revisar que no haya ningún barco que se toquen o se sobrepongan.
Luego, ya únicamente te quedará mostrar el tablero (lista).

Si quieres, a medida que vayas teniendo te voy ayudando, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juego "Hundir la flota" en Python

Publicado por Toño Salduba (4 intervenciones) el 15/01/2013 09:28:04
El problema es ese, que la matriz o la lista la genero sin problema, pero lo que no consigo hacer, es la funcion para los barcos. Por mas que pienso, no logro hacerla...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juego "Hundir la flota" en Python

Publicado por Toño Salduba (4 intervenciones) el 18/01/2013 11:25:46
¿Alguna idea para la funcion para insertar los barcos en el tablero?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juego "Hundir la flota" en Python

Publicado por Pablo (1 intervención) el 21/12/2015 13:00:55
Empieza creando un barco de 1x1.
Hazlo con randint en el rango del tablero.(ej.
randint(range(0,len(matriz)-1))

Consigue con dos randint la posición aleatoria (X e Y) de la nave.
Luego, ponla en la matriz así:
nombre_matriz[ X ][ Y ] = str( número de barco)

Perdona si contesto con demasiado retraso. Haciendo otro proyecto lo encontré jeje

(Los barcos de 2x1 hazlos con
Matriz[x][y] = str(2)
Matrix[x+1][y] o etc.)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar