Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Robot;
- public class Robot {
- private String name;
- private String status;
- //1. Standby, 2. Moving 3.Exploring 4.Stopped 5.Returninghome
- private double temperature;
- private double speed;
- private double power;
- private double maxSpeed;
- public Robot(){
- }
- public Robot(String name){
- this.name=name;
- }
- public void robotStatus(String name, String status, double temperature, double speed, int power){
- this.name=name;
- this.status=status;
- this.temperature=temperature;
- this.speed=speed;
- this.power=power;
- }
- public void present(){
- System.out.println("Registrando chegada ao Planeta Marte.");
- System.out.println("Data de Pouso: 24 de Outubro de 2020.");
- System.out.println("Horário de Pouso: 00h (Horário da Terra).");
- System.out.println();
- }
- public void continueStory(int num){
- switch(num) {
- case 1:
- System.out.println("\nComeçando a exploração do Terreno. Objetivo: Capturar imagens e reportar para a Base. Aumentar a velocidade em 1 m/s a cada 5 segundos, até chegar a 10 m/s.");
- break;
- case 2:
- System.out.println("\nUma alteração no terreno foi encontrada. O Robô foi parado. Devem ser capturadas 5 imagens e estas devem ser enviadas para a base imediatamente.");
- break;
- case 3:
- System.out.println("\nAs imagens foram capturadas e enviadas para a base. O Robô irá girar 90º para a esquerda e aumentar sua velocidade para 40 m/s, e prosseguir com a exploração.");
- break;
- case 4:
- System.out.println("\nAlerta: Existe possibilidade de descarga da bateria em um local distante do ponto de partida. O Robô deve retornar imediatamente ao ponto de partida.");
- break;
- case 5:
- System.out.println("\nO Robô retornou ao ponto de partida e agora está recebendo um aumento de carga para sua carga máxima. O Robô deve ser colocado em Standby e recomeçar a exploração no dia seguinte.");
- break;
- }
- }
- public String getName(){
- return this.name;
- }
- public void setName(String name){
- this.name=name;
- }
- public void setStatus(String status){
- this.status=status;
- }
- public String getStatus() {
- return status;
- }
- public double getTemperature() {
- return temperature;
- }
- public void setTemperature(double temperature) {
- this.temperature = temperature;
- }
- public double getSpeed() {
- return speed;
- }
- public double getPower() {
- return power;
- }
- public void setPower(int power) {
- this.power = power;
- }
- public String toString() {
- return "\nRobot Nome:" + name + "\n[Status:" + status + "\n\t Temperatura:"
- + temperature +"º F" + "\n\t Velocidade Atual:" + speed + " m/s" + "\n\t Bateria Disponível:" + power +"%"+ "]";
- }
- public void show(){
- System.out.println(this.toString());
- }
- public void zerar(){
- this.speed=0;
- this.temperature=temperature/10;
- }
- public void speedUp(int up){
- double auxSpeed = this.speed + up;
- if(auxSpeed <= this.maxSpeed){
- speed=auxSpeed;
- this.temperature=temperature+(up*0.5);
- this.power=power-(up*0.25);
- if(power==0){
- status="1-Standby";
- }
- }
- }
- public void speedUp(){
- double auxSpeed=speed/10;
- this.speed=speed+auxSpeed;
- this.temperature=temperature+(auxSpeed*0.5);
- this.power=power-(auxSpeed*0.25);
- if(power==0){
- status="1-Standby";
- }
- }
- public void standBy(){
- this.speed=0;
- this.temperature=0;
- this.status="1-Standby";
- }
- public void stop(){
- this.speed=0;
- this.status="4-Stopped";
- this.temperature=temperature/10;
- //Reduzir a temperatura em 10% ou transformar a temperatura em 10% do atual?
- }
- public void explorer(){
- if(status.equals("4-Stopped")){
- this.status="3-Exploring";
- this.temperature=temperature+20;
- this.power=power-10;
- if(power==0){
- status="1-Standby";
- }
- }
- }
- public void returning(){
- if(status.equals("2-Moving")){
- this.status="5-Returning Home";
- }
- }
- public void moving(){
- this.status="2-Moving";
- }
- public void speedDown(int down){
- double auxSpeed=speed-down;
- speed=auxSpeed;
- this.temperature=temperature-(down*0.5);
- }
- public void speedDown(){
- double auxSpeed=speed/10;
- this.speed=speed-auxSpeed;
- this.temperature=temperature-(auxSpeed*0.5);
- }
- public void charge(){
- double auxPower=power+10;
- if (auxPower<=100){
- power=auxPower;
- }
- }
- public void fullCharge(){
- power=100;
- }
- public void takePicture(){
- System.out.println("Imagem Capturada");
- }
- public void reportPicture(){
- System.out.println("Enviando imagem para a base.");
- }
- public void turnLeft(){
- System.out.println("Girando 90º para a esquerda.");
- }
- public void turnRight(){
- System.out.println("Girando 90º para a direita.");
- }
- public void attachToCharger(){
- System.out.println("Recebendo Aumento de Carga.");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement