Autor
|
Tema: ¿Còmo cambio de valor en una matriz? (Leído 3,029 veces)
|
andresach
Desconectado
Mensajes: 1
|
Estoy llevando un curso de Java en la Universidad y como proyecto final nos dejaron hacer un juego llamado Battleship (Undir la flota), he llegado a la parte de validar que en la matriz que uno quiere "colocar" la nave, no estè ya ocupada, lo cual no sé como hacerlo. Ya llené de ceros la matriz para así colocar las naves, pero no sé como hacer para verificar si ya está ocupado por algún otro número (que representan las otras naves) no lo coloque. Si alguien sabe por favor le agradecería un montón la ayuda. PD: Ya lo coloqué diciendo: if (fila != 0) { System.out.print(tArea ya ocupada); }
|
|
|
En línea
|
|
|
|
Serapis
|
Precisamente poner ceros, para indicar presencia, es un error... el '0' debe inbdicar 'ausencia, esto es 'AGUA', y cualquier otro valor 'un objeto' (incluso tierra)
Si tienes un submarino, por ejemplo desde D5 hasta D9, pués (también por ejemplo) pones D5=6, D6=6, D7=6, D8=6, D9=6, así los submarinos (internamente) los reconoces por el valor 6, las fragatas con 2, un portaviones con 7, un destructor con 5, etc.... Ejemplo de un mapa:
0 1 2 3 4 5 6 7 8 9 ----------------------- A | 0 0 0 0 0 0 0 0 2 0 B | 0 0 0 0 0 0 0 0 2 0 C | 7 5 5 5 5 5 0 0 0 0 D | 7 0 0 0 6 6 6 6 6 6 <--- aquí el submarino (pero hay más barcos en el mapa) E | 7 0 0 2 2 2 2 0 0 0 F | 7 0 3 3 3 3 0 0 0 0 G | 7 0 3 0 0 4 0 0 0 0 H | 7 0 3 0 0 4 0 0 0 0 I | 7 0 0 0 0 4 0 0 0 2 J | 7 0 0 0 0 4 3 3 3 2
Por último fíjate que el valor númérico al mismo tiempo indica el 'tamaño' del barco. Si ocupa 2 casillas d elargo, el valor será 2, si ocupa 4 de largo, usará el valor 4. Esto es útil para distinguir por ejemplo, dos buques de 2 casillas con respecto a uno de 4, o dos de 3 con respecto de 1 de 6 (o 3 de dos). Incluso haciendo esquina uno de 3 con otro de 3, podría parecer (al adversdario) que se trata de uno de 2 y uno de 4)...
Si un mapa fuera tan gigante como 300 casillas, podría no ser necesariamente cuadrado (rectángular), y podrías rellenar como 'tierra' con valor 9.... Así el mapa de 'agua' de cada jugador tendría una forma irregular (incluso islotes). Basta acordar la misma cantidad de casillas 'tierra'.
|
|
« Última modificación: 9 Agosto 2017, 00:52 am por NEBIRE »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
detectar cambio valor checkbox en datagridview
.NET (C#, VB.NET, ASP)
|
BlaineMonkey
|
5
|
13,305
|
12 Febrero 2010, 01:27 am
por seba123neo
|
|
|
Como Obtener valor de un textbox, desde un valor, hasta otro valor [VB6]
Programación Visual Basic
|
revenge1252
|
4
|
6,823
|
17 Julio 2012, 09:38 am
por BlackZeroX
|
|
|
encontrar el ultimo valor de la matriz recorrida
« 1 2 »
Programación C/C++
|
caos
|
14
|
4,963
|
12 Marzo 2014, 06:16 am
por leosansan
|
|
|
Cómo cambio el valor o el rango de mi ip?
« 1 2 »
Mensajería
|
Narciso12345
|
16
|
9,870
|
30 Mayo 2015, 10:58 am
por Narciso12345
|
|
|
Codigo en CODEBLOCKS ( tampoco en DEV C ++ ) no se actualiza si cambio un valor
Programación C/C++
|
snoopty
|
6
|
6,438
|
3 Diciembre 2021, 08:47 am
por snoopty
|
|