Вы устанавливаете start только в значение true в рамках функции запуска.Если вы измените стартовый код на begin = true
, он должен работать.
Когда вы объявили var begin
внутри вашей функции запуска, эта переменная находилась в области действия функции.И когда вы получили доступ к start в других функциях, к которым вы обращались, к глобальному началу, которое никогда не менялось с false