Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.58 KB | None | 0 0
  1. package hundirlaflota;
  2.  
  3. import java.util.Scanner;
  4. import java.util.Random;
  5.  
  6. public class HundirLaFlota{
  7.  
  8. public static void main (String[] args) {
  9.  
  10. System.out.println ("============ HUNDIR LA FLOTA ============");
  11. System.out.println ("");
  12. System.out.println ("");
  13. int[][] tablero = new int [5][5];
  14. int[][] barcos = new int [4][3];
  15. int[] disparo = new int [2];
  16. int intentos = 0;
  17. int golpeDisparo = 0;
  18.  
  19. iniciarTablero (tablero);
  20. iniciarBarcos (barcos);
  21.  
  22. System.out.println();
  23.  
  24. do {
  25. verTablero (tablero);
  26. disparo (disparo);
  27. intentos++;
  28.  
  29. if (golpe(disparo, barcos)) {
  30. disparos (disparo, barcos, intentos);
  31. golpeDisparo++;
  32. }
  33.  
  34. else
  35. disparos (disparo, barcos, intentos);
  36.  
  37. cambiarTablero (disparo, barcos, tablero);
  38.  
  39.  
  40. } while (golpeDisparo < 4);
  41.  
  42. Scanner s = new Scanner (System.in);
  43.  
  44. System.out.println ("");
  45. System.out.println ("=========== Partida finalizada ===========");
  46. System.out.println ("");
  47. System.out.println ("Has hundido 4 barcos en " + intentos + " intentos");
  48. /*System.out.println ("");
  49. System.out.println ("¿Desea jugar de nuevo? S/N");
  50.  
  51. char c = s.next().charAt(0);
  52.  
  53. while (c == 'S' || c == 's') {
  54.  
  55. System.out.println ("");
  56. System.out.println ("============= Nueva partida =============");
  57. System.out.println ("");
  58.  
  59. iniciarTablero (tablero);
  60. iniciarBarcos (barcos);
  61.  
  62. System.out.println();
  63.  
  64. do {
  65. verTablero (tablero);
  66. disparo (disparo);
  67. intentos++;
  68.  
  69. if (golpe(disparo,barcos)) {
  70. disparos (disparo,barcos,intentos);
  71. golpeDisparo++;
  72. }
  73.  
  74. else
  75. disparos (disparo,barcos,intentos);
  76.  
  77. cambiarTablero (disparo,barcos,tablero);
  78.  
  79.  
  80. } while (golpeDisparo != 4);
  81.  
  82.  
  83.  
  84. }*/
  85.  
  86. verTablero (tablero);
  87.  
  88. }
  89.  
  90. public static void iniciarTablero (int[][] tablero) {
  91. for (int fila = 0; fila < 5; fila++ )
  92. for (int columna = 0; columna < 5; columna++ )
  93. tablero [fila][columna] = -1;
  94. }
  95.  
  96. public static void verTablero (int[][] tablero) {
  97. System.out.println ("\tA \tB \tC \tD \tE");
  98. System.out.println ();
  99.  
  100. for (int fila = 0; fila < 5; fila++) {
  101. System.out.print (fila + 1 + "");
  102. for (int columna = 0; columna < 5; columna++ ) {
  103. if (tablero [fila][columna] == -1) {
  104. System.out.print ("\t" + " ");
  105. } else if (tablero[fila][columna] == 0) {
  106. System.out.print ("\t" + "~");
  107. } else if (tablero[fila][columna] == 1) {
  108. System.out.print ("\t" + "*");
  109. }
  110.  
  111. }
  112.  
  113. System.out.println();
  114.  
  115. }
  116.  
  117. }
  118.  
  119. public static void iniciarBarcos (int[][] barcos) {
  120. Random r = new Random();
  121.  
  122. for (int barco = 0; barco < 4; barco++) {
  123. barcos [barco][0] = r.nextInt(5);
  124. barcos [barco][1] = r.nextInt(5);
  125.  
  126. for (int últimoDisparo = 0; últimoDisparo < barco; últimoDisparo++) {
  127. if ((barcos [barco][0] == barcos [últimoDisparo][0]) && (barcos [barco][1] == barcos [últimoDisparo][1]));
  128. do {
  129. barcos [barco][0] = r.nextInt(5);
  130. barcos [barco][1] = r.nextInt(5);
  131.  
  132. } while ((barcos [barco][0] == barcos [últimoDisparo][0]) && (barcos [barco][1] == barcos [últimoDisparo] [1]));
  133. }
  134.  
  135. }
  136. }
  137.  
  138. public static void disparo (int[] disparo) {
  139. Scanner s = new Scanner (System.in);
  140.  
  141.  
  142. System.out.println ("");
  143. System.out.print ("Fila: ");
  144. disparo [0] = s.nextInt();
  145. disparo [0]--;
  146.  
  147. while (disparo [0] <= -1 || disparo [0] >= 5) {
  148. System.out.println ("");
  149. System.out.println ("El disparo sobrepasa los límites del tablero. Introduzca un nuevo valor.");
  150. System.out.println ("");
  151. System.out.print ("Fila: ");
  152. disparo [0] = s.nextInt();
  153. disparo [0]--;
  154.  
  155. }
  156.  
  157. System.out.println ("");
  158. System.out.print ("Columna: ");
  159.  
  160. char c = s.next().charAt(0);
  161.  
  162. if (c == 'A' || c == 'a') {
  163. disparo [1]--;
  164. disparo [1] = 0;
  165.  
  166. } else if (c == 'B' || c == 'b') {
  167. disparo [1]--;
  168. disparo [1] = 1;
  169.  
  170. } else if (c == 'C' || c == 'c') {
  171. disparo [1]--;
  172. disparo [1] = 2;
  173.  
  174. } else if (c == 'D' || c == 'd') {
  175. disparo [1]--;
  176. disparo [1] = 3;
  177.  
  178. } else if (c == 'E' || c == 'e') {
  179. disparo [1]--;
  180. disparo [1] = 4;
  181.  
  182. } if (c == 'F' || c == 'f') {
  183.  
  184. System.out.println ("");
  185. System.out.println ("El disparo sobrepasa los límites del tablero. Introduzca un nuevo valor.");
  186. System.out.println ("");
  187. System.out.print ("Columna: ");
  188.  
  189. char h = s.next().charAt(0);
  190.  
  191. if (h == 'A' || h == 'a') {
  192. disparo [1]--;
  193. disparo [1] = 0;
  194.  
  195. } else if (h == 'B' || h == 'b') {
  196. disparo [1]--;
  197. disparo [1] = 1;
  198.  
  199. } else if (h == 'C' || h == 'c') {
  200. disparo [1]--;
  201. disparo [1] = 2;
  202.  
  203. } else if (h == 'D' || h == 'd') {
  204. disparo [1]--;
  205. disparo [1] = 3;
  206.  
  207. } else if (h == 'E' || h == 'e') {
  208. disparo [1]--;
  209. disparo [1] = 4;
  210. }
  211. }
  212. }
  213.  
  214. /* } else if (c >= 'F' || c >= 'f') {
  215. System.out.println ("");
  216. System.out.println ("El disparo sobrepasa los límites del tablero. Introduzca un nuevo valor.");
  217. System.out.println ("");
  218. System.out.print ("Columna: ");
  219.  
  220. char h = s.next().charAt(0);
  221.  
  222. if (h == 'A' || h == 'a') {
  223. disparo [1]--;
  224. disparo [1] = 0;
  225.  
  226. } else if (h == 'B' || h == 'b') {
  227. disparo [1]--;
  228. disparo [1] = 1;
  229.  
  230. } else if (h == 'C' || h == 'c') {
  231. disparo [1]--;
  232. disparo [1] = 2;
  233.  
  234. } else if (h == 'D' || h == 'd') {
  235. disparo [1]--;
  236. disparo [1] = 3;
  237.  
  238. } else if (h == 'E' || h == 'e') {
  239. disparo [1]--;
  240. disparo [1] = 4;
  241.  
  242. }
  243. }*/
  244.  
  245.  
  246. public static boolean golpe (int[] disparo, int[][] barcos) {
  247.  
  248. for (int barco = 0; barco < barcos.length; barco++) {
  249. if((disparo[0] == barcos [barco][0]) && (disparo[1] == barcos [barco][1])) {
  250. System.out.println ("Has disparado a un barco localizado en " + (disparo[0] + 1) + "," + (disparo[1] + 1));
  251. System.out.println("");
  252. return true;
  253. }
  254. }
  255.  
  256. return false;
  257. }
  258.  
  259. public static void disparos (int[] disparo, int[][] barcos, int intento) {
  260. int fila = 0;
  261. int columna = 0;
  262.  
  263. for (int línea = 0 ; línea < barcos.length ; línea++) {
  264. if (barcos [línea][0] == disparo [0])
  265. fila++;
  266. if (barcos [línea][1] == disparo [1])
  267. columna++;
  268. }
  269.  
  270. System.out.println ("");
  271. System.out.println ("Disparos: " + intento);
  272. System.out.println ("");
  273. System.out.println ("");
  274. }
  275.  
  276. public static void cambiarTablero (int[] disparo, int[][] barcos, int[][] tablero) {
  277. if (golpe(disparo, barcos))
  278. tablero [disparo[0]][disparo[1]] = 1;
  279. else
  280. tablero [disparo[0]][disparo[1]] = 0;
  281. }
  282.  
  283. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement