/** * Add myself to the list of guests to be seated. */ private function addMeAsKnight() { $me = new Knight("Me"); foreach ($this->knights as $knight) { /** @var Knight $knight */ $me->setHappiness($knight->getName(), 0); } $this->guestList[] = "Me"; $this->knights["Me"] = $me; }
/** * Determine the total happiness change by two knights sitting next to each other. * * @param Knight $knight1 * @param Knight $knight2 * * @return int */ private function calculateHappinessChange($knight1, $knight2) { $knight1Happiness = $knight1->getHappiness($knight2); $knight2Happiness = $knight2->getHappiness($knight1); return $knight1Happiness + $knight2Happiness; }