import java.util.ArrayList;
import java.util.Random;
// NOTA: En su archivo, debe agregar esta línea.
// De esa forma se importa la librería para poder jugar.
import batallaNaval.BatallaNaval;
// El nombre de la clase puede ser cualquiera
public class Neu {
public static void main(String args) {
// Distrobución de Barcos
// 1 barco de 4
// 2 barcos de 3
// 3 barcos de 2
// 4 barcos de 1
// =============== Definir el tablero con sus barcos
// Referencias
// Agua es 0
// Barco es 1
// Mi tablero de barcos
// NOTA: Es necesario tener una función que permita
// cargar los barcos
int tableroMio = { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0 },
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 1, 1, 0, 1, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 1, 1, 0, 1, 0, 0 },
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 0, 0, 1, 1, 0, 1, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, };
System.out.println(" PHILIP");
for (int i = 0; i < 10; i++) {
System.out.print(i + " | „);
for (int j = 0; j < 10; j++) {
System.out.print(tableroMio[i][j] + " „);
}
System.out.print(“ | „);
System.out.println(“ „);
}
System.out.println(“\n\n“);
System.out.println(" COMPUTADORA");
int tableroCompu = { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, },
{ 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, },
{ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, },
{ 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
{ 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, },
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, },
{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
{ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, }, };
for (int i = 0; i < 10; i++) {
System.out.print(i + " | ");
for (int j = 0; j < 10; j++) {
System.out.print(tableroCompu[i][j] + " „);
}
System.out.print(“ | „);
System.out.println(“ ");
}
BatallaNaval.IniciarJuego(„Philip“, tableroMio, true);
ArrayList<int> listaTotal = new ArrayList<int>();
ArrayList<Integer> listaHay = new ArrayList<Integer>();
Random rand = new Random();
for (int x = 0; x < 10; x++) {
for (int y = 0; y < 10; y++) {
int hit = new int[2];
hit[0] = x;
hit[1] = y;
listaTotal.add(hit);
}
}
while (BatallaNaval.HayUnGanador() == false) {
int ubicacion = new int[2];
int posi = new int[2];
int strategia = 0;
listaHay.add(0);
for (int x = 0; x < 10; x++) {
for (int y = 0; y < 10; y++) {
ubicacion[0] = x;
ubicacion[1] = y;
posi[0] = x;
posi[1] = y;
/*
* if (BatallaNaval.HayUnGanador() == true) {
* System.out.println(„Hay un ganador“); } else { System.out
* .println(„Aún no gano ninguno, seguir jugando“); }
*/
BatallaNaval.ProximoTurno();
ubicacion = random(listaTotal, ubicacion);
strategia = strategia + 1;
estrategia(listaTotal, listaHay, rand, strategia, ubicacion, posi);
int hay = BatallaNaval.QueHayEn(ubicacion[0], ubicacion[1]);
listaHay.add(hay);
int pos = BatallaNaval.PreguntarPosicion();
BatallaNaval.RespuestaPosicion(pos, hay);
// BatallaNaval.ImprimirResultado();
}
}
}
BatallaNaval.ImprimirResultado();
}
public static int random(ArrayList<int> listaTotal, int ubicacion) {
Random rnd = new Random();
int k = rnd.nextInt(listaTotal.size());
ubicacion = listaTotal.get(k);
System.out.println(„----- " + listaTotal.size());
System.out.println(“----random eliminar (" + ubicacion[0] + „,“
- ubicacion[1] + „)“);
listaTotal.remove(k);
return ubicacion;
}
private static int estrategia(ArrayList<int> listaTotal,
ArrayList<Integer> listaHay, Random rand, int strategia,
int ubicacion, int posi) {
ArrayList<int> listaHit = new ArrayList<int>();
ArrayList<int> listaRandHit = new ArrayList<int>();
for (int x = 0; x < 10; x++) {
for (int y = 0; y < 10; y++) {
int hit = new int[2];
// strategia = 0;
if (strategia == 1) {// Strategia 1
if ((listaHay.get(listaHay.size() - 1)) == 1) {
listaHit.get(listaHit.size() - 1);
listaHit.add(hit);
listaRandHit.add(hit);
strategia = 1;
for (int i = 0; i < listaTotal.size(); i++) {
if (ubicacion[0] == listaTotal.get(i)[0]
&& ubicacion[1] == listaTotal.get(i)[1]) {
System.out.println(„----“ + strategia
- " eliminar (" + ubicacion[0] + „,“
- ubicacion[1] + „)“);
listaTotal.remove(i);
}
}
if (ubicacion[0] > 9) {
listaHit.get(listaHit.size() - 1);
ubicacion[0] = ubicacion[0] + 1;
strategia = 2;
for (int i = 0; i < listaTotal.size(); i++) {
if (posi[0] == listaTotal.get(i)[0]
&& posi[1] == listaTotal.get(i)[1] + 1) {
listaTotal.remove(i);
System.out.println(„----“ + strategia
- " eliminar (" + ubicacion[0]
- „,“ + ubicacion[1] + „)“);
if (posi[0] == listaTotal.get(i)[0]
&& posi[1] == listaTotal.get(i)[1] - 1) {
System.out.println(„----“ + strategia
- " eliminar (" + ubicacion[0]
- „,“ + ubicacion[1] + „)“);
listaTotal.remove(i);
}
}
}
} else {
strategia = 1;
}
} else {
random(listaTotal, ubicacion);
}
}
if (strategia == 2) {
if ((listaHay.get(listaHay.size() - 1)) == 1) {
listaHit.get(listaHit.size() - 1);
listaHit.add(hit);
strategia = 2;
for (int i = 0; i < listaTotal.size(); i++) {
if (ubicacion[0] == listaTotal.get(i)[0]
&& ubicacion[1] == listaTotal.get(i)[1]) {
listaTotal.remove(i);
System.out.println(„----“ + strategia
- " eliminar (" + ubicacion[0] + „,“
- ubicacion[1] + „)“);
}
}
if (ubicacion[0] < 0) {
listaHit.get(listaHit.size() - 1);
ubicacion[0] = ubicacion[0] - 1;
strategia = 3;
} else {
strategia = 2;
}
} else {
strategia = 3;
}
}
if (strategia == 3) {
if ((listaHay.get(listaHay.size() - 1)) == 1) {
listaHit.get(listaHit.size() - 1);
listaHit.add(hit);
strategia = 3;
for (int i = 0; i < listaTotal.size(); i++) {
if (ubicacion[0] == listaTotal.get(i)[0]
&& ubicacion[1] == listaTotal.get(i)[1]) {
listaTotal.remove(i);
System.out.println(„----“ + strategia
- " eliminar (" + ubicacion[0] + „,“
- ubicacion[1] + „)“);
}
}
if (ubicacion[1] > 10) {
listaHit.get(listaHit.size() - 1);
ubicacion[1] = ubicacion[1] + 1;
strategia = 4;
} else {
strategia = 3;
}
} else {
strategia = 4;
}
}
if (strategia == 4) {
if ((listaHay.get(listaHay.size() - 1)) == 1) {
listaHit.get(listaHit.size() - 1);
listaHit.add(hit);
strategia = 4;
for (int i = 0; i < listaTotal.size(); i++) {
if (ubicacion[0] == listaTotal.get(i)[0]
&& ubicacion[1] == listaTotal.get(i)[1]) {
listaTotal.remove(i);
System.out.println(„----“ + strategia
- " eliminar (" + ubicacion[0] + „,“
- ubicacion[1] + „)“);
}
}
if (ubicacion[1] < 0) {
listaHit.get(listaHit.size() - 1);
ubicacion[1] = ubicacion[1] - 1;
strategia = 4;
} else {
strategia = 3;
}
} else {
random(listaTotal, ubicacion);
}
}
}
}
return ubicacion;
}
}
Dies ist mein Programm, aber irgendwie funktioniert das nicht.
Das was in Fett ist zeigt mein Programm an das da was nicht stimmt
und es sagt „bound must be positive“ was heisst das genau?
Könnt ihr mir bitte helfen?