This is my simple implimenation of the PHP Coding Test "The Bee Game"
Bees
There are three types of bees in this game:
-
Queen Bee
- The Queen Bee has a lifespan of 100 Hit Points.
- When the Queen Bee is hit, 8 Hit Points are deducted from her lifespan.
- If/When the Queen Bee has run out of Hit Points, All remaining alive Bees automatically run out of hit points.
- There is only 1Queen Bee.
-
Worker Bee
- Worker Bees have a lifespan of 75 Hit Points.
- When a Worker Bee is hit, 10 Hit Pointsare deducted from his lifespan.
- There are 5Worker Bees.
-
Drone Bee
- Drone Bees have a lifespan of 50 Hit Points.
- When a Drone Bee is hit, 12 Hit Points are deducted from his lifespan.
- There are 8 Drone Bees.
composer install
php play.php
$hive = new \Game\Hive();
$hive->add("\Game\Bee\Queen", 1);
$hive->add("\Game\Bee\Drone", 5);
$hive->add("\Game\Bee\Worker", 8);
src/Game/Bee/Queen.php
/**
* What health does this bee have?
*
* @var int
*/
protected $health = 100;
/**
* Whats an attack on us worth?
*
* @var int
*/
protected $damage = 8;
/**
* Release the wildfire?
*
* This will kill all bees.
* @var bool
*/
protected $BURN_THEM_ALL = true;
Adding new bees is a case of adding a class that extends Bee
namespace Game\Bee;
class Weak extends \Game\Bee
{
/**
* What health does this bee have?
*
* @var int
*/
protected $health = 5;
/**
* Whats an attack on us worth?
*
* @var int
*/
protected $damage = 5;
/**
* Release the wildfire?
*
* This will kill all bees.
* @var bool
*/
protected $BURN_THEM_ALL = false;
/**
* A public name for this bee.
*
* @var string
*/
protected $name = "Weak";
}
phpunit