Linijka 192: Nie domknąłeś klamry kończącej funkcję "monster_ai()".
Linijka 196: "return player" A cóż to takiego? Czym jest player? Ani ja, ani kompilator nie wiemy :-/
Linijka 199: Nie ma średnika przy klamrze domykającej klasę "Game".
Linijka 234: powinno być case 2: a ty masz case 2; <-- dałeś średnik
Linijka 256: Napisałeś "palyer" zamiast "player"
Linijka 284: Nie możesz wywołać metody "g.return_ref_to_player()" na rzecz obiektu "g", bo obiekt "g" jest typu "Game", a klasa ta nie posiada funkcji składowej o nazwie "return_ref_to_player()"
Dobry Boże.... to jest jakaś totalna masakra. Czy Ty w ogóle kompilujesz raz na pół godziny kod, który piszesz? Powinieneś robić to regularnie.... Masz kompilator, który wypisuje odpowiednie komunikaty. Nie mogłeś po kolei posprawdzać miejsc, gdzie są błędy i naprawić tak, jak ja to zrobiłem? Używasz obiektowości, więc powinieneś być już w miarę ogarnięty w tym wszystkim.
Błągam, kompiluj to co piszesz co każdą napisaną pętlę, funkcję, warunek... bo inaczej to nie ma sensu. Każdy robi błędy, ale naprawiać potem 300-linijkowy kod z błędów typu: brak średnika, to lekka przesada.