Guest User

Untitled

a guest
Jul 23rd, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. package lp2.lab07;
  2.  
  3. public class Robo {
  4.  
  5. private static final int OCUPADO = 1;
  6. int linha = 0;
  7. int coluna = 0;
  8. boolean subir;
  9. int energia;
  10. Robo robo;
  11. Sala sala;
  12. int linhaAtual;
  13. int colunaAtual;
  14. boolean descer;
  15. boolean possuiEnergia;
  16. int passos;
  17. boolean podeMovimentar;
  18.  
  19. public Robo(int energia, Sala sala) throws Exception {
  20. this.energia = energia;
  21.  
  22. if (energia <= 0) {
  23. throw new Exception("A energia deve ser positiva.");
  24. } else {
  25. sala.setPosicao(linha, coluna, OCUPADO);
  26. }
  27.  
  28. }
  29.  
  30. public boolean subir() {
  31. if ((getLinhaAtual() - 1) < 0) {
  32. System.out
  33. .println("Movimentação não é possível. Limite superior alcançado");
  34. subir = false;
  35. } else if (getEnergia() <= 0) {
  36. System.out.println("Baixa energia");
  37. subir = false;
  38. } else {
  39. System.out
  40. .println("Robô subiu um nível. Agora ele está na posição: ["
  41. + (linhaAtual - 1) + "," + (coluna) + "]");
  42. linhaAtual--;
  43. energia--;
  44. subir = true;
  45. passos++;
  46. }
  47. return subir;
  48. }
  49.  
  50. public boolean esquerda() {
  51. boolean esquerda;
  52. if ((getColunaAtual() - 1) < 0) {
  53. System.out
  54. .println("Movimentação não é possível. Limite lateral esquerdo alcançado.");
  55. esquerda = false;
  56. } else if (getEnergia() <= 0) {
  57. System.out.println("Baixa energia");
  58. esquerda = false;
  59. } else {
  60.  
  61. System.out
  62. .println("Robô andou um nível para a esquerda. Agora ele está na posição: ["
  63. + (linha) + "," + (coluna - 1) + "]");
  64. colunaAtual--;
  65. energia--;
  66. esquerda = true;
  67. passos++;
  68. }
  69. return esquerda;
  70. }
  71.  
  72. // public boolean descer(){
  73. // mudouPosicao = false;
  74. // if (robo[0] + 1 <= sala.getLinha() && energia > 0){
  75. // if (sala.verificarPosicaoLivre(robo[0]+1, robo[1]) == true){
  76. // sala.setPosicao(robo[0], robo[1], Sala.LIVRE);
  77. // robo[0] ++;
  78. // sala.setPosicao(robo[0], robo[1], Sala.OCUPADO);
  79. // energia -= 1;
  80. // passos ++;
  81. // mudouPosicao = true;
  82. // }
  83. // }
  84. // return mudouPosicao;
  85. // }
  86.  
  87. public boolean descer() {
  88. if ((getLinhaAtual() + 1) <= linha) {
  89. System.out
  90. .println("Movimentação não é possível. Limite inferior alcançado");
  91. descer = false;
  92.  
  93. }
  94. if (getEnergia() <= 0) {
  95. System.out.println("Baixa energia");
  96. descer = false;
  97.  
  98. } else {
  99.  
  100.  
  101. System.out
  102. .println("Robô desceu um nível. Agora ele está na posição: ["
  103. + (linha + 1) + "," + (coluna) + "]");
  104. linhaAtual++;
  105. descer = true;
  106. energia--;
  107. passos++;
  108. }
  109. return descer;
  110. }
  111.  
  112. public boolean direita() {
  113. boolean direita;
  114. if ((getColunaAtual() + 1) == coluna) {
  115. System.out
  116. .println("Movimentação não é possível. Limite lateral direito alcançado");
  117. direita = false;
  118. } else if (getEnergia() <= 0) {
  119. System.out.println("Baixa energia");
  120. direita = false;
  121. } else {
  122. System.out
  123. .println("Robô andou um nível para a direita. Agora ele está na posição: ["
  124. + (linha) + "," + (coluna + 1) + "]");
  125. colunaAtual++;
  126. direita = true;
  127. energia--;
  128. passos++;
  129.  
  130. }
  131. return direita;
  132. }
  133.  
  134. public int getLinhaAtual() {
  135. return linhaAtual;
  136. }
  137.  
  138. public int getColunaAtual() {
  139. return colunaAtual;
  140. }
  141.  
  142. public boolean possuiEnergia() {
  143.  
  144. if (energia != 0) {
  145. possuiEnergia = true;
  146. } else {
  147.  
  148. possuiEnergia = false;
  149. }
  150. return possuiEnergia;
  151. }
  152.  
  153. public int getPassos() {
  154.  
  155. return passos;
  156. }
  157.  
  158. public int getEnergia() {
  159. return energia;
  160. }
  161.  
  162. }
Add Comment
Please, Sign In to add comment