Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package lp2.lab07;
- public class Robo {
- private static final int OCUPADO = 1;
- int linha = 0;
- int coluna = 0;
- boolean subir;
- int energia;
- Robo robo;
- Sala sala;
- int linhaAtual;
- int colunaAtual;
- boolean descer;
- boolean possuiEnergia;
- int passos;
- boolean podeMovimentar;
- public Robo(int energia, Sala sala) throws Exception {
- this.energia = energia;
- if (energia <= 0) {
- throw new Exception("A energia deve ser positiva.");
- } else {
- sala.setPosicao(linha, coluna, OCUPADO);
- }
- }
- public boolean subir() {
- if ((getLinhaAtual() - 1) < 0) {
- System.out
- .println("Movimentação não é possível. Limite superior alcançado");
- subir = false;
- } else if (getEnergia() <= 0) {
- System.out.println("Baixa energia");
- subir = false;
- } else {
- System.out
- .println("Robô subiu um nível. Agora ele está na posição: ["
- + (linhaAtual - 1) + "," + (coluna) + "]");
- linhaAtual--;
- energia--;
- subir = true;
- passos++;
- }
- return subir;
- }
- public boolean esquerda() {
- boolean esquerda;
- if ((getColunaAtual() - 1) < 0) {
- System.out
- .println("Movimentação não é possível. Limite lateral esquerdo alcançado.");
- esquerda = false;
- } else if (getEnergia() <= 0) {
- System.out.println("Baixa energia");
- esquerda = false;
- } else {
- System.out
- .println("Robô andou um nível para a esquerda. Agora ele está na posição: ["
- + (linha) + "," + (coluna - 1) + "]");
- colunaAtual--;
- energia--;
- esquerda = true;
- passos++;
- }
- return esquerda;
- }
- // public boolean descer(){
- // mudouPosicao = false;
- // if (robo[0] + 1 <= sala.getLinha() && energia > 0){
- // if (sala.verificarPosicaoLivre(robo[0]+1, robo[1]) == true){
- // sala.setPosicao(robo[0], robo[1], Sala.LIVRE);
- // robo[0] ++;
- // sala.setPosicao(robo[0], robo[1], Sala.OCUPADO);
- // energia -= 1;
- // passos ++;
- // mudouPosicao = true;
- // }
- // }
- // return mudouPosicao;
- // }
- public boolean descer() {
- if ((getLinhaAtual() + 1) <= linha) {
- System.out
- .println("Movimentação não é possível. Limite inferior alcançado");
- descer = false;
- }
- if (getEnergia() <= 0) {
- System.out.println("Baixa energia");
- descer = false;
- } else {
- System.out
- .println("Robô desceu um nível. Agora ele está na posição: ["
- + (linha + 1) + "," + (coluna) + "]");
- linhaAtual++;
- descer = true;
- energia--;
- passos++;
- }
- return descer;
- }
- public boolean direita() {
- boolean direita;
- if ((getColunaAtual() + 1) == coluna) {
- System.out
- .println("Movimentação não é possível. Limite lateral direito alcançado");
- direita = false;
- } else if (getEnergia() <= 0) {
- System.out.println("Baixa energia");
- direita = false;
- } else {
- System.out
- .println("Robô andou um nível para a direita. Agora ele está na posição: ["
- + (linha) + "," + (coluna + 1) + "]");
- colunaAtual++;
- direita = true;
- energia--;
- passos++;
- }
- return direita;
- }
- public int getLinhaAtual() {
- return linhaAtual;
- }
- public int getColunaAtual() {
- return colunaAtual;
- }
- public boolean possuiEnergia() {
- if (energia != 0) {
- possuiEnergia = true;
- } else {
- possuiEnergia = false;
- }
- return possuiEnergia;
- }
- public int getPassos() {
- return passos;
- }
- public int getEnergia() {
- return energia;
- }
- }
Add Comment
Please, Sign In to add comment