私は非常に単純な多肢選択コンソールゲームを作っています。私はenumを使って有限状態機械を作りました。それ以外の場合はすべてwhileループ内にあります(game = trueの間)。C#でクラス外の変数を変更するにはどうすればよいですか?
問題は、クラスレベル。レベル1(レベル情報を含む)内で、myStateをメインプログラム内の新しい状態に変更する必要がありますが、影響を与えることはできません。これを実現させる方法に関するアイデアはありますか?私は困惑している。レベルのクラスで
var game = true;
while (game = true)
{
State myState = State.intro;
//first level
if (myState == State.intro)
{
level.Intro();
}
else
{
if (myState == State.contact1)
{
Console.WriteLine("Wroked");
}
:
Console.WriteLine(name + " What are you doing, I need your help!");
Thread.Sleep(1000);
Console.WriteLine("\nA. Who is this? \nB. How are you doing this?\nC. How do you know my name?");
var res = Console.ReadLine();
char response = res[0];
switch (response)
{
case 'a':
State myState = State.contact1;
break;
case 'b':
Console.WriteLine("\nright");
break;
case 'c':
Console.WriteLine("\nleft");
break;
}
あり、これよりも多くのコードは明らかだが、それは重要な部分です。あなたはどちらか https://gist.github.com/MajorMojo/700936c02f1430de44b4559f0579917d https://gist.github.com/MajorMojo/5bba21cb977a4b768029e765a0d74886
完璧、ありがとうございます! – MajorMoj0