elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Temas
Páginas: [1]
1  Programación / Java / 2 dias y no veo que fallo. en: 20 Noviembre 2015, 21:32 pm
Buenas chicos estoy empezando con java y me estoy desesperando, me mandan un ejercicio "basico" y tengo que entregarlo el domingo y ya como ultima opcion a la desesperacion os pediria ayuda. Uso eclipse kepler. Todo a nivel principiante.

el enunciado del ejercicio es el siguiente.

Juego tanques:
Por otra parte el alumno debe generar un programa en Java que simule el juego de ataque mutuo.

Para ello se dispondrá de una clase Tanque, que tendrá una posición determinada en el tablero (dos coordenadas).
Se deben realizar dos constructores de la clase Tanque, una sin parámetros (que automáticamente asigne una posición al tanque, entre 0 y 20). Y otro donde se le pasen las coordenadas del mismo.
El alumno debe decidir que información (atributos) además deberá incluir en dicha clase Tanque.
El juego consiste en que alternativamente, los participantes (Tanques), utilizarán un método llamado disparaTanque() que solicitará al usuario dos coordenadas de disparo.
El tanque que primero alcance al otro habrá ganado el juego.
Se debe crear además un método llamado moverTanque(int direccion), que reciba un número según la dirección en la que se desee mover el tanque. Si el tanque está en una posición hay ocho posibles direcciones de movimiento.
Para probar dichas, se debe crear un programa principal con el método main(), lance el juego en una clase llamada LanzaJuegoTanques.


Bien ahora creo la primera clase Tanque:
Código
  1. package Tanque;
  2.  
  3. import java.util.Random;
  4.  
  5. public class Tanque {
  6.  
  7. private int coorX;
  8. private int coorY;
  9. private int coordisparo1;
  10. private int coordisparo2;
  11.  
  12. public int getCoorX() {
  13. return coorX;
  14. }
  15. public void setCoorX(int coorX) {
  16. this.coorX = coorX;
  17. }
  18. public int getCoorY() {
  19. return coorY;
  20. }
  21. public void setCoorY(int coorY) {
  22. this.coorY = coorY;
  23. }
  24. public int getCoordisparo1() {
  25. return coordisparo1;
  26. }
  27. public void setCoordisparo1(int coordisparo1) {
  28. this.coordisparo1 = coordisparo1;
  29. }
  30. public int getCoordisparo2() {
  31. return coordisparo2;
  32. }
  33. public void setCoordisparo2(int coordisparo2) {
  34. this.coordisparo2 = coordisparo2;
  35. }
  36.  
  37. public Tanque(int coorX, int coorY) {
  38. this.coorX = coorX;
  39. this.coorY = coorY;
  40. }
  41. public Tanque() {
  42. Random r = new Random();
  43. coorX = r.nextInt(21);
  44. coorY = r.nextInt(21);
  45. }
  46. public String toString() {
  47. return "Tanques [coordenadaX=" + coorX + ", coordenadaY="
  48. + coorY + "]";
  49. }
  50.  
  51. public void dispararTanque(int x, int y){
  52. System.out.println("Se ha disparado a la posición "+x+","+y);
  53. }
  54.  
  55. public void moverTanque(int direccion) {
  56. switch (direccion) {
  57. case 1:
  58. coorX = 0;
  59. coorY = 0;
  60. break;
  61. case 2:
  62. coorX = 1;
  63. coorY = 0;
  64. break;
  65. case 3:
  66. coorX = 2;
  67. coorY = 0;
  68. break;
  69. case 4:
  70. coorX = 0;
  71. coorY = 1;
  72. break;
  73. case 5:
  74. coorX = 2;
  75. coorY = 1;
  76. break;
  77. case 6:
  78. coorX = 0;
  79. coorY = 2;
  80. break;
  81. case 7:
  82. coorX = 1;
  83. coorY = 2;
  84. break;
  85. case 8:
  86. coorX = 2;
  87. coorY = 2;
  88. break;
  89. }
  90. }
  91.  
  92.  
  93. }
  94.  
  95. Y el main LanzaJuegoTanques:
  96. package Tanque;
  97.  
  98. import java.util.Scanner;
  99.  
  100. public class LanzaJuegoTanque {
  101.  
  102. public static void main(String[] args) {
  103. int direccionT1;
  104. int direccionT2;
  105. int ganador=0;
  106.  
  107. Scanner sc1 = new Scanner(System.in);
  108. Scanner sc2 = new Scanner(System.in);
  109. Tanque t1 = new Tanque();
  110. Tanque t2= new Tanque(1,1);
  111.  
  112. do{
  113. System.out.println("TANQUE 1\nIntroduzca la direccion a la que se desea mover:");
  114. direccionT1 = sc1.nextInt();
  115. t1.moverTanque(direccionT1);
  116.  
  117. System.out.println("TANQUE 2\nIntroduzca la direccion a la que se desea mover:");
  118. direccionT2 = sc2.nextInt();
  119. t2.moverTanque(direccionT2);
  120.  
  121. System.out.println("Turno TANQUE 1");
  122. t1.dispararTanque(direccionT1, direccionT2);
  123. if((t1.getCoordisparo1()==t2.getCoorX())&&(t1.getCoordisparo2()==t2.getCoorY())){
  124. System.out.println("El TANQUE 1 es el ganador del juego.");
  125. ganador=1;
  126. break;
  127. }
  128.  
  129. System.out.println("Turno TANQUE 2");
  130. t2.dispararTanque(direccionT1, direccionT2);
  131. if((t2.getCoordisparo1()==t1.getCoorX())&&(t2.getCoordisparo2()==t1.getCoorY())){
  132. System.out.println("El TANQUE 2 es el ganador del juego.");
  133. ganador=1;
  134. break;
  135. }
  136. }while(ganador!=0);
  137.  
  138.  
  139. sc1.close();
  140. sc2.close();
  141. }
  142.  
  143. }
  144.  
haber si hay algun alma caritativa y me echa una mano, infinitas gracias

[MOD] para publicar codigo, usar etiquetas GeSHi.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines