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?