Beispiel #1
0
 public function test_isContinuous()
 {
     $Steampunked = new Steampunked\Steampunked(1);
     $Steampunked->setSize(6);
     $Steampunked->setPlayer("p1", "p2");
     $owner = $Steampunked->getTurn();
     $tile = new Steampunked\Tile("straight-h.png", array("N" => false, "W" => true, "S" => false, "E" => true));
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($tile, 1, 2), true);
     $straight_v = new Steampunked\Tile("straight-v.png", array("N" => true, "W" => false, "S" => true, "E" => false));
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($straight_v, 1, 2), false);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($straight_v, 1, 3), true);
     $cap_w = new Steampunked\Tile("cap-w.png", array("N" => false, "W" => true, "S" => false, "E" => false));
     $owner->addPipe($cap_w, 1, 2);
     $cap_e = new Steampunked\Tile("cap-e.png", array("N" => false, "W" => false, "S" => false, "E" => true));
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($cap_e, 1, 3), true);
     $Steampunked = new Steampunked\Steampunked(1);
     $Steampunked->setSize(6);
     $Steampunked->setPlayer("p1", "p2");
     $tile = new Steampunked\Tile("straight-h.png", array("N" => false, "W" => true, "S" => false, "E" => true));
     $straight_v = new Steampunked\Tile("straight-v.png", array("N" => true, "W" => false, "S" => true, "E" => false));
     $ninety_wn = new Steampunked\Tile("ninety-wn.png", array("N" => true, "W" => true, "S" => false, "E" => false));
     $Steampunked->rotate(1);
     $Steampunked->addPipe(1, 1, 2);
     $Steampunked->addPipe(3, 2, 2);
     $Steampunked->addPipe(3, 3, 2);
     $Steampunked->addPipe(3, 4, 2);
     $Steampunked->newTurn();
     $owner = $Steampunked->getTurn();
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($tile, 6, 2), true);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($straight_v, 6, 2), false);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($ninety_wn, 6, 2), true);
     $Steampunked->newTurn();
     $Steampunked->addPipe(3, 5, 2);
     $Steampunked->newTurn();
     $owner = $Steampunked->getTurn();
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($tile, 6, 2), false);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($straight_v, 6, 2), false);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($ninety_wn, 6, 2), false);
     $Steampunked->newTurn();
     $owner = $Steampunked->getTurn();
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($tile, 6, 2), false);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($straight_v, 6, 2), false);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($ninety_wn, 6, 2), false);
     $Steampunked->rotate(3);
     $Steampunked->rotate(3);
     $Steampunked->addPipe(3, 5, 2);
     $Steampunked->newTurn();
     $owner = $Steampunked->getTurn();
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($tile, 6, 2), true);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($straight_v, 6, 2), false);
     $Steampunked->getTurn()->setAllPipes($Steampunked->getAllPipes());
     $this->assertEquals($owner->isContinuous($ninety_wn, 6, 2), false);
 }
 public function test_openValve()
 {
     $Steampunked = new Steampunked\Steampunked(self::SEED);
     $Steampunked->setSize(6);
     $Steampunked->setPlayer("p1", "p2");
     $Steampunked->openValve();
     $this->assertEquals($Steampunked->getWinnerName(), "p2");
     $this->assertEquals($Steampunked->getLoserName(), "p1");
     $Steampunked = new Steampunked\Steampunked(self::SEED);
     $Steampunked->setSize(6);
     $Steampunked->setPlayer("p1", "p2");
     $Steampunked->newTurn();
     $Steampunked->openValve();
     $this->assertEquals($Steampunked->getWinnerName(), "p1");
     $this->assertEquals($Steampunked->getLoserName(), "p2");
     $Steampunked = new Steampunked\Steampunked(self::SEED);
     $Steampunked->setSize(6);
     $Steampunked->setPlayer("p1", "p2");
     $Steampunked->newTurn();
     $Steampunked->addPipe(3, 1, 2);
     $Steampunked->openValve();
     $this->assertEquals($Steampunked->getWinnerName(), "p1");
     $this->assertEquals($Steampunked->getLoserName(), "p2");
     $Steampunked = new Steampunked\Steampunked(self::SEED);
     $Steampunked->setSize(6);
     $Steampunked->setPlayer("p1", "p2");
     $Steampunked->newTurn();
     $Steampunked->rotate(2);
     $Steampunked->rotate(2);
     $Steampunked->rotate(2);
     $Steampunked->addPipe(2, 6, 2);
     $Steampunked->addPipe(2, 6, 3);
     $Steampunked->addPipe(2, 6, 4);
     $Steampunked->addPipe(2, 6, 5);
     $Steampunked->addPipe(2, 6, 6);
     $Steampunked->addPipe(4, 6, 7);
     $Steampunked->addPipe(1, 5, 7);
     $Steampunked->addPipe(0, 5, 2);
     $Steampunked->addPipe(0, 5, 3);
     $Steampunked->addPipe(0, 5, 4);
     $Steampunked->addPipe(0, 5, 5);
     $Steampunked->addPipe(0, 5, 6);
     $Steampunked->openValve();
     $this->assertEquals($Steampunked->getWinnerName(), "p2");
     $this->assertEquals($Steampunked->getLoserName(), "p1");
     $this->assertEquals($Steampunked->getAllPipes()[4][8]->getName(), "gauge-top-190.png");
     $this->assertEquals($Steampunked->getAllPipes()[5][8]->getName(), "gauge-190.png");
     $this->assertEquals($Steampunked->getAllPipes()[6][1]->getName(), "valve-open.png");
 }