Cześć, zauważyłem kilka błędów w twoim kodzie, może to one coś psują.
w main():
linia 34 - o co w niej chodzi? Tą zmienną bool warto stworzyć gdzieś przed pętlą, i w warunku pętli for sprawdzać jej poprawność
for(; przegrana == true; )
Ten warunek if jest też zepsuty, bo używasz operatora przypisania (=) a nie porównania (==)
To samo w liniach 43 i 44...
Wyjątki zostaw sobie na później, bo przede wszystkim problem wczytywania danych można rozwiązać w łatwiejszy sposób :)
Nie rozumiem po co klasa World dziedziczy po klasie Game, skoro i tak nie wykorzystujesz odziedziczonych właściwości.
A co do głównego błędu to musiałbym dokładniej przejżeć kod... Sprawdzę za jakiś czas :)