1
« en: Miércoles 20 de Febrero de 2008, 04:17 »
Buenas.
Estoy haciendo el típico juego de hundir la flota en C. El problema que tengo es que no consigo ordenar los barcos de ninguna manera. He intentado mil formas pero siempre hay algún error. El asunto consiste en que tengo que poner distintos barcos de distintos tamaños en posiciones aleatorias. Estos barcos no pueden tocar unos con otros ni salirse de la tabla (matriz 10x10). Y un gran problema que no consigo evitar es cuando me da una posición pegada alguno de los límites de la tabla ya que el codigo lo da como coordenada invalida al estar una de las coordenadas de alrededor del barco fuera y las coordenadas de alrededor las necesito pero verificar que no estan ocupadas por otro barco.
Lo último que he hecho ha sido partir de que el barco está bien colocado dando el valor:
ok = 1;
y a partir de ahí ir verificando que si una casilla de alrededor del es != de 0 (0 representa casilla vacía) entonces de ok = 0; y daría coordenada erronea.
Pero el problema es que no consigo hacer que funcione bien de ninguna forma a veces me salen bien pero otras veces mal y no se como arreglarlo. Si alguien pudiera ayudarme o darme ideas estaría muy agradecido.
Gracias.