標籤:extend int aik nts 定義 prot echo 自己 cte
在一個遊戲中,有盜賊,獵人,醫生,農民,士兵幾類人,這些人都有名稱、等級,還可以自己介紹自己;
其中,
盜賊可以偷盜。
獵人可以打獵。
農民可以採礦。
盜賊、獵人和農民可以攻擊。
農民、醫生可以治療。
士兵可以抵抗盜賊、獵人和農民等的攻擊。
還有一個玩家可以控制這些角色。
設計這個系統。
<?php
abstract class Game{
protected $name;
protected $dengji;
protected $xingwei;
public function __construct($name,$dengji,$xingwei){
$this ->name=$name;
$this ->dengji=$dengji;
$this ->xingwei=$xingwei;
}
public function instrduce(){
echo "我是".$this ->name.‘,‘."我的等級是".$this ->dengji.‘級‘.‘,‘."能".$this->xingwei;
}
}
//定義介面開始
interface TouDao{
function toudao();
}
interface XingWei{
function xingwei();
}
interface DaLie{
function dalie();
}
interface CaiKuang{
function caikuang();
}
interface GongJi{
function gongji();
}
interface ZhiLiao{
function zhiliao();
}
//定義介面結束
//盜賊
class DaoZei extends Game implements TouDao,GongJi{
function toudao(){}
function gongji(){
echo ",能進行攻擊";
}
}
//獵人
class LieRen extends Game implements DaLie,GongJi{
function dalie(){}
function gongji(){}
}
//農民
class NongMing extends Game implements CaiKuang,GongJi,ZhiLiao{
function caikuang(){}
function gongji(){}
function ZhiLiao(){
echo ",也能進行治療";
}
}
//醫生
class YiSheng extends Game implements ZhiLiao{
function ZhiLiao(){
}
}
//士兵
class ShiBin extends Game{
public function dIKang(){}
}
//玩家
class WanJia extends Game{
public function kongZhi(){}
}
$DaoZei =new DaoZei(‘盜賊‘,‘中‘,‘偷盜‘);
$DaoZei ->instrduce();
$DaoZei ->gongji();
echo "<br><br>";
$lieren =new LieRen(‘獵人‘,‘初‘,‘打獵‘);
$lieren ->instrduce();
$DaoZei ->gongji();
echo "<br><br>";
$nongming =new NongMing(‘農民‘,‘初‘,‘採礦‘);
$nongming ->instrduce();
$DaoZei ->gongji();
$nongming ->ZhiLiao();
echo "<br><br>";
$yisheng = new YiSheng(‘醫生‘,‘中‘,‘治療‘);
$yisheng ->instrduce();
echo "<br><br>";
$shibin = new ShiBin(‘士兵‘,‘高‘,‘抵抗盜賊、獵人和農民的攻擊‘);
$shibin ->instrduce();
echo "<br><br>";
$wanjia = new WanJia(‘玩家‘,‘特高‘,‘控制所有角色‘);
$wanjia ->instrduce();
echo "<br><br>";
PHP的練習