PHP 面向对象练习

<?php

//显示数据
//表和类对应:表名是类名,列名是类里面的成员
//表里面的每一条数据对应是类实例化的对象

include("Info.class.php");

$attr = array();

$info1 = new Info();
$info1->code="p001";
$info1->name="张三";
$info1->sex="男";
$info1->nation="汉族";
$info1->birthday = "1988-2-3";
//往数组里面追加元素
array_push($attr,$info1);

$info2 = new Info();
$info2->code="p002";
$info2->name="李四";
$info2->sex="女";
$info2->nation="汉族";
$info2->birthday = "1989-2-3";
array_push($attr,$info2);

$info3 = new Info();
$info3->code="p003";
$info3->name="王五";
$info3->sex="男";
$info3->nation="回族";
$info3->birthday = "1990-2-3";
array_push($attr,$info3);

echo "<table width='100%' border='1' cellpadding='0' cellspacing='0'>";

echo "<tr><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td></tr>";

foreach($attr as $v)
{
    echo "<tr><td>{$v->code}</td><td>{$v->name}</td><td>{$v->sex}</td><td>{$v->nation}</td><td>{$v->birthday}</td></tr>";
}

echo "</table>";
?>
<?php
//Info表的实体类
class Info
{
    public $code;
    public $name;
    public $sex;
    public $nation;
    public $birthday;
}

 小游戏

<?php

include("Hero.class.php");

$hero = new Hero("张三"); //创建英雄

/*$hero->DaGuai();
$hero->Show();

$hero->DaGuai();
$hero->Show();

$hero->DaGuai();
$hero->Show();

$hero->DaGuai();
$hero->Show();

$hero->DaGuai();
$hero->Show();*/

$hero->XueXi();
$hero->Show();

$hero->XueXi();
$hero->Show();
?>
<?php

class Hero
{
    public $blood;
    public $gongji;
    public $jingyan;
    public $level;
    public $name;
    public $money;
    public $jineng = array();
    
    
    //构造函数,对成员进行初始化
    function __construct($n)
    {
        $this->blood = 100;
        $this->gongji = 10;
        $this->jingyan=0;
        $this->level=1;
        $this->money = 100;
        $this->name = $n;
    }
    
    //打怪函数
    function DaGuai()
    {
        //随机
        $sj = floor(rand(0,100));
        if($sj>30)
        {
            //获取经验
            $jy = floor(rand(0,40));
            //将该英雄经验增加
            $this->jingyan = $this->jingyan+$jy;
            //判断是否要升级
            if($this->jingyan>=50)
            {
                $this->level +=1;
                $this->jingyan = 0;
                $this->blood += 20;
                $this->gongji +=5;
            }
            echo $this->name."杀死了一个怪物,获得了{$jy}点经验";
        }
        else
        {
            if($this->level==1)
            {
            }
            else
            {
                $this->level -=1;
            }
            echo "你被怪物打死了";
        }
    }
    //查看英雄信息
    function Show()
    {
        echo "英雄名称:{$this->name}<br>";
        echo "英雄血量:{$this->blood}<br>";
        echo "英雄攻击:{$this->gongji}<br>";
        echo "英雄经验:{$this->jingyan}<br>";
        echo "英雄等级:{$this->level}<br>";
        echo "技能为:";
        foreach($this->jineng as $v)
        {
            echo $v.",";
        }
    }
    //学习技能
    function XueXi()
    {
        //花钱
        $hf = floor(rand(0,20));
        $n = floor(rand(0,5));
        //技能库里面选技能
    
        switch($n)
        {
            case 0:
                array_push($this->jineng,"冲锋");
                break;
            case 1:
                array_push($this->jineng,"嘲讽");
                break;
            case 2:
                array_push($this->jineng,"致死打击");
                break;
            case 3:
                array_push($this->jineng,"盾墙");
                break;
            case 4:
                array_push($this->jineng,"沉默");
                break;
        }
    }
    
    
    
}
<?php

class Hero
{
    public $blood;
    public $gongji;
    public $jingyan;
    public $level;
    public $name;
    public $money;
    public $jineng = array();
    
    
    //构造函数,对成员进行初始化
    function __construct($n)
    {
        $this->blood = 100;
        $this->gongji = 10;
        $this->jingyan=0;
        $this->level=1;
        $this->money = 100;
        $this->name = $n;
    }
    
    //打怪函数
    function DaGuai()
    {
        //随机
        $sj = floor(rand(0,100));
        if($sj>30)
        {
            //获取经验
            $jy = floor(rand(0,40));
            //将该英雄经验增加
            $this->jingyan = $this->jingyan+$jy;
            //判断是否要升级
            if($this->jingyan>=50)
            {
                $this->level +=1;
                $this->jingyan = 0;
                $this->blood += 20;
                $this->gongji +=5;
            }
            echo $this->name."杀死了一个怪物,获得了{$jy}点经验";
        }
        else
        {
            if($this->level==1)
            {
            }
            else
            {
                $this->level -=1;
            }
            echo "你被怪物打死了";
        }
    }
    //查看英雄信息
    function Show()
    {
        echo "英雄名称:{$this->name}<br>";
        echo "英雄血量:{$this->blood}<br>";
        echo "英雄攻击:{$this->gongji}<br>";
        echo "英雄经验:{$this->jingyan}<br>";
        echo "英雄等级:{$this->level}<br>";
        echo "技能为:";
        foreach($this->jineng as $v)
        {
            echo $v.",";
        }
    }
    //学习技能
    function XueXi()
    {
        //花钱
        $hf = floor(rand(0,20));
        $n = floor(rand(0,5));
        //技能库里面选技能
    
        switch($n)
        {
            case 0:
                array_push($this->jineng,"冲锋");
                break;
            case 1:
                array_push($this->jineng,"嘲讽");
                break;
            case 2:
                array_push($this->jineng,"致死打击");
                break;
            case 3:
                array_push($this->jineng,"盾墙");
                break;
            case 4:
                array_push($this->jineng,"沉默");
                break;
        }
    }
    
    
    
}
原文地址:https://www.cnblogs.com/yy01/p/5458238.html