zoukankan      html  css  js  c++  java
  • 面向对象下

    面向对象下

    class Ren{
     public $name;
     public $sex;
     public $birthday;
    }

    构造函数

    //写法特殊
    //执行特殊
    public function Ren(){
    
    }  //第一种代码方式
    public function __construct(){
        echo"aaaa";
    } //第二种代码方式,魔术方法
    
    $r = new Ren();   //在造对象的时候,自动执行函数中的代码

    析构函数

    public functon __destruct(){
    
    }  //在语句中不在使用创建的对象或变量时,自动销毁,销毁前自动调用改函数

    例子

    <?php        //若整个页面只有php代码,可以不用写结尾
    //做一个小游戏
    //设置当前页面编码格式为UTF8
    header("Content-type:text/html; charset=gbk");
    
    class hero{
        public $name; //名字
        public $blood; //血量
        public $attack; //攻击力
        
        //放技能的方法
        public function jineng(){
            $arr = array(
                array(50,"隔山打牛"),
                array(60,"降龙十八掌"),
                array(45,"九阳神功"),
                array(20,"葵花宝典"),
                array(70,"六脉神剑")
            );
            $gs = count($arr);
            
            $sy = rand(0,$gs-1);
            echo "{$this->name}使用了{$arr[$sy][1]}
    ";
            return $arr[$sy][0];
        }
        
        //构造函数
        public function __construct($name,$blood,$gjl){
            $this->name = $name;
            $this->blood = $blood;
            $this->attack = $gjl;
        }
    }
    
    
    //造第一个人
    $h1 = new hero("张三",700,15);
    
    //造第二个人
    $h2 = new hero("李四",1600,8);
    
    while(true){
        
        //随机一下,是普攻还是放技能
        $sj1 = rand(0,1);
        $gj = 0;  //本次h1能打掉多少血
        echo "{$h1->name}打{$h2->name}
    ";
        if($sj1){
            $gj = $h1->jineng();
        }else{
            $gj = $h1->attack+rand(0,20);
        }
        $h2->blood = $h2->blood-$gj;
        echo "{$h1->name}打掉了{$h2->name}的{$gj}血
    ";
        echo "******************************
    ";
        
        $sj2 = rand(0,1);
        $gj2 = 0;  //本次h2能打掉多少血
        echo "{$h2->name}打{$h1->name}
    ";
        if($sj2){
            $gj2 = $h2->jineng();
        }else{
            $gj2 = $h2->attack+rand(0,20);
        }
        $h1->blood = $h1->blood-$gj2;
        echo "{$h2->name}打掉了{$h1->name}的{$gj2}血
    ";
        echo "******************************
    ";
        
        if($h2->blood<=0){
            echo "{$h1->name}赢了";
            break;
        }else if($h1->blood<=0){
            echo "{$h2->name}赢了";
            break;
        }
        echo "----
    
    
    ";
        //休眠
        sleep(3);
    }

    在命令窗口执行代码:Win+R -> cmd -> 输入php+空格+文件所在位置

  • 相关阅读:
    627. Swap Salary
    176. Second Highest Salary
    596. Classes More Than 5 Students
    183. Customers Who Never Order
    181. Employees Earning More Than Their Managers
    182. Duplicate Emails
    175. Combine Two Tables
    620. Not Boring Movies
    595. Big Countries
    HDU 6034 Balala Power! (贪心+坑题)
  • 原文地址:https://www.cnblogs.com/Whitehat/p/8419462.html
Copyright © 2011-2022 走看看