Pascal/Turbo Pascal - juego

 
Vista:

juego

Publicado por estudiant (1 intervención) el 19/12/2007 19:43:16
Hola a todos, me han pedido un trabajo para la universidad que consiste en hacer el juego de hundir la flota, en el que el ordenador es el que posiciona los barcos en una matriz 10x10 y el usuario es el que juega intentando adivinar donde estan los barcos.
La cuestion es que llevo bastante tiempo intentandolo, pero en como hacerlo para que el ordenador posicione los barcos aleatoriamente. Los barcos son: 1 de 5 casillas, 1 de 4 casillas, 2 de 3 casillas, 2 de 2 casillas y 3 de una casilla.

El problema esta en que no se pueden tocar ni diagonalmente, asi que alrededor de todos los barcos debe haber agua. Yo lo estoy intentando hacer de la siguiente forma:

con la funcion random obtengo una columna, una fila y una horientacion(vertical u horizontal) aleatorias. Hasta ahi bien, pero ahora es cuando me quedo atascado. A partir de esas coordenadas aleatorias posiciono primero el de 5 casillas(nose si sera mejor empezar al reves) y a partir de ahi vuelvo a llamar a random para obtener otras nuevas coordenadas para poner el barco de 4 casillas y compruebo que hay agua en las posiciones que estarian alrededor de ese barco, pero esto con mi codigo no me funciona bien (Lo compruebo recorriendo con 'for' las casillas de al lado de donde iria el nuevo barco y voy haciendo en cada una un 'if' para ver si hay agua).

Si alguien me puede decir una forma mas sencilla de hacerlo o que esto haciendo mal me haria un gran favor. Gracias de antemano y perdon por el texto tan largo
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