Guest User

Untitled

a guest
Jul 15th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.53 KB | None | 0 0
  1. package Schiffeversenken;
  2. import java.io.*;
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. public class Methoden extends Frame {
  6. //Sichtbares Spielfeld [Spieler] [y-Koordinate] [x-Koordinate]
  7. public char [] [] [] Spielbrett = new char [2] [14] [13],
  8. SpielbrettUnsichtbar = new char [2] [14] [13];
  9.  
  10. //Unsichtbares Spielfeld
  11. public boolean [] [] [] Getroffen = new boolean [2] [14] [13];
  12.  
  13. //Welcher Spieler ist an der Reihe? 0=SpielerA, 1=SpielerB
  14. public int spieler=0;
  15.  
  16. //int fuer alles
  17. public int tmp;
  18.  
  19. //Inputreader
  20. BufferedReader reader;
  21.  
  22. public Methoden() {
  23. setSize( 400, 700 );
  24. addWindowListener( new WindowAdapter() {
  25. @Override
  26. public void windowClosing ( WindowEvent e ) { System.exit( 0 ); }
  27. } );
  28. }
  29.  
  30. @Override
  31. public void paint( Graphics g )
  32. {
  33. //g.drawString("herp",50,50);
  34.  
  35. int x=50;
  36. int y=50;
  37.  
  38. tmp=10;
  39. for (int i=0;i<14;i++) {
  40. y+=20;
  41. x=50;
  42. for (int j=0;j<13;j++) {
  43. //Ausgabe von 2-stelligen Koordinaten
  44. if (j>9 && i==0) {
  45. g.drawString(""+tmp,x,y);
  46. tmp++;
  47. x+=20;
  48. }
  49. else {
  50. g.drawString(""+SpielbrettUnsichtbar [spieler] [i] [j],x,y);
  51. x+=20;
  52. }
  53. }
  54. }
  55. y+=20;
  56. tmp=10;
  57. for (int i=0;i<14;i++) {
  58. y+=20;
  59. x=50;
  60. for (int j=0;j<13;j++) {
  61. //Ausgabe von 2-stelligen Koordinaten
  62. if (j>9 && i==0) {
  63. g.drawString(""+tmp,x,y);
  64. tmp++;
  65. x+=20;
  66. }
  67. else {
  68. g.drawString(""+Spielbrett [spieler] [i] [j],x,y);
  69. x+=20;
  70. }
  71. }
  72. }
  73. y+=20;
  74. }
  75.  
  76. public void NeuesSpielfeldGenerieren() {
  77.  
  78. //Alles auf reset
  79.  
  80. for (int s=0;s<2;s++) {
  81. for (int i=0;i<14;i++) {
  82. for (int j=0;j<13;j++) {
  83. Spielbrett [s] [i] [j] = 'O';
  84. SpielbrettUnsichtbar [s] [i] [j] = '?';
  85. Getroffen [s] [i] [j] = false;
  86. }
  87. }
  88. }
  89.  
  90. //Unver舅derbare Felder literal
  91.  
  92. for (int s=0;s<2;s++) {
  93. for (int i=0;i<13;i++) {
  94. Spielbrett [s] [0] [i] =(char) (i+48);
  95. Spielbrett [s] [i] [0] =(char) (i+64);
  96. SpielbrettUnsichtbar [s] [i] [0] =(char) (i+64);
  97. SpielbrettUnsichtbar [s] [0] [i] =(char) (i+48);
  98. }
  99. }
  100.  
  101. for (int s=0;s<2;s++) {
  102. Spielbrett [s] [0] [0] =' ';
  103. Spielbrett [s] [13] [0]='M';
  104. SpielbrettUnsichtbar [s] [13] [0] ='M';
  105. SpielbrettUnsichtbar [s] [0] [0] =' ';
  106. }
  107. }
  108.  
  109. /*public void SpielfeldAusgeben() {
  110. tmp=10;
  111. for (int i=0;i<14;i++) {
  112. System.out.println("");
  113. for (int j=0;j<13;j++) {
  114. //Ausgabe von 2-stelligen Koordinaten
  115. if (j>9 && i==0) {
  116. System.out.print(" "+tmp);
  117. tmp++;
  118. }
  119. else {
  120. System.out.print(" "+SpielbrettUnsichtbar [spieler] [i] [j]);
  121. }
  122. }
  123. }
  124. System.out.println();
  125. tmp=10;
  126. for (int i=0;i<14;i++) {
  127. System.out.println("");
  128. for (int j=0;j<13;j++) {
  129. //Ausgabe von 2-stelligen Koordinaten
  130. if (j>9 && i==0) {
  131. System.out.print(" "+tmp);
  132. tmp++;
  133. }
  134. else {
  135. System.out.print(" "+Spielbrett [spieler] [i] [j]);
  136. }
  137. }
  138. }
  139. System.out.println();
  140. }*/
  141.  
  142. public String eingeben() {
  143. reader= new BufferedReader(new InputStreamReader(System.in));
  144. try {
  145. return reader.readLine();
  146. } catch (IOException e) {
  147. e.printStackTrace();
  148. return "";
  149. }
  150. }
  151.  
  152. public boolean bisTrue(String richtig) {
  153. if (eingeben().equals(richtig)) {
  154. return true;
  155. }
  156. else {
  157. System.out.println("Deine Angabe war inkorrekt");
  158. return bisTrue(richtig);
  159. }
  160. }
  161.  
  162. /*public void ueberpruefen(String eingabe) {
  163.  
  164. if (eingabe.equals("derp")) System.out.println("yay");
  165. else {
  166. System.out.println("Inkorrekte Antwort");
  167. ueberpruefen(eingeben());
  168. }
  169. }*/
  170.  
  171. public void schiffPlatzieren(int anzahl) {
  172. String koordinaten []= new String [anzahl];
  173. String schiffnamen []={"Minensucher","Fregatte","Kreuzer","Schlachtschiff"};
  174. System.out.println("Bitte gib die Koordinaten des "+schiffnamen[koordinaten.length-2]+"("+koordinaten.length+" Koordinaten) an!");
  175. System.out.println("Bsp.:A1");
  176. System.out.println(" A2...");
  177. koordinaten [anzahl]=eingeben();
  178. if (platzierenMoeglich(koordinaten)) {
  179. for (int i=0;i<anzahl;i++) {
  180. String yKoordinate=koordinaten [i].substring(0,1),xKoordinate=koordinaten [i].substring(1);
  181. if (Spielbrett [spieler] [Integer.parseInt(yKoordinate)-64] [Integer.parseInt(xKoordinate)-48]=='S') {
  182. System.out.println("Das Feld ist bereits besetzt, bitte von neuem beginnen!");
  183. schiffPlatzieren(anzahl);
  184. }
  185. Spielbrett [spieler] [Integer.parseInt(yKoordinate)-64] [Integer.parseInt(xKoordinate)-48]='S';
  186. repaint();
  187. }
  188. }
  189. else schiffPlatzieren(anzahl);
  190. }
  191.  
  192. public boolean platzierenMoeglich (String [] koordinaten) {
  193. for (int i=0;i<koordinaten.length;i++) {
  194. if (koordinaten [i].length()>3) {
  195. System.out.println("Deine Koordinate ist ungueltig, bitte von neuem beginnen!");
  196. return false;
  197.  
  198. }
  199. boolean stimmt=false;
  200. if (koordinaten [i].charAt(1)=='1') {
  201. for (int j=0;j<3;j++) {
  202. if (koordinaten [i].charAt(2)==(char) 48+j) {
  203. stimmt=true;
  204. }
  205. }
  206. }
  207. if (!stimmt) {
  208. if (koordinaten [i].length()>2) {
  209. System.out.println("Deine Koordinate ist ungueltig, bitte von neuem beginnen!");
  210. return false;
  211. }
  212. }
  213. stimmt=false;
  214. for (int j=0;j<13;j++) {
  215. if (koordinaten [i].charAt(0)==(char) 64+j) {
  216. stimmt=true;
  217. }
  218. }
  219. if (!stimmt) {
  220. System.out.println("Deine Koordinate ist ungueltig, bitte von neuem beginnen!");
  221. return false;
  222. }
  223.  
  224. }
  225. return true;
  226. }
  227.  
  228. public void setup() {
  229.  
  230. }
  231. }
Add Comment
Please, Sign In to add comment