Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Schiffeversenken;
- import java.io.*;
- import java.awt.*;
- import java.awt.event.*;
- public class Methoden extends Frame {
- //Sichtbares Spielfeld [Spieler] [y-Koordinate] [x-Koordinate]
- public char [] [] [] Spielbrett = new char [2] [14] [13],
- SpielbrettUnsichtbar = new char [2] [14] [13];
- //Unsichtbares Spielfeld
- public boolean [] [] [] Getroffen = new boolean [2] [14] [13];
- //Welcher Spieler ist an der Reihe? 0=SpielerA, 1=SpielerB
- public int spieler=0;
- //int fuer alles
- public int tmp;
- //Inputreader
- BufferedReader reader;
- public Methoden() {
- setSize( 400, 700 );
- addWindowListener( new WindowAdapter() {
- @Override
- public void windowClosing ( WindowEvent e ) { System.exit( 0 ); }
- } );
- }
- @Override
- public void paint( Graphics g )
- {
- //g.drawString("herp",50,50);
- int x=50;
- int y=50;
- tmp=10;
- for (int i=0;i<14;i++) {
- y+=20;
- x=50;
- for (int j=0;j<13;j++) {
- //Ausgabe von 2-stelligen Koordinaten
- if (j>9 && i==0) {
- g.drawString(""+tmp,x,y);
- tmp++;
- x+=20;
- }
- else {
- g.drawString(""+SpielbrettUnsichtbar [spieler] [i] [j],x,y);
- x+=20;
- }
- }
- }
- y+=20;
- tmp=10;
- for (int i=0;i<14;i++) {
- y+=20;
- x=50;
- for (int j=0;j<13;j++) {
- //Ausgabe von 2-stelligen Koordinaten
- if (j>9 && i==0) {
- g.drawString(""+tmp,x,y);
- tmp++;
- x+=20;
- }
- else {
- g.drawString(""+Spielbrett [spieler] [i] [j],x,y);
- x+=20;
- }
- }
- }
- y+=20;
- }
- public void NeuesSpielfeldGenerieren() {
- //Alles auf reset
- for (int s=0;s<2;s++) {
- for (int i=0;i<14;i++) {
- for (int j=0;j<13;j++) {
- Spielbrett [s] [i] [j] = 'O';
- SpielbrettUnsichtbar [s] [i] [j] = '?';
- Getroffen [s] [i] [j] = false;
- }
- }
- }
- //Unver舅derbare Felder literal
- for (int s=0;s<2;s++) {
- for (int i=0;i<13;i++) {
- Spielbrett [s] [0] [i] =(char) (i+48);
- Spielbrett [s] [i] [0] =(char) (i+64);
- SpielbrettUnsichtbar [s] [i] [0] =(char) (i+64);
- SpielbrettUnsichtbar [s] [0] [i] =(char) (i+48);
- }
- }
- for (int s=0;s<2;s++) {
- Spielbrett [s] [0] [0] =' ';
- Spielbrett [s] [13] [0]='M';
- SpielbrettUnsichtbar [s] [13] [0] ='M';
- SpielbrettUnsichtbar [s] [0] [0] =' ';
- }
- }
- /*public void SpielfeldAusgeben() {
- tmp=10;
- for (int i=0;i<14;i++) {
- System.out.println("");
- for (int j=0;j<13;j++) {
- //Ausgabe von 2-stelligen Koordinaten
- if (j>9 && i==0) {
- System.out.print(" "+tmp);
- tmp++;
- }
- else {
- System.out.print(" "+SpielbrettUnsichtbar [spieler] [i] [j]);
- }
- }
- }
- System.out.println();
- tmp=10;
- for (int i=0;i<14;i++) {
- System.out.println("");
- for (int j=0;j<13;j++) {
- //Ausgabe von 2-stelligen Koordinaten
- if (j>9 && i==0) {
- System.out.print(" "+tmp);
- tmp++;
- }
- else {
- System.out.print(" "+Spielbrett [spieler] [i] [j]);
- }
- }
- }
- System.out.println();
- }*/
- public String eingeben() {
- reader= new BufferedReader(new InputStreamReader(System.in));
- try {
- return reader.readLine();
- } catch (IOException e) {
- e.printStackTrace();
- return "";
- }
- }
- public boolean bisTrue(String richtig) {
- if (eingeben().equals(richtig)) {
- return true;
- }
- else {
- System.out.println("Deine Angabe war inkorrekt");
- return bisTrue(richtig);
- }
- }
- /*public void ueberpruefen(String eingabe) {
- if (eingabe.equals("derp")) System.out.println("yay");
- else {
- System.out.println("Inkorrekte Antwort");
- ueberpruefen(eingeben());
- }
- }*/
- public void schiffPlatzieren(int anzahl) {
- String koordinaten []= new String [anzahl];
- String schiffnamen []={"Minensucher","Fregatte","Kreuzer","Schlachtschiff"};
- System.out.println("Bitte gib die Koordinaten des "+schiffnamen[koordinaten.length-2]+"("+koordinaten.length+" Koordinaten) an!");
- System.out.println("Bsp.:A1");
- System.out.println(" A2...");
- koordinaten [anzahl]=eingeben();
- if (platzierenMoeglich(koordinaten)) {
- for (int i=0;i<anzahl;i++) {
- String yKoordinate=koordinaten [i].substring(0,1),xKoordinate=koordinaten [i].substring(1);
- if (Spielbrett [spieler] [Integer.parseInt(yKoordinate)-64] [Integer.parseInt(xKoordinate)-48]=='S') {
- System.out.println("Das Feld ist bereits besetzt, bitte von neuem beginnen!");
- schiffPlatzieren(anzahl);
- }
- Spielbrett [spieler] [Integer.parseInt(yKoordinate)-64] [Integer.parseInt(xKoordinate)-48]='S';
- repaint();
- }
- }
- else schiffPlatzieren(anzahl);
- }
- public boolean platzierenMoeglich (String [] koordinaten) {
- for (int i=0;i<koordinaten.length;i++) {
- if (koordinaten [i].length()>3) {
- System.out.println("Deine Koordinate ist ungueltig, bitte von neuem beginnen!");
- return false;
- }
- boolean stimmt=false;
- if (koordinaten [i].charAt(1)=='1') {
- for (int j=0;j<3;j++) {
- if (koordinaten [i].charAt(2)==(char) 48+j) {
- stimmt=true;
- }
- }
- }
- if (!stimmt) {
- if (koordinaten [i].length()>2) {
- System.out.println("Deine Koordinate ist ungueltig, bitte von neuem beginnen!");
- return false;
- }
- }
- stimmt=false;
- for (int j=0;j<13;j++) {
- if (koordinaten [i].charAt(0)==(char) 64+j) {
- stimmt=true;
- }
- }
- if (!stimmt) {
- System.out.println("Deine Koordinate ist ungueltig, bitte von neuem beginnen!");
- return false;
- }
- }
- return true;
- }
- public void setup() {
- }
- }
Add Comment
Please, Sign In to add comment