Вернуть Self Inside Experience () Метод бросает исключение, когда жив, == true [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Вернуть Self Inside Experience () Метод бросает исключение, когда жив, == true [закрыто]

Сообщение Anonymous »

Я работаю над проектом имитацией жизненного итоги и сталкиваюсь с странной проблемой. Я попытался добавить запасную сторону в Definesfelf (), но цикл, кажется, продолжается бесконечно.

Код: Выделить всё

public class Human
{
public bool Alive = true;
private string Self;

public void Experience()
{
while (Alive)
{
Process(Pain());
Chase(Joy());
Fear(Death());
SearchForMeaning();

if (Love() && Self != null)
{
ReturnTo(Self);
}
else if (Self == null)
{
DefineSelf();
}
}
}

private void DefineSelf()
{
try
{
Self = ReflectionOfOthers()
+ ChildhoodTrauma()
- Authenticity()
+ SocialValidation();
}
catch (StackOverflowException)
{
Self = "undefined";
}
}

// Placeholder emotional states
private string Pain() => "ouch";
private string Joy() => "yay";
private string Death() => "uh oh";
private void SearchForMeaning() => Console.WriteLine("Still looking...");
private bool Love() => new Random().Next(0, 10) > 6;

private string ReflectionOfOthers() => "mask";
private string ChildhoodTrauma() => "damage";
private string Authenticity() => "raw truth";
private string SocialValidation() => "follower count";

private void ReturnTo(string self)
{
Console.WriteLine("Returning to: " + self);
}
}
Когда я называю Experience (), он работает на неопределенный срок, и я никогда не стабилизируется или возвращается должным образом.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... alive-true
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»