Skip to content

yandex-shri/introtask-space

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

Задача из анкеты для поступления в Школу Разработки Интерфейсов Яндекса 2013

Вы — пилот грузового межгалактического корабля. Вашей работой является перевозка грузов с одной планету на другую. Грузоподъемность вашего корабля ограничена, поэтому за один рейс вы можете перевезти не более N кг полезного груза. Ваш корабль умеет сообщать свое состояние (местоположение и степень загруженности), а также летать в любую точку пространства или на любую планету. Каждая планета может содержать на себе груз, который может быть погружен на корабль или выгружен обратно на планету.

Задание

В файле task.js дан интерфейс корабля и планеты. Эти интерфейсы не являются завершенными и скорее всего потребуют доработки. Напишите недостающий код.

Пример использования

Перевоз 1000т груза с планеты B на планету A.

var vessel = new Vessel('Яндекс', [0,0], 1000);
var planetA = new Planet('A', [0,0], 0);
var planetB = new Planet('B', [100, 100], 5000);

// Проверка текущего состояния
vessel.report(); // Грузовой корабль. "Яндекс". Местоположение: 0,0. Товаров нет.
planetA.report(); // Планета "A". Местоположение: 0,0. Грузов нет.
planetB.report(); // Планета "B". Местоположение: 100,100. Доступно груза: 5000т.

vessel.flyTo(planetB);
planetB.loadCargoTo(vessel, 1000);
vessel.report(); // Грузовой корабль. "Яндекс". Местоположение: 'B'. Занято: 1000 из 1000т.

vessel.flyTo(planetA);
planetA.unloadCargoFrom(vessel, 500);
vessel.report(); // Грузовой корабль. "Яндекс". Местоположение: 'A'. Занято: 500 из 1000т.
planetA.report(); // Планета "A". Местоположение: 0,0. Доступно груза: 500т.
planetB.report(); // Планета "B". Местоположение: 100,100. Доступно груза: 4000т.

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •