2016-02-02 2 views
-2

Напишите класс Java класса Robot, который принимает в конструкторе двойные x и y. Роботу необходимо отслеживать, где он находится в мире. Методы:Как ограничить перемещение робота внутри кадра

moveUp(double distance) 
moveDown(double distance) 
moveLeft(double distance) 
moveRight(double distance) 

сделать так, чтобы робот не может выйти за пределы (0,0) и (10,10). Если он попытается, он будет прав при граничном значении. Например, если он был в (1, 5) и попытался переместить левый 2, тогда он будет равен (0, 5).

class Robot{ 
    Robot robot=new Robot(x,y) { 
     robot.moveUp=robot.y-=; 
     robot.moveLeft=robot.x-=; 
     robot.moveDown=robot.y+=; 
     robot.moveRight=robot.x+=; 

     robot.math.min(0,0); 
     robot.math.max(10,10); 
    } 
} 
+1

Что вы хотите сказать? –

+1

Определите свои границы (известная область), сделайте базовое обнаружение столкновений против этих границ, чтобы определить, если вы путешествовали за их пределы. – MadProgrammer

+0

@DavidYee вопрос: я пробовал несколько кодов, но они, похоже, не работают –

ответ

0
class Robot{ 
    Robot robot=new Robot(x,y) { 
    robot.y-=robot.moveUp; 
    robot.x-=robot.moveLeft; 
    robot.y+=robot.moveDown; 
    robot.x+=robot.moveRight; 

    if(robot.y<0) robot.y=0; 
    if(robot.y>10) robot.y=10; 
    if(robot.x<0) robot.x=0; 
    if(robot.x>10) robot.x=10; 
} 
1

Одна вещь, которая может значительно помочь использует простой, если заявление, чтобы сохранить свои оценки в чеке. Что-то вроде этого:

if(x < 0){ 
    x = 0; 
} else if(x > 10){ 
    x = 10; 
} 

И наоборот для границ y. Это гарантирует, что даже если пользователь вводит значение для перемещения, которое вывело бы его из пределов, оно останется в пределах.