Skip to content

ivan-berezhnov/zinitsolutions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Тестове завдання

Є роботи яких випускає фабрика. Кожен робот має тип, потужність та активність. Всі роботи одного типу виконують одну роботу, у випадку якщо інші роботи, які виконують туж роботу зупиняються, то загальная потужність однотипних роботів збільшується, таким чином, щоб потужність системи не зменшилась. Потрібно спроектувати класи так, щоб можна було моделювати наступну поведінку.

Приклад використання, файл index.php:

$Factory  = new FactoryBuild();
$RobotOne = new RobotOne();
$RobotTwo = new RobotTwo();

$Factory->make( $RobotOne, 10 );      // Робимо та запускаємо 10 роботів
$Factory->getPower( $RobotOne );      // Виводить 100

$Factory->turnOff( $RobotOne, 2 );    // Робимо не активних 2 робота
$Factory->getPower( $RobotOne );      // Виводить НЕ 100 а 120 (тут була помилка)

$Factory->make( $RobotOne, 5 );       // Робимо та запускаємо 5 роботів
$Factory->getPower( $RobotOne );      // Виводить 150

//$Factory->turnOff( $RobotTwo, 2 );    // Помилка, роботи не запущені

$RobotTwo->setPowerRobot( 15 );       // Визначаємо потужність рота
$Factory->make( $RobotTwo, 2 );       // Робимо і запускаємо 2 робота типу Two
$Factory->getPower( $RobotTwo );      // Виводить 30

Умови виконання: розв’язок повинен бути присланий в форматі zip, який містить виконане завдання та локальний репозиторів git. Тобто всі коміти треба робити в локальний репозиторій, на відаллений не відправляти. Коміти, це кожна логічно завершена одиниця задачі, тобто на виконання задачі, ми очікуємо від 4 до 10 комітів. Обов’язково повинен бути зроблений перший коміт для першого створеного файлу. І повинен бути обов’язково один коміт через годину виконання. Умови задачі повинні бути продубльовані в файлі Readme.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages