-1

The problem is on line 3, I need to take away a number between 1-3 and save the value so more can be taken away.

Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = life - randomNumberhit;
Console.WriteLine(life);

Any ideas? Am I doing it completely wrong?

4

3 に答える 3

4

変数を宣言し、life値を割り当てていますlife - randomhitlifeまだ値がない場合、計算の結果をどのように知ることができますか?

次のようなことを試してください:

int life = 100;
...
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
life = life - randomNumberhit;
Console.WriteLine(life);

lifeただし、代わりにクラス変数を作成したい場合があります。次のようなものが機能します。

public class MyGuy
{

    public int Life { get; set; }

    public MyGuy()
    {
        this.Life = 100; // starting life
    }

    public void Hit()
    {
        Random randomhit = new Random();
        int randomNumberhit = randomhit.Next(1, 4);
        this.Life -= randomNumberhit;
        Console.WriteLine(this.Life);
    }
}
于 2013-04-22T21:19:14.467 に答える
2

人生は何かに初期化する必要があります

int life = 100; //Or some other value
Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
life = life - randomNumberhit;
Console.WriteLine(life);

life = life - randomNumberhit;また、life が再割り当てされる ( ) 場合、int は必要ないことに注意してください。

于 2013-04-22T21:18:51.167 に答える
0

を実行していlife-randomNumberhitますが、その時点では変数lifeはまだ存在していません。life変数を必要な値に初期化する必要があります。

Random randomhit = new Random();
int randomNumberhit = randomhit.Next(1, 4);
int life = 0; // for instance, 0
Console.WriteLine(life - randomNumberhit);
于 2013-04-22T21:18:29.177 に答える