From dbad1c2ebfed34eb3828c4b9e958f2e96ace1d6b Mon Sep 17 00:00:00 2001 From: Viktoriia Vynohradova Date: Wed, 30 Aug 2023 22:42:03 +0300 Subject: [PATCH] Solution --- src/makeRobot.js | 56 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/src/makeRobot.js b/src/makeRobot.js index 4bcef1e45..cf669b955 100644 --- a/src/makeRobot.js +++ b/src/makeRobot.js @@ -38,7 +38,61 @@ * @return {Robot} */ function makeRobot(name, wheels, version) { - // write code here + return { + name, + wheels, + version, + coords: { + x: 0, + y: 0, + }, + + get info() { + return `name: ${this.name},` + + ` chip version: ${this.version}, wheels: ${this.wheels}`; + }, + + get location() { + return `${this.name}: x=${this.coords.x}, y=${this.coords.y}`; + }, + + goForward(step = 1) { + if (step >= 0) { + this.coords.y += step; + } + + return this; + }, + + goBack(step = 1) { + if (step >= 0) { + this.coords.y -= step; + } + + return this; + }, + + goLeft(step = 1) { + if (step >= 0) { + this.coords.x -= step; + } + + return this; + }, + + goRight(step = 1) { + if (step >= 0) { + this.coords.x += step; + } + + return this; + }, + + evacuate() { + this.coords.x = 1400; + this.coords.y = 500; + }, + }; } module.exports = makeRobot;