Проблема, с которой вы сталкиваетесь, заключается в том, что page1()
прикрепляет метод анонимного обработчика, который никогда не отделяется, поэтому каждый раз, когда вы его вызываете, вы просто добавляете все больше обработчиков.
Но
Подумайте о другом дизайне, где у вас есть класс Page
для представления каждой страницы. Этот класс имел бы историю как свойство на ней и коллекцию возможных Choice
s (а не жесткое кодирование 6 из них). Choice
является классом со значением строки Description
и Action
, который должен быть выполнен, если он используется.
Ваше приложение может содержать свойство CurrentPage, и действие вашего Choice должно быть способный перемещаться, изменяя эту страницу. Etc и т. Д. ...
Надеюсь, что это поможет.
P.S. дополнительный наконечник. Вместо того, чтобы возвращать результат метода luckCheck
в поле класса, рассмотрите его перепроектирование, чтобы вернуть результат:
bool luckCheck(){
int luckTest = gen.Next(1,12);
return luckTest <= playerLuck;
}