Advertisement
Guest User

Untitled

a guest
Jun 5th, 2021
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.88 KB | None | 0 0
  1. import java.util.Random;
  2. import java.util.Scanner;
  3. public class Schiffeversenken
  4. {
  5.  
  6. public static void main(String[] args)
  7. {
  8. Scanner scan = new Scanner(System.in);
  9.  
  10. char[][] firstarr = new char[10][10];
  11. char[][] secarr = new char[10][10];
  12. boolean win = false;
  13. int ersteRunde = 1;
  14.  
  15. for (int y = 0; y < 10; y++)
  16. {
  17. for (int x = 0; x < 10; x++)
  18. {
  19. firstarr[x][y] = ' ';
  20. }
  21. }
  22. for (int y = 0; y < 10; y++)
  23. {
  24. for (int x = 0; x < 10; x++)
  25. {
  26. secarr[x][y] = ' ';
  27. }
  28. }
  29.  
  30.  
  31. System.out.println("Viel Spaß bei Schiffeversenken");
  32.  
  33.  
  34. spielfeld('A' ,firstarr);
  35. schiffe('A', secarr);
  36. do
  37. {
  38.  
  39. System.out.println("Runde: " + ersteRunde);
  40. schuss('A', firstarr, scan,secarr);
  41. spielfeld('A',firstarr);
  42.  
  43.  
  44. if(secarr[0][0] != 'O'&& secarr[1][0] != 'O'&& secarr[2][0] != 'O'&& secarr[3][0] != 'O'&& secarr[4][0] != 'O'&& secarr[5][0] != 'O'&& secarr[6][0] != 'O'&& secarr[7][0] != 'O'&& secarr[8][0] != 'O'&& secarr[9][0] != 'O'&&
  45. secarr[0][1] != 'O'&& secarr[1][1] != 'O'&& secarr[2][1] != 'O'&& secarr[3][1] != 'O'&& secarr[4][1] != 'O'&& secarr[5][1] != 'O'&& secarr[6][1] != 'O'&& secarr[7][1] != 'O'&& secarr[8][1] != 'O'&& secarr[9][1] != 'O'&&
  46. secarr[0][2] != 'O'&& secarr[1][2] != 'O'&& secarr[2][2] != 'O'&& secarr[3][2] != 'O'&& secarr[4][2] != 'O'&& secarr[5][2] != 'O'&& secarr[6][2] != 'O'&& secarr[7][2] != 'O'&& secarr[8][2] != 'O'&& secarr[9][2] != 'O'&&
  47. secarr[0][3] != 'O'&& secarr[1][3] != 'O'&& secarr[2][3] != 'O'&& secarr[3][3] != 'O'&& secarr[4][3] != 'O'&& secarr[5][3] != 'O'&& secarr[6][3] != 'O'&& secarr[7][3] != 'O'&& secarr[8][3] != 'O'&& secarr[9][3] != 'O'&&
  48. secarr[0][4] != 'O'&& secarr[1][4] != 'O'&& secarr[2][4] != 'O'&& secarr[3][4] != 'O'&& secarr[4][4] != 'O'&& secarr[5][4] != 'O'&& secarr[6][4] != 'O'&& secarr[7][4] != 'O'&& secarr[8][4] != 'O'&& secarr[9][4] != 'O'&&
  49. secarr[0][5] != 'O'&& secarr[1][5] != 'O'&& secarr[2][5] != 'O'&& secarr[3][5] != 'O'&& secarr[4][5] != 'O'&& secarr[5][5] != 'O'&& secarr[6][5] != 'O'&& secarr[7][5] != 'O'&& secarr[8][5] != 'O'&& secarr[9][5] != 'O'&&
  50. secarr[0][6] != 'O'&& secarr[1][6] != 'O'&& secarr[2][6] != 'O'&& secarr[3][6] != 'O'&& secarr[4][6] != 'O'&& secarr[5][6] != 'O'&& secarr[6][6] != 'O'&& secarr[7][6] != 'O'&& secarr[8][6] != 'O'&& secarr[9][6] != 'O'&&
  51. secarr[0][7] != 'O'&& secarr[1][7] != 'O'&& secarr[2][7] != 'O'&& secarr[3][7] != 'O'&& secarr[4][7] != 'O'&& secarr[5][7] != 'O'&& secarr[6][7] != 'O'&& secarr[7][7] != 'O'&& secarr[8][7] != 'O'&& secarr[9][7] != 'O'&&
  52. secarr[0][8] != 'O'&& secarr[1][8] != 'O'&& secarr[2][8] != 'O'&& secarr[3][8] != 'O'&& secarr[4][8] != 'O'&& secarr[5][8] != 'O'&& secarr[6][8] != 'O'&& secarr[7][8] != 'O'&& secarr[8][8] != 'O'&& secarr[9][8] != 'O'&&
  53. secarr[0][9] != 'O'&& secarr[1][9] != 'O'&& secarr[2][9] != 'O'&& secarr[3][9] != 'O'&& secarr[4][9] != 'O'&& secarr[5][9] != 'O'&& secarr[6][9] != 'O'&& secarr[7][9] != 'O'&& secarr[8][9] != 'O'&& secarr[9][9] != 'O'
  54. )
  55.  
  56. {
  57. System.out.println("Gewonnen !");
  58. System.out.println("Sie haben genau " + ersteRunde + " versuche gebraucht. Nächstes mal wird besser!");
  59. win = true;
  60. }
  61.  
  62. ersteRunde++;
  63. }while(win == false);
  64.  
  65. scan.close();
  66. }
  67. public static void spielfeld(char buchstabe, char[][] arr)
  68.  
  69. { System.out.println(" 0 1 2 3 4 5 6 7 8 9 ");
  70. System.out.println("A |" +arr[0][0] +"|"+arr[1][0]+"|"+arr[2][0]+"|"+arr[3][0] +"|"+arr[4][0]+"|"+arr[5][0]+"|"+arr[6][0] +"|"+arr[7][0]+"|"+arr[8][0]+"|"+arr[9][0]+"|");
  71. System.out.println(" ---------------------|");
  72. System.out.println("B |" +arr[0][1] +"|"+arr[1][1]+"|"+arr[2][1]+"|"+arr[3][1] +"|"+arr[4][1]+"|"+arr[5][1]+"|"+arr[6][1] +"|"+arr[7][1]+"|"+arr[8][1]+"|"+arr[9][1]+"|");
  73. System.out.println(" ---------------------|");
  74. System.out.println("C |" +arr[0][2] +"|"+arr[1][2]+"|"+arr[2][2]+"|"+arr[3][2] +"|"+arr[4][2]+"|"+arr[5][2]+"|"+arr[6][2] +"|"+arr[7][2]+"|"+arr[8][2]+"|"+arr[9][2]+"|");
  75. System.out.println(" ---------------------|");
  76. System.out.println("D |" +arr[0][3] +"|"+arr[1][3]+"|"+arr[2][3]+"|"+arr[3][3] +"|"+arr[4][3]+"|"+arr[5][3]+"|"+arr[6][3] +"|"+arr[7][3]+"|"+arr[8][3]+"|"+arr[9][3]+"|");
  77. System.out.println(" ---------------------|");
  78. System.out.println("E |" +arr[0][4] +"|"+arr[1][4]+"|"+arr[2][4]+"|"+arr[3][4] +"|"+arr[4][4]+"|"+arr[5][4]+"|"+arr[6][4] +"|"+arr[7][4]+"|"+arr[8][4]+"|"+arr[9][4]+"|");
  79. System.out.println(" ---------------------|");
  80. System.out.println("F |" +arr[0][5] +"|"+arr[1][5]+"|"+arr[2][5]+"|"+arr[3][5] +"|"+arr[4][5]+"|"+arr[5][5]+"|"+arr[6][5] +"|"+arr[7][5]+"|"+arr[8][5]+"|"+arr[9][5]+"|");
  81. System.out.println(" ---------------------|");
  82. System.out.println("G |" +arr[0][6] +"|"+arr[1][6]+"|"+arr[2][6]+"|"+arr[3][6] +"|"+arr[4][6]+"|"+arr[5][6]+"|"+arr[6][6] +"|"+arr[7][6]+"|"+arr[8][6]+"|"+arr[9][6]+"|");
  83. System.out.println(" ---------------------|");
  84. System.out.println("H |" +arr[0][7] +"|"+arr[1][7]+"|"+arr[2][7]+"|"+arr[3][7] +"|"+arr[4][7]+"|"+arr[5][7]+"|"+arr[6][7] +"|"+arr[7][7]+"|"+arr[8][7]+"|"+arr[9][7]+"|");
  85. System.out.println(" ---------------------|");
  86. System.out.println("I |" +arr[0][8] +"|"+arr[1][8]+"|"+arr[2][8]+"|"+arr[3][8] +"|"+arr[4][8]+"|"+arr[5][8]+"|"+arr[6][8] +"|"+arr[7][8]+"|"+arr[8][8]+"|"+arr[9][8]+"|");
  87. System.out.println(" ---------------------|");
  88. System.out.println("J |" +arr[0][9] +"|"+arr[1][9]+"|"+arr[2][9]+"|"+arr[3][9] +"|"+arr[4][9]+"|"+arr[5][9]+"|"+arr[6][9] +"|"+arr[7][9]+"|"+arr[8][9]+"|"+arr[9][9]+"|");
  89. System.out.println(" ---------------------|");
  90. }
  91. public static void schiffe(char letter, char[][]secarr)
  92. {
  93.  
  94. int x,y;
  95. Random rand = new Random();
  96.  
  97. do
  98. {
  99. x =rand.nextInt(10);
  100. y =rand.nextInt(10);
  101. while(x + 1 > 9)
  102. {
  103. x =rand.nextInt(10);
  104. y =rand.nextInt(10);
  105. }
  106.  
  107. }while(secarr[x][y] != ' ' || secarr[x+1][y] != ' ');
  108.  
  109.  
  110.  
  111. secarr[x][y] ='O';
  112. if(secarr[x+1][y] == ' '|| x +1 < 9)
  113. {
  114. secarr[x+1][y] = 'O';
  115. }
  116.  
  117. do
  118. {
  119. do
  120. {
  121. x =rand.nextInt(10);
  122. y =rand.nextInt(10);
  123. while(y +1 > 9|| y+2 >9)
  124. {
  125. x =rand.nextInt(10);
  126. y =rand.nextInt(10);
  127. }
  128.  
  129. }
  130. while(secarr[x][y] == 'O'||secarr[x][y+1] == 'O'||secarr[x][y+2] == 'O');
  131.  
  132. if(secarr[x][y] == ' ')
  133. {
  134. secarr[x][y] ='O';
  135. if(secarr[x][y+1] == ' ')
  136. {
  137. secarr[x][y+1] = 'O';
  138. if(secarr[x][y+2] == ' ')
  139. {
  140. secarr[x][y+2] = 'O';
  141. }
  142. }
  143. }
  144.  
  145. }
  146. while(y +1 > 9|| y+2 >9 ||secarr[x][y] != 'O'||secarr[x][y+1] != 'O'||secarr[x][y+2] != 'O' );
  147. }
  148. public static void schuss(char letter, char[][] firstarr,Scanner scan,char[][] secarr)
  149. {
  150. int x = 0 , y = 0;
  151.  
  152. String eingabeBuchstabe;
  153. boolean inkorrekteEingabe = false;
  154.  
  155. do
  156. {
  157. do
  158. {
  159. System.out.println("Sie dürfen jetzt Schießen");
  160. System.out.print("Geben Sie die X Koordiante ein (Bitte nur Großbuchstaben) (A - J): ");
  161.  
  162. eingabeBuchstabe = scan.next();
  163.  
  164. inkorrekteEingabe = false;
  165.  
  166. switch(eingabeBuchstabe)
  167. {
  168. case "A" : x = 0;
  169. break;
  170. case "B" : x = 1;
  171. break;
  172. case "C" : x = 2;
  173. break;
  174. case "D" : x = 3;
  175. break;
  176. case "E" : x = 4;
  177. break;
  178. case "F" : x = 5;
  179. break;
  180. case "G" : x = 6;
  181. break;
  182. case "H" : x = 7;
  183. break;
  184. case "I" : x = 8;
  185. break;
  186. case "J" : x = 9;
  187. break;
  188. default:
  189. System.out.println("Falsche Eingabe. Bitte versuchen sie es erneut");
  190. inkorrekteEingabe = true;
  191. break;
  192. }
  193.  
  194. }while(inkorrekteEingabe == true);
  195.  
  196. do
  197. {
  198. System.out.println("Geben Sie nun die Y-Koordinate ein(0-9)");
  199. y = scan.nextInt();
  200.  
  201. }while(y > 9 || y < 0);
  202.  
  203. if(firstarr[y][x] == 'X'|| firstarr[y][x] == '*' )
  204. {
  205. System.out.println("Das Feld ist schon belegt. Bitte versuchen Sie es erneut");
  206. }
  207.  
  208. }while(firstarr[y][x] == 'X' || firstarr[y][x] == '*' );
  209.  
  210.  
  211. if(secarr[y][x] == ' ' )
  212. {
  213. System.out.println("Sie haben nichts getroffen");
  214. firstarr[y][x] = '*';
  215. }
  216. if(secarr[y][x] == 'O')
  217. {
  218. System.out.println("Getroffen!");
  219. firstarr[y][x] = 'X';
  220. secarr[y][x] = 'X';
  221. }
  222. }
  223. public static void spielfeld2(char buchstabe, char[][] secarr)
  224. { System.out.println(" 0 1 2 3 4 5 6 7 8 9 ");
  225. System.out.println("A |" +secarr[0][0] +"|"+secarr[1][0]+"|"+secarr[2][0]+"|"+secarr[3][0] +"|"+secarr[4][0]+"|"+secarr[5][0]+"|"+secarr[6][0] +"|"+secarr[7][0]+"|"+secarr[8][0]+"|"+secarr[9][0]+"|");
  226. System.out.println(" ---------------------|");
  227. System.out.println("B |" +secarr[0][1] +"|"+secarr[1][1]+"|"+secarr[2][1]+"|"+secarr[3][1] +"|"+secarr[4][1]+"|"+secarr[5][1]+"|"+secarr[6][1] +"|"+secarr[7][1]+"|"+secarr[8][1]+"|"+secarr[9][1]+"|");
  228. System.out.println(" ---------------------|");
  229. System.out.println("C |" +secarr[0][2] +"|"+secarr[1][2]+"|"+secarr[2][2]+"|"+secarr[3][2] +"|"+secarr[4][2]+"|"+secarr[5][2]+"|"+secarr[6][2] +"|"+secarr[7][2]+"|"+secarr[8][2]+"|"+secarr[9][2]+"|");
  230. System.out.println(" ---------------------|");
  231. System.out.println("D |" +secarr[0][3] +"|"+secarr[1][3]+"|"+secarr[2][3]+"|"+secarr[3][3] +"|"+secarr[4][3]+"|"+secarr[5][3]+"|"+secarr[6][3] +"|"+secarr[7][3]+"|"+secarr[8][3]+"|"+secarr[9][3]+"|");
  232. System.out.println(" ---------------------|");
  233. System.out.println("E |" +secarr[0][4] +"|"+secarr[1][4]+"|"+secarr[2][4]+"|"+secarr[3][4] +"|"+secarr[4][4]+"|"+secarr[5][4]+"|"+secarr[6][4] +"|"+secarr[7][4]+"|"+secarr[8][4]+"|"+secarr[9][4]+"|");
  234. System.out.println(" ---------------------|");
  235. System.out.println("F |" +secarr[0][5] +"|"+secarr[1][5]+"|"+secarr[2][5]+"|"+secarr[3][5] +"|"+secarr[4][5]+"|"+secarr[5][5]+"|"+secarr[6][5] +"|"+secarr[7][5]+"|"+secarr[8][5]+"|"+secarr[9][5]+"|");
  236. System.out.println(" ---------------------|");
  237. System.out.println("G |" +secarr[0][6] +"|"+secarr[1][6]+"|"+secarr[2][6]+"|"+secarr[3][6] +"|"+secarr[4][6]+"|"+secarr[5][6]+"|"+secarr[6][6] +"|"+secarr[7][6]+"|"+secarr[8][6]+"|"+secarr[9][6]+"|");
  238. System.out.println(" ---------------------|");
  239. System.out.println("H |" +secarr[0][7] +"|"+secarr[1][7]+"|"+secarr[2][7]+"|"+secarr[3][7] +"|"+secarr[4][7]+"|"+secarr[5][7]+"|"+secarr[6][7] +"|"+secarr[7][7]+"|"+secarr[8][7]+"|"+secarr[9][7]+"|");
  240. System.out.println(" ---------------------|");
  241. System.out.println("I |" +secarr[0][8] +"|"+secarr[1][8]+"|"+secarr[2][8]+"|"+secarr[3][8] +"|"+secarr[4][8]+"|"+secarr[5][8]+"|"+secarr[6][8] +"|"+secarr[7][8]+"|"+secarr[8][8]+"|"+secarr[9][8]+"|");
  242. System.out.println(" ---------------------|");
  243. System.out.println("J |" +secarr[0][9] +"|"+secarr[1][9]+"|"+secarr[2][9]+"|"+secarr[3][9] +"|"+secarr[4][9]+"|"+secarr[5][9]+"|"+secarr[6][9] +"|"+secarr[7][9]+"|"+secarr[8][9]+"|"+secarr[9][9]+"|");
  244. System.out.println(" ---------------------|");
  245. }
  246.  
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement