<?php
//各种兵来一个接口
interface bingge
{
public function make();//制造
public function weixiu();//维修
}
//制造各种兵的原材料数量
class cailiao
{
static $jingsu = 5;//金属-做机枪兵
static $qiyou = 24;//汽油-做火焰兵
static function howmanyQiyou()
{
if(self::$qiyou<20)
{
echo "你仓库的汽油少于20公斤,请先去商店购买!";
return false;
}
else
{
return true;
}
}
public function hedui()
{
echo "原材料仓库统计核对";
}
}
//现在制造的时候仓库要属于个人的,按用户名来判断材料,而且材料数量在数据库呢,怎么办
//?????????????下一步做这个
//维修材料管理部-如果维修前要做判断螺丝刀数量够不够等,可以和仓库一样的操作
class weixiubu
{
static $nuosidao =10;
}
//火焰兵
class huoyan implements bingge
{
public function make()
{
if(cailiao::howmanyQiyou())
{
echo "我是刚刚制造出来的一个火焰兵";
cailiao::$qiyou = cailiao::$qiyou - 5;//制造一个火焰兵,仓库汽油减去5
}
}
public function weixiu()
{
echo "我在维修一个火焰兵";
}
}
//机枪兵
class jiqiang implements bingge
{
public function make()
{
echo "我是一个机枪兵";
}
public function weixiu()
{
echo "我在维修一个机枪兵";
}
}
//如果第二期需要:坦克兵,就只用在这里添加
class tanke implements bingge
{
public function make()
{
echo "我是一个坦克兵!";
}
public function weixiu()
{
echo "我在维修一个坦克兵!";
}
}
//建造士兵的工具
class makeshibing
{
public function zuosa($canshu)
{
$comeon = new $canshu["who"];
$comeon->$canshu["what"]();
}
}
//一个建造实例
$begin = new makeshibing();
$canshu = array
(
"who" => "huoyan" ,
"what" => "make" ,
);
$how = $begin->zuosa($canshu);
echo "<hr>";
//再制造一个火焰兵,看汽油消耗不够了还能不能做
$begin = new makeshibing();
$canshu = array
(
"who" => "huoyan" ,
"what" => "make" ,
);
$how = $begin->zuosa($canshu);
echo "<hr>";
//第二期需要增加坦克兵种
$begin = new makeshibing();
$canshu = array
(
"who" => "tanke" ,
"what" => "make" ,
);
$how = $begin->zuosa($canshu);
echo "<hr>";
//第三期需要维修和制造一起
$begin = new makeshibing();
$canshu = array
(
"who" => "tanke" ,
"what" => "weixiu" ,
);
$how = $begin->zuosa($canshu);
//第四期需要在制造和维修前判断材料充足不
?>