EDIT: Ihr seid so schnell
wenn ich die Methode jetzt als static deklariere, kann ich ja keine variablen, die nicht auch static sind ändern, und eine statische variable, ist ja statisch, also nicht änderbar, oder?
Nein das stimmt so nicht. Eine Funktion oder Variable, die mit static deklariert wurde, ist nicht konstant, wie du sagst, denn dafür ist das Schlüsselwort const verantwortlich.
Static hat in verschiedenen Anwendungsformen verschiedene Bedeutungen. Näheres findest du beispielsweise hier:
http://msdn.microsoft.com/en-us/library/…v=vs.80%29.aspx
In deinem Fall ist eine Funktion statisch. Damit existiert diese Funktion für alle Instanzen dieser Klasse. folglich heißt das, dass diese Funktion letztlich auch keinen Zugriff auf nicht-statische Member-Variablen hat. In sofern hast du Recht, dass es dir in deinem Fall wenig bringt und du nur statische Variablen verändern kannst.
Nun könnte man sagen, dass eine Lösung wäre, da letztlich die Intro-Klasse ja ohnehin nur ienmal existiert und somit nicht viel schiefgehen kann, einfahc alle Variablen static zu definieren. Dann könnte man sie auch verändern. Das wäre allerdings ganz schlechtes Design.
Ich denke, dass du in deinem Fall gar keine Threads brauchst. Du überprüfst doch auch im Spiel die Eingabe und zeichnest das Spiel. Das gleiche funktioniert doch auch im Intro, oder was hast du vor?
EDIT: Deine Fehlermeldung bezieht sich auf das ready, das du in der statischen Funktion nutzt und das darfst du, eben nicht.