基本的なオブジェクト指向の概念を学ぶために、C# を使用して簡単なゲームをコーディングしています。
以下のこのコードでは:
class entity
{
int hp;
string name;
public entity()
{
hp = 1;
name = "entity";
}
public string status()
{
string result;
result=name + "#" + " HP:" + hp;
return result;
}
class dragon : entity
{
new public string name;
new int hp;
public dragon()
{
hp = 100;
name = "Dragon";
}
}
そんな「ドラゴン」のオブジェを作りました
dragon mydragon = new dragon();
問題は次のコードにあります。
mydragon.status();
これは文字列を返しますが、エンティティクラス オブジェクトの「名前」と「hp」を含みます (つまり、hp=1、name=entity)。
これでドラゴン オブジェクトの値 (hp=100、name=dragon) を返すようにしたいと思います。何が間違っているのかわかりませんが、とても単純なようです。
いじり、何時間も苦労した後、私がたどり着いた唯一の解決策は、 status()メソッドを単純にコピーしてドラゴン クラスに貼り付けることでした。しかし、これを行うためのより良い方法があると確信しています。
よろしくお願いします。