<?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); //第四期需要在制造和维修前判断材料充足不 ?>