クラスのインスタンス変数を呼び出すことができませんか?

Zeeeee
public class Player
{
    private string Name;
    private int Health = 100;
    private int Damage;

    public Player(string name, int health, int damage)
    {
        name = Name;
        health = Health;
        damage = Damage;
    }        
}

public class Enemy
{
    public void enemyTakeDamage()
    {
        int takenDamage;            
    }

    private string Name;
    private int Health = 100;
    private int Damage;
    public string enemyMessages;

    public Enemy(string name, int health, int damage)
    {
        name = Name;
        health = Health;
        damage = Damage;
    }        
}

class Program
{
    static void Main(string[] args)
    {
        bool dead;
        Player P1 = new Player("Zach", 100, 20);               
    }            
}

そこで、「zach」という名前でhpが100、ダメージが20のP1というオブジェクトを初期化しましたが、他の場所ではこれら3つの変数にアクセスできません。これらは、プレーヤークラスのプライベート変数を使用しません。Imは、次のことを行うことで初期化されるクラスのプライベート変数について話します。

public Player(string name, int health, int damage)

P1.healthが公開されていれば、どこにでも電話できると思いました。どんな助けでもありがたいです、そしてこれは私が取り組んでいる私の最初のテキストベースのコンソールゲームなので、他の入力もありがたいです。

EntityFrameworkToday

すべてを見て、ここにあなたが求めていると思う定義があります:

public class Player
{
    public string Name { get; set; }
    public int Health { get; set; } = 100;
    public int Damage { get; set; }
    public bool IsAlive { get; set; }

    public Player(string name, int health, int damage)
    {
        Name = name;
        Health = health;
        Damage = damage;
        IsAlive = true;
    }

    public void TakeDamageFromEnemy(Enemy enemy)
    {
        if(IsAlive)
        {
            Health -= enemy.Damage;
            if (Health < 0)
            {
                IsAlive = false;
                MessageBox.Show("Player is dead!");
            }
        }
    }

    public void DoDamageToEnemy(Enemy enemy)
    {
        if(enemy.IsAlive)
        {
            enemy.Health -= Damage;
            if (Health < 0)
            {
                IsAlive = false;
            }
        }
    }
}

public class Enemy
{

    private string Name { get; set; }
    private int Health { get; set; }= 100;
    private int Damage { get;  set;}
    public string enemyMessages { get; set; }
    public bool IsAlive { get; set; } 

    public Enemy(string name, int health, int damage)
    {
        Name = name;
        Health = health;
        Damage = damage;
        IsAlive = true;
    }
    //This is likely replaced by the Player's DoDamageToEnemy method.
    public void enemyTakeDamage()
    {
        int takenDamage;
    }   
}


public class Program
{
    static void Main(string[] args)
    {
        Player playerOne = new Player("Zach", 100, 20);
        Enemy enemyOne = new Enemy("Trogg",15,5);
        Enemy enemyTwo = new Enemy("Dragon",1000,50);
        playerOne.TakeDamageFromEnemy(enemyTwo);
        playerOne.TakeDamageFromEnemy(enemyOne);
        playerOne.DoDamageToEnemy(enemyOne);
        playerOne.TakeDamageFromEnemy(enemyTwo);
        Console.ReadLine();
    }
}

ダメージがキャラクターが出すダメージの量であると仮定すると、これは戦闘モデルとして機能するはずです。Player.DoDamage(Enemy e)とEnemy.DoDamage(Player p)にそれぞれDoとTakeDamageを変更できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コンストラクターの子型から関数を呼び出すことはできません

分類Dev

Retrofit 2.0 + GSONインターフェースの引数なしコンストラクターを呼び出すことができません

分類Dev

Android + Retrofit 2 + GSON =インターフェースの引数なしコンストラクターを呼び出すことができません

分類Dev

PyQt4がQThreadクラスからメインGuiクラスの関数を呼び出すことができません

分類Dev

静的メイン関数内から非静的コンストラクターを呼び出すことができません

分類Dev

変数をダウンキャストしましたが、新しいクラスの関数を呼び出すことができません

分類Dev

変数をダウンキャストしましたが、新しいクラスの関数を呼び出すことができません

分類Dev

別のクラスからインターフェイスメソッドを呼び出すことができません

分類Dev

Codableクラスのインスタンスを作成するときに、呼び出しでパラメーター 'from'の引数がありません

分類Dev

クラスのインスタンスを呼び出すことができるのはなぜですか?

分類Dev

SwiftのサブクラスからメインのViewControllerの関数を呼び出すことができません

分類Dev

インクルードされたモジュールは親クラスのインスタンス変数を呼び出すことができません

分類Dev

Twigランタイムエラー:文字列変数でメソッド(「テスト」)を呼び出すことができません

分類Dev

カスタムConstraintLayoutクラスのメソッドを呼び出すことができませんか?

分類Dev

Swiftコンパイラエラー:タイプ '(()->())'の引数リストで 'lockForConfiguration'を呼び出すことができません

分類Dev

クラスpythonでメンバー関数を呼び出すことができません

分類Dev

django-rest-framework:シリアライザーインスタンスのインスタンス化時に `data =`キーワード引数が渡されなかったため、 `.is_valid()`を呼び出すことができません

分類Dev

シリアライザインスタンスのインスタンス化時に `data =`キーワード引数が渡されなかったため、 `.is_valid()`を呼び出すことができません

分類Dev

RSpecからRubyミックスインインスタンスメソッドを呼び出すことができません

分類Dev

クラスAはクラスBインスタンスをインスタンス化します。ClassBのインスタンスはどのようにしてクラスAのメソッドを呼び出すことができますか?

分類Dev

クラスコンストラクタは 'newなしでは呼び出すことができません

分類Dev

クラスコンストラクタは「new」なしでは呼び出すことができません

分類Dev

python-スクリプトでは関数を呼び出すことはできませんが、インタラクティブモードでは呼び出すことができます

分類Dev

他のクラスからクラスへの関数を呼び出すことはできません

分類Dev

JAVAjava.lang.reflect.ConstructorはDateコンストラクターを呼び出すことができません

分類Dev

C#コンストラクターはそれ自体を呼び出すことができません

分類Dev

抽象クラスからボタンシグナルを呼び出すことはできません

分類Dev

ステータスが[INSTALLED]のインデックスに対して更新アクション[REINDEX]を呼び出すことはできません。

分類Dev

retrofit2.Callの引数なしコンストラクターを呼び出すことができません

Related 関連記事

  1. 1

    コンストラクターの子型から関数を呼び出すことはできません

  2. 2

    Retrofit 2.0 + GSONインターフェースの引数なしコンストラクターを呼び出すことができません

  3. 3

    Android + Retrofit 2 + GSON =インターフェースの引数なしコンストラクターを呼び出すことができません

  4. 4

    PyQt4がQThreadクラスからメインGuiクラスの関数を呼び出すことができません

  5. 5

    静的メイン関数内から非静的コンストラクターを呼び出すことができません

  6. 6

    変数をダウンキャストしましたが、新しいクラスの関数を呼び出すことができません

  7. 7

    変数をダウンキャストしましたが、新しいクラスの関数を呼び出すことができません

  8. 8

    別のクラスからインターフェイスメソッドを呼び出すことができません

  9. 9

    Codableクラスのインスタンスを作成するときに、呼び出しでパラメーター 'from'の引数がありません

  10. 10

    クラスのインスタンスを呼び出すことができるのはなぜですか?

  11. 11

    SwiftのサブクラスからメインのViewControllerの関数を呼び出すことができません

  12. 12

    インクルードされたモジュールは親クラスのインスタンス変数を呼び出すことができません

  13. 13

    Twigランタイムエラー:文字列変数でメソッド(「テスト」)を呼び出すことができません

  14. 14

    カスタムConstraintLayoutクラスのメソッドを呼び出すことができませんか?

  15. 15

    Swiftコンパイラエラー:タイプ '(()->())'の引数リストで 'lockForConfiguration'を呼び出すことができません

  16. 16

    クラスpythonでメンバー関数を呼び出すことができません

  17. 17

    django-rest-framework:シリアライザーインスタンスのインスタンス化時に `data =`キーワード引数が渡されなかったため、 `.is_valid()`を呼び出すことができません

  18. 18

    シリアライザインスタンスのインスタンス化時に `data =`キーワード引数が渡されなかったため、 `.is_valid()`を呼び出すことができません

  19. 19

    RSpecからRubyミックスインインスタンスメソッドを呼び出すことができません

  20. 20

    クラスAはクラスBインスタンスをインスタンス化します。ClassBのインスタンスはどのようにしてクラスAのメソッドを呼び出すことができますか?

  21. 21

    クラスコンストラクタは 'newなしでは呼び出すことができません

  22. 22

    クラスコンストラクタは「new」なしでは呼び出すことができません

  23. 23

    python-スクリプトでは関数を呼び出すことはできませんが、インタラクティブモードでは呼び出すことができます

  24. 24

    他のクラスからクラスへの関数を呼び出すことはできません

  25. 25

    JAVAjava.lang.reflect.ConstructorはDateコンストラクターを呼び出すことができません

  26. 26

    C#コンストラクターはそれ自体を呼び出すことができません

  27. 27

    抽象クラスからボタンシグナルを呼び出すことはできません

  28. 28

    ステータスが[INSTALLED]のインデックスに対して更新アクション[REINDEX]を呼び出すことはできません。

  29. 29

    retrofit2.Callの引数なしコンストラクターを呼び出すことができません

ホットタグ

アーカイブ