PHP小汽车类的学习

这个是用一个类来完成的,看到网上都是用两个类来写的,大家来看一下八!由于水平有限,难免有些不足及累赘之处,恳请大家指正!
<?php
class Car
{
    //小车的汽油量
    var $gas;

    //里程记录
    var $meter=0;
        //车的初始X位置
        var $positionX=0;
        //车的初始Y位置
        var $positionY=0;

    //车的末位置X(由GPS自动控制)
    var $X=0;
        //车的末位置Y
        var $Y=0;
        //方向
        var $dire='e';
    //发动机每1公里耗油量,这个车是0.1升\
    var $engine=0.1;

    // 警报信息
    var $warning;
        /*小车的初始化。新车出场当然要
    1、加满汽油。
    2、里程表归零。
    3、清除警报信息。
    4、设定出发位置。
        */
    function Car($gas,$positionX,$positionY)
    {
        $this->gas= $gas; //加满汽油
        $this->meter = 0;
        $this->warning =''; //清除警报信息
        $this->positionX = $positionX; //设定初始位置x
                $this->positionY=$posionY;
    }

    function getWarning() //返回警报信息
    {
        return $this->warning;
    }

    function getGas() //返回汽油表指数
    {
        return $this->gas;
    }
    //开动小汽车


    function run($km)
    {
                $this->dis=$km;
        $goodRunFlag = true;//是否成功完成任务。
        $maxDistance = $this->gas/$this->engine; //小车能够跑的最大距离。

        if(($maxDistance)<$km)
        {
            $this->warning = '没有汽油了!';//设定警告信息,能跑多远就跑多远吧。
            $goodRunFlag = false;//但是任务肯定完成不了。
        }
        else
        {
            $maxDistance=$km; //没有问题,完成任务以后就可以停下来休息了。
                        $this->gas -= $maxDistance*$this->engine;//消耗汽油
                        $this->meter += $km; //增加公里表计数
        }

        return $goodRunFlag;
    }
        /*取得x*/
        function getX()
        {
                if($this->dire=='e')
                        $this->X=$this->positionX+$this->meter;

                elseif($this->dire=='w')
                        $this->X=$this->positionX-$this->meter;
                else
                        $this->X=$this->X;
            return $this->X;
        }
        /*取得y*/
        function getY()
                {
                if($this->dire=='n')
                        $this->Y=$this->positionY+$this->meter;
                elseif($this->dire=='s')
                        $this->Y=$this->positionY-$this->meter;
                else
                        $this->Y=$this->Y;
            return $this->Y;
        }
}

$myCar = & new Car(500,$positionX=0,$positionY=0); //我得到一个新的小车,新车初始燃油 500 升,出发地点(0,0)。

$myCar->dire='n'; //给小车设定方向 s:南方 n:北方 w:西方 e:东方。

if($myCar->run(100)) //然后让小车跑100公里,如果顺利完成任务显示燃油量。如果半途而废,我们显示警报信息。
{
    print('<br><b>小车一切正常,目前还有燃油:'.$myCar->getGas().'升。已经跑了'.$myCar->meter.'公里</b>');//获得燃油数
}
else
{
    print('<br><b>小车出问题了: '.$myCar->getWarning().'</b>');//显示警报信息
}

print('<br>我的小车现在坐标是<br> X:'.$myCar->getX().',Y:'.$myCar->getY());//显示小车的坐标位置
?>