2017-08-29 12 views
0

2つの文字(クラス)の間でPHPで簡単なバトルをしたいと思います。これは私のコードです:

class Characters 
{ 
    public $hp = rand(int,int); 
    public $attack = rand(int,int); 
}; 

class You extends Characters 
{ 
    $hp = rand(10,20); //this is line 11 
    $attack = rand(2,10); 
}; 

$player = new You; 

echo $hp; 

しかし、端末はスローです: '行11に/home/szigeti/Desktop/sublime/Game/Gameboard/index.phpでの予期せぬ$馬力(T_VARIABLE')。クラス変数を呼び出すときにあなたがあなたのクラスYouで変数のスコープが欠落している

答えて

5

変更、

class You extends Characters 
{ 
    $hp = rand(10,20); //this is line 11 
    $attack = rand(2,10); 
}; 

に、また

class You extends Characters 
{ 
    public $hp = rand(10,20); //this is line 11 
    public $attack = rand(2,10); 
}; 

、あなたはを参照する必要がありますそれを参照しているオブジェクト

変更、

$player = new You; 

echo $hp; 

$player = new You; 

echo $player->hp; 

読み物

将来のミスを防ぐために、公式ドキュメントからPHP OOPをよく読んでください。

PHP OOP

+0

答えはそれを受け入れてください、助けたならばそんなに –

+0

@DanielSzigetiありがとうございます。 – Script47

関連する問題