import javax.swing.JOptionPane;
import java.util.*;
/**
* Schiffeversenken
* Future
* LSF 3.0
*/
public class Schiffeversenken001
{
public static void main (String args [])
{
String menü,eingabe;
int menü1, abfrage, versuche, maximal, eing, wert;
char feld_ausgabe[] = new char[100];
char feld_ausgabe1[] = new char [100];
char feld_ausgabe2[] = new char [100];
JOptionPane.showMessageDialog(null,"Schiffe versenken \n"+
"Made by Future");
menü1 = Integer.parseInt(menü());
abfrage = Integer.parseInt(Abfrage());
if (menü1 == 1)
{
if (abfrage == 1)
{
int schiffe2[] = new int[100], zähler2,rzs2, rzf2;
rzs2 = randomZSchiffe();
rzf2 = randomZFeld();
zähler2 = 0;
while(zähler2 <= 4)
{
schiffe2[rzs2] = feld_ausgabe2[rzf2];
zähler2++;
}
for(int zähler = 0; (zähler <= 15); zähler++)
{
feld_ausgabe2[zähler] = '#';
}
JOptionPane.showMessageDialog(null,"Die Schiffe wurden versteckt !!!\n"+
"Du hast max. 8 Versuche um alle 74 Schiffe zu finden.\n\n"+
"Hier die Legenden\n"+
" # = Leeres Feld\n"+
" x = Schiff versenkt\n"+
" o = Nichts getroffen");
versuche = 0;
maximal = 8;
int er = 0;
while (versuche <= maximal)
{
eingabe = JOptionPane.showInputDialog(null,"Versuche jetzt die verstecken Schiffe zu finden.\n"+
" | "+feld_ausgabe2[0]+" | "+feld_ausgabe2[1]+" | "+feld_ausgabe2[2]+" | "+feld_ausgabe2[3]+" | \n"+
" | "+feld_ausgabe2[4]+" | "+feld_ausgabe2[5]+" | "+feld_ausgabe2[6]+" | "+feld_ausgabe2[7]+" | \n"+
" | "+feld_ausgabe2[8]+" | "+feld_ausgabe2[9]+" | "+feld_ausgabe2[10]+" | "+feld_ausgabe2[11]+" | \n"+
" | "+feld_ausgabe2[12]+" | "+feld_ausgabe2[13]+" | "+feld_ausgabe2[14]+" | "+feld_ausgabe2[15]+" | \n");
versuche++;
eing = Integer.parseInt(eingabe);
if(eing == schiffe2[0])
{
JOptionPane.showMessageDialog(null,"Sie haben Schiff "+eing+" getroffen.");
er++;
}
if(eing == schiffe2[1])
{
JOptionPane.showMessageDialog(null,"Sie haben Schiff "+eing+" getroffen.");
er++;
}
if(eing == schiffe2[2])
{
JOptionPane.showMessageDialog(null,"Sie haben Schiff "+eing+" getroffen.");
er++;
}
if(eing == schiffe2[3])
{
JOptionPane.showMessageDialog(null,"Sie haben Schiff "+eing+" getroffen.");
er++;
}
if(eing >15 || eing < 0)
{
JOptionPane.showMessageDialog(null,"Falsche Eingabe !!");
}
if(eing == schiffe2[eing])
{
feld_ausgabe1[eing] = 'x';
}
else
{
feld_ausgabe2[eing] = 'o';
}
if (versuche > maximal)
{
JOptionPane.showMessageDialog(null,"GAME OVER !!!!");
JOptionPane.showMessageDialog(null,"Schiffe getroffen: "+er);
}
}
}
if (abfrage == 2)
{
int schiffe1[] = new int[100], zähler2,rzs1, rzf1;
rzs1 = randomZSchiffe();
rzf1 = randomZFeld();
zähler2 = 0;
while(zähler2 <= 7)
{
schiffe1[rzs1] = feld_ausgabe1[rzf1];
zähler2++;
}
for(int zähler = 0; (zähler <= 63); zähler++)
{
feld_ausgabe1[zähler] = '#';
}
JOptionPane.showMessageDialog(null,"Die Schiffe wurden versteckt !!!\n"+
"Du hast max. 14 Versuche um alle 7 Schiffe zu finden.\n\n"+
"Hier die Legenden\n"+
" # = Leeres Feld\n"+
" x = Schiff versenkt\n"+
" o = Nichts getroffen");
versuche = 0;
maximal = 14;
int er = 0;
while (versuche <= maximal)
{
eingabe = JOptionPane.showInputDialog(null,"Versuche jetzt die verstecken Schiffe zu finden.\n"+
" | "+feld_ausgabe1[0]+" | "+feld_ausgabe1[1]+" | "+feld_ausgabe1[2]+" | "+feld_ausgabe1[3]+" | "+feld_ausgabe1[4]+" | "+feld_ausgabe1[5]+" | \n"+
" | "+feld_ausgabe1[6]+" | "+feld_ausgabe1[7]+" | "+feld_ausgabe1[8]+" | "+feld_ausgabe1[9]+" | "+feld_ausgabe1[10]+" | "+feld_ausgabe1[11]+" | \n"+
" | "+feld_ausgabe1[12]+" | "+feld_ausgabe1[13]+" | "+feld_ausgabe1[14]+" | "+feld_ausgabe1[15]+" | "+feld_ausgabe1[16]+" | "+feld_ausgabe1[17]+" | \n"+
" | "+feld_ausgabe1[18]+" | "+feld_ausgabe1[19]+" | "+feld_ausgabe1[20]+" | "+feld_ausgabe1[21]+" | "+feld_ausgabe1[22]+" | "+feld_ausgabe1[23]+" | \n"+
" | "+feld_ausgabe1[24]+" | "+feld_ausgabe1[25]+" | "+feld_ausgabe1[26]+" | "+feld_ausgabe1[27]+" | "+feld_ausgabe1[28]+" | "+feld_ausgabe1[29]+" | \n"+
" | "+feld_ausgabe1[30]+" | "+feld_ausgabe1[31]+" | "+feld_ausgabe1[32]+" | "+feld_ausgabe1[33]+" | "+feld_ausgabe1[34]+" | "+feld_ausgabe1[35]+" | ");
versuche++;
eing = Integer.parseInt(eingabe);
if((eing == schiffe1[0] || eing == schiffe1[1] || eing == schiffe1[2] || eing == schiffe1[3] || eing == schiffe1[4])||
(eing == schiffe1[5] || eing == schiffe1[6]))
{
JOptionPane.showMessageDialog(null,"Sie haben Schiff "+eing+" getroffen.");
er++;
}
if(eing >35 || eing < 0)
{
JOptionPane.showMessageDialog(null,"Falsche Eingabe !!");
}
if(eing == schiffe1[eing])
{
feld_ausgabe1[eing] = 'x';
}
else
{
feld_ausgabe1[eing] = 'o';
}
if (versuche > maximal)
{
JOptionPane.showMessageDialog(null,"GAME OVER !!!!");
JOptionPane.showMessageDialog(null,"Schiffe getroffen: "+er);
}
}
}
if (abfrage == 3)
{
int schiffe[] = new int[10], randomZahl, zähler2,rzs, rzf, max = 0;
rzs = randomZSchiffe();
rzf = randomZFeld();
zähler2 = 0;
while(zähler2 <= 10)
{
schiffe[rzs] = feld_ausgabe[rzf];
zähler2++;
}
for(int zähler = 0; (zähler <= 63); zähler++)
{
feld_ausgabe[zähler] = '#';
}
versuche = 0;
maximal = 20;
int er = 0;
JOptionPane.showMessageDialog(null,"Der Computer wird die schiffe verstecken !!!\n"+
"Du hast max. 25 Versuche um alle 10 Schiffe zu finden.\n\n"+
"Hier die Legenden\n"+
" # = Leeres Feld\n"+
" x = Schiff versenkt\n"+
" o = Nichts getroffen");
while (versuche <= maximal)
{
eingabe = JOptionPane.showInputDialog(null,"Versuche Jetzt die verstecken Schiffe zu finden.\n"+
" | "+feld_ausgabe[0]+" | "+feld_ausgabe[1]+" | "+feld_ausgabe[2]+" | "+feld_ausgabe[3]+" | "+feld_ausgabe[4]+" | "+feld_ausgabe[5]+" | "+feld_ausgabe[6]+" | "+feld_ausgabe[7]+" | \n"+
" | "+feld_ausgabe[8]+" | "+feld_ausgabe[9]+" | "+feld_ausgabe[10]+" | "+feld_ausgabe[14]+" | "+feld_ausgabe[12]+" | "+feld_ausgabe[13]+" | "+feld_ausgabe[14]+" | "+feld_ausgabe[15]+" | \n"+
" | "+feld_ausgabe[16]+" | "+feld_ausgabe[17]+" | "+feld_ausgabe[18]+" | "+feld_ausgabe[19]+" | "+feld_ausgabe[20]+" | "+feld_ausgabe[21]+" | "+feld_ausgabe[22]+" | "+feld_ausgabe[23]+" | \n"+
" | "+feld_ausgabe[24]+" | "+feld_ausgabe[25]+" | "+feld_ausgabe[26]+" | "+feld_ausgabe[27]+" | "+feld_ausgabe[28]+" | "+feld_ausgabe[29]+" | "+feld_ausgabe[30]+" | "+feld_ausgabe[31]+" | \n"+
" | "+feld_ausgabe[35]+" | "+feld_ausgabe[33]+" | "+feld_ausgabe[34]+" | "+feld_ausgabe[35]+" | "+feld_ausgabe[36]+" | "+feld_ausgabe[37]+" | "+feld_ausgabe[38]+" | "+feld_ausgabe[39]+" | \n"+
" | "+feld_ausgabe[40]+" | "+feld_ausgabe[41]+" | "+feld_ausgabe[42]+" | "+feld_ausgabe[43]+" | "+feld_ausgabe[44]+" | "+feld_ausgabe[45]+" | "+feld_ausgabe[46]+" | "+feld_ausgabe[47]+" | \n"+
" | "+feld_ausgabe[48]+" | "+feld_ausgabe[49]+" | "+feld_ausgabe[50]+" | "+feld_ausgabe[51]+" | "+feld_ausgabe[52]+" | "+feld_ausgabe[53]+" | "+feld_ausgabe[54]+" | "+feld_ausgabe[55]+" | \n"+
" | "+feld_ausgabe[56]+" | "+feld_ausgabe[57]+" | "+feld_ausgabe[58]+" | "+feld_ausgabe[59]+" | "+feld_ausgabe[60]+" | "+feld_ausgabe[61]+" | "+feld_ausgabe[62]+" | "+feld_ausgabe[63]+" | \n");
versuche++;
eing = Integer.parseInt(eingabe);
if((eing == schiffe[0] || eing == schiffe[1] || eing == schiffe[2] || eing == schiffe[3] || eing == schiffe[4] || eing == schiffe[5] || eing == schiffe[6] || eing == schiffe[7]) ||
(eing == schiffe[8] || eing == schiffe[9]))
{
JOptionPane.showMessageDialog(null,"Sie haben Schiff "+eing+" getroffen.");
er++;
}
if(eing > 63 || eing < 0)
{
JOptionPane.showMessageDialog(null,"Falsche Eingabe !!");
}
if(eing == schiffe[eing])
{
feld_ausgabe[eing] = 'x';
}
else
{
feld_ausgabe[eing] = 'o';
}
if (versuche > maximal)
{
JOptionPane.showMessageDialog(null,"GAME OVER !!!!");
JOptionPane.showMessageDialog(null,"Schiffe getroffen: "+er);
}
}
}
}
}
static String name()
{
return JOptionPane.showInputDialog("Bitte geben Sie Ihren Namen ein:");
}
static String menü()
{
return JOptionPane.showInputDialog("**Schiffe versenken: Menü**\n"+
"**1...Man vs Maschine******\n"+
"**2...Highscore anschauen**");
}
static String Abfrage()
{
return JOptionPane.showInputDialog("Feld aussuchen: \n\n"+
"1...16\n"+
"2...36\n"+
"3...64");
}
static int randomZSchiffe()
{
Random random= new Random();
return (0+Math.abs(random.nextInt())%9);
}
static int randomZFeld()
{
Random random= new Random();
return (0+Math.abs(random.nextInt())%63);
}
static int randomZSchiffe1()
{
Random random= new Random();
return (0+Math.abs(random.nextInt())%6);
}
static int randomZFeld1()
{
Random random= new Random();
return (0+Math.abs(random.nextInt())%35);
}
static int randomZSchiffe12()
{
Random random= new Random();
return (0+Math.abs(random.nextInt())%6);
}
static int randomZFeld2()
{
Random random= new Random();
return (0+Math.abs(random.nextInt())%15);
}
}