El juego del barco pirata utiliza el programa Java y los requisitos son los siguientes
No entiendo si A elimina datos o B elimina datos después de que A golpea a B. En ambos casos, personalmente creo que el número aleatorio necesita un mejor algoritmo. El código es el siguiente: ¿paquete? t;
import?java.util.ArrayList;
import?java.util.Random;
/** *?Juego Corsair: crea dos matrices , cada uno con un tamaño de 5, y cada matriz almacena valores INT, números entre 1 y 10. *? Generado aleatoriamente. Si A dispara una bala de cañón a B, lea un número aleatorio y vea si está almacenado en B. Si existe, B será alcanzado. *?Los datos correspondientes serán eliminados. El que tenga tres números eliminados primero pierde.
*?@autor?hyc * */
¿clase pública?Prueba?{
estática?boolean?isLog?=?true;
pública?estática ?void?main(String[]?args)?{
isLog?=false;
for?(int?i?=?0;?i?lt;?100 ;?i )?{
AToB(5,?10,?3);
}
}
público?estático ?void?print(String?str){
if?(isLog)?{
System.out.println(str);
} p> p>
}
/** *?@param?len?Número de balas*?@param?maxRango aleatorio máximo*?@param?dieNumNúmero máximo de balas*?@return * /
público?static?void?AToB(int?len, int?max, int?dieNum){
ArrayListlt;Integergt;?a?=?new?ArrayListlt;Integergt ; (5);
ArrayListlt;Integergt;?b?=?new?ArrayListlt;Integergt;(5);
Aleatorio?random?=?new?Random(System. currentTimeMillis ());
for?(int?i?=?0;?i?lt;?len;?i )?{
a.add(random.nextInt ( max));
b.add(random.nextInt(max));
}
print("A: " a); p >
print("B:" b);
int?d_a?=?0;?//Número de veces que le dispararon
int?d_b?= ?0; //?bNúmero de viñetas
for?(int?i?=?0;?i?lt;?len*2;?i )?{
if ?( d_a?gt;=dieNum)?{
System.out.println("Un perdido");
return;
}
if?(d_b?gt;=dieNum)?{
System.out.println("B perdido");
return;
}
if?(i2==0)?{
print(i "--:" "A dispara una bala de cañón a B");
int?index?=?random.nextInt(a.size());
¿Entero?value?=?a.get(index);
print(i "- - :" "Un índice de shell: " índice ", valor de shell: " valor);
if?(b.contains(valor))?{
d_b;
a.remove(index); //B es golpeado por A y elimina datos
//b.remove(value); //B es golpeado por una bala y B elimina datos
p>imprimir(i
"--:" "El proyectil de A impactó en B" d_b "veces...");
}else?{
print(i "--:" "La bala de cañón de A falló B");
}
}¿otra cosa?{
print(i "--:" "B disparó una bala de cañón a A "); p>
int?index?=?random.nextInt(b.size());
¿Entero?value?=?b.get(index);
imprimir (i "--:" "B índice de shell: " índice ", valor de shell: " valor);
if?(a.contains(value))?{
d_a ;
b.remove(index); //A es golpeado y B elimina datos
//a.remove(value); //A es golpeado A elimina datos
p>print(i "--:" "El proyectil de B golpea a A" d_a "veces...");
}¿otra cosa?{
print(i " --:" "El caparazón de B pasó por alto A");
}
}
}
}
p>
System.out.println("A y B empatados...");
}
public?static?boolean?launch (int?index, ArrayListlt;Integergt;?list1,ArrayListlt;Integergt;?list2){
if?(list2.contains(list1.get(index)))?{
list1.remove( índice);
return?true;
}¿otra cosa?{
return?false;
}
}
}