Jap. Und bau am besten eins nach dem anderen. Gib dem Spieler keine Möglichkeiten die er noch nicht anwählen kann. Das bringt den Spieler durcheinander und auch dich beim programmieren. Dann funktioniert bei mir fast nichts. Es heisst fast jedes mal dass meine Eingabe falsch sei. Habe auch nur versucht Holz im Baumarkt zu kaufen. Deine While-Schleife ist eine Endlosschleife. Ist ganz einfach zu zeigen. Oder ist immer dann wahr, wenn eine der beiden Aussagen wahr ist. Deine beiden Aussagen sind ' input != "Exit" ' und ' input != "exit" '.
Das heisst sobald eine der beiden Aussagen richtig ist, ist die gesamte Bedingung wahr. Nun wann wäre die Bedingung denn nun nicht erfüllt, damit die Schleife abgebrochen würde. Dafür müssten beide Bedingungen unerfüllt sein. In deinem Fall müsste also input == Exit und == exit sein. Das funktioniert natürlich nicht. Was du haben benutzen willst ist "und" und nicht "oder". Bei der Verneinung gilt folgende Regel:
nicht(A&&B) == nicht(A)||nicht(B)
nicht (A||B) == nicht(A)&&nicht(B)
Die Verneinung hast du in deinem Fall durch das ungleich. Also entweder machst du aus dem || ein && oder du prüfst auf Gleichheit und verneinst den gesamten Klammerausdruck. Besser wäre es die Equals-methode der Stringklasse zu benutzen. Die hat soweit ich weiß eine Überladung, bei der du eine Vergleichsart angeben kannst. Dabei kannst du dann sagen, dass du nicht Casesensitiv vergleichen möchtest. Dass heisst, Groß- und Kleinschreibung wird nicht beachtet. In etwa so:
input.Equals("exit", StringComparison.IgnoreCase);
wobei StringComparison.IgnoreCase jetzt vermutlich so nicht funktionieren wird. Wie es genau heisst kannst du aber leicht selbst herausfinden.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“