コード例 #1
0
ファイル: Strategy_Mode.php プロジェクト: linqiaohui/mycode
        $this->_strategy = $strategy;
    }
    public function __get($object)
    {
        return $this->{$object};
    }
    public function cost()
    {
        return $this->_strategy->cost($this);
    }
    public function type()
    {
        return $this->_strategy->type($this);
    }
}
class Arts extends Lesson
{
    protected $discount = 0.75;
    protected $type = "文科";
}
class Science extends Lesson
{
    protected $discount = 0.5;
    protected $type = "理科";
}
//应用
$arts = new Arts(6, new Math());
echo $arts->type() . $arts->cost();
echo "<br>";
$science = new Science(6, new Math());
echo $science->type() . $science->cost();
コード例 #2
0
$ret = Resource::satisfy(array($clay), array($caravanr, $caravanl), 10);
test(count($ret) == 2);
$ret = Resource::satisfy(array($clay), array(ResourceOption::left($clay), ResourceOption::right($clay)), 10);
test(count($ret) == 2);
$ret = Resource::satisfy(array($stone, $stone, $ore), array(ResourceOption::me($stone), ResourceOption::me($ore), ResourceOption::me($glass), ResourceOption::me($paper), ResourceOption::left($stone, 2), ResourceOption::left($ore, 2), ResourceOption::left($glass, 2), ResourceOption::left($paper, 2), ResourceOption::right($stone, 2), ResourceOption::right($ore, 2), ResourceOption::right($glass, 2), ResourceOption::right($paper, 2)), 100);
test(count($ret) == 2);
$wo = new Resource(true, false);
$wo->add(Resource::WOOD);
$wo->add(Resource::ORE);
$wb = new Resource(true, false);
$wb->add(Resource::CLAY);
$wb->add(Resource::WOOD);
$ret = Resource::satisfy(array($clay, $clay, $linen), array(ResourceOption::me($paper), ResourceOption::me($linen), ResourceOption::me($wo), ResourceOption::me($wb), ResourceOption::left($paper, 2), ResourceOption::left($linen, 2), ResourceOption::left($wo, 2), ResourceOption::left($wb, 2), ResourceOption::right($paper, 2), ResourceOption::right($linen, 2), ResourceOption::right($wo, 2), ResourceOption::right($wb, 2)), 100);
test(count($ret) == 2);
// Test science scoring
$s1 = new Science();
test($s1->points() == 0);
$s1->add(Science::GEAR);
test($s1->points() == 1);
$s1->add(Science::GEAR);
test($s1->points() == 4);
$s1->add(Science::COMPASS);
test($s1->points() == 5);
$s1->add(Science::ANY);
test($s1->points() == 13);
$s1->add(Science::ANY);
test($s1->points() == 18);
$s1->add(Science::TABLET);
test($s1->points() == 26);
// Test playing cards
function card($csv, $age = 1)