I think the problem is with three last lines:
the GameEnd is always called. And since it disables timer the game freezes. Try thisCode:if (player.Deaded) and (Player_No <= 2) then NewPlayer; GameEnd;
Code:if (player.Deaded) then begin if (Player_No <= 2) then NewPlayer else GameEnd; end;
Bookmarks