Kleines 2D Spiel. Problem.

Cookie007

Mitglied
Hallo,
zur Zeit programmieren wir in der Schule ein kleines Spiel.
Wir haben ein Array und müssen ein kleines Männchen dazu bringen, durch dieses Array zu "laufen" mit hilfe der Pfeiltasten.

Ich habe es schon geschaft, dass mein Männchen nach links oder nach oben läuft.
Doch sobald ich nach rechts oder unten will, wird mir ein Fehler angezeigt:
"Array out of Index."

Ich verstehe nicht wieso und wo das Problem ist, da ich es ja genau gleich mache wie beim nach links und nach oben laufen.

Hier mal der Quelltext:

Java:
public class zimmer {

  static int s; // Steuerung für das Maenchen, zum Speichern des TastenCodes
  static int y=0; // Zum Suchen im Feld
  static int x=0; // Zum Suchen im Feld

  public static void go(){

     
     for (;;){
       speicher.zimmer(); // Methode zum Zimmerplan zeichnen lassen
       s = InpStream.getKeyCode(); // Nach KeyCode einer Taste fragen und in "s" speichern
       
       /* Tastencodes:
          37 = Pfeiltaste nach links.
          38 = Pfeiltaste nach oben.
          39 = Pfeiltaste nach rechts.
          40 = Pfeiltaste nach unten.
       */

       // speicher.M = Position der Spielfigur
       // M steht für "Maennchen"
       
       if ( s==37 ){ // Fuer Pfeiltaste nach links

         for ( y=0 ; y<40 ; y++ ){
           for ( x=0 ; x<40 ; x++ ){
             if ( speicher.M==speicher.zimmer[y][x] ){ // Sucht die Stelle von M im Feld
               speicher.zimmer[y][x-1]=speicher.M; // Schreibt M eins nach links
               speicher.zimmer[y][x]=speicher.l; // Schreibt auf das alte Feld ein Leerzeichen
             }

           }
         }

       }
       
       if ( s==38 ){ // Fuer Pfeiltaste nach oben

         for ( y=0 ; y<40 ; y++ ){
           for ( x=0 ; x<40 ; x++ ){
             if ( speicher.M==speicher.zimmer[y][x] ){ // Sucht die Stelle von M im Feld
               speicher.zimmer[y-1][x]=speicher.M; // Schreibt M eins nach oben
               speicher.zimmer[y][x]=speicher.l; // Schreibt auf das alte Feld ein Leerzeichen
             }

           }
         }

       }
       
       if ( s==39 ){ // Fuer Pfeiltaste nach rechts

         for ( y=0 ; y<40 ; y++ ){
           for ( x=0 ; x<40 ; x++ ){
             if ( speicher.M==speicher.zimmer[y][x] ){ // Sucht die Stelle von M im Feld
               speicher.zimmer[y][x+1]=speicher.M; // Schreibt M eins nach rechts
               speicher.zimmer[y][x]=speicher.l; // Schreibt auf das alte Feld ein Leerzeichen
             }

           }
         }

       }
       
       if ( s==40 ){ // Fuer Pfeiltaste nach unten

         for ( y=0 ; y<40 ; y++ ){
           for ( x=0 ; x<40 ; x++ ){
             if ( speicher.M==speicher.zimmer[y][x] ){ // Sucht die Stelle von M im Feld
               speicher.zimmer[y+1][x]=speicher.M; // Schreibt M eins nach unten
               speicher.zimmer[y][x]=speicher.l; // Schreibt auf das alte Feld ein Leerzeichen
             }

           }
         }

       }
     }


  }
  
}

Der InpStream.getKeyCode() besorgt mir einfach nur den ASCII Code einer Taste, damit ich auch mit z.B. den Pfeiltasten arbeiten kann.
Das Feld ist 40 auf 40 groß.

Hier ist aber noch der Code dafür:
Java:
public class speicher {

  static String w="###"; // Wand
  static String l="   "; // Leerraum
  static String t=" ()"; // Tuer
  static String M="~~~"; // Maenchen zum rum laufen


  // Zimmer ist 40 auf 40.
  static String zimmer[][]={
    { w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w },
    { w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,w,w,w,w,w,w,w,w,w,w,w,w,w,l,w,w,w,w,w,w,w,w,w,w,w,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,w,w,w,w,w,w,w,w,w,w,w,w,w,l,w,w,w,w,w,w,w,w,w,w,w,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,w,w,w,w,w,w,w,l,w,w,w,w,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,w,w,w,w,w,w,w,l,w,w,w,w,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,M,t },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,t },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,l,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,w,l,l,l,l,l,l,l,l,l,l,l,l,l,w },
    { w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w },
    { w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w },

  };
  
  // Funktion zum Zimmer zeichnen lassen.
  // Aufrufen mit "speicher.zimmer();"
  public static void zimmer(){
    for (int y=0; y<40; y++){
      for (int x=0; x<40; x++){
        System.out.print(zimmer[y][x]);
      }
      System.out.println( );
    }
  }
  
}

Cookie007
 

cz3kit

Bekanntes Mitglied
Kommt den shcon bereits zu Beginn, also wenn du dein Prog startest und dann rechts drückst der Fehler?
 
Zuletzt bearbeitet:

Cookie007

Mitglied
Der Start meines Programms sieht so aus:

Java:
public class haus2 {

  static int wahl; // Variable fuer das Menue
  static String menu[]={ // Menueliste mit den Auswahlmoeglichkeiten
    "Zimmer anzeigen","Beenden"
  };

  public static void main(String[] args) {
    go(); // Geht in die Methode "go();"
  }
  
  public static void go() {
  
    for (;;) { // Endlosschleife
      System.out.println();
      System.out.println("---HAUSSTEUERUNG----------");
      
      for ( int i=0; i<2 ; i++ ){ // Gibt das Menue aus, bei weiteren Menuepunkten, muss i erhört werden.
        System.out.println((i+1)+".) "+menu[i]); // Ausgabeform: "1.) Menuepunkt"
      };
      
      System.out.println();
      wahl=IOTools.readInteger("Ihre Wahl: "); // Abfrage des gewaehlten Menuepunktes, wird in "wahl" gespeichert.
      
      if ( wahl==1 ){
        zimmer.go(); // Geht in die Zimmervorschau
      }
      
      if ( wahl==2 ){
        System.exit(0); // Beendet das Programm
      }
      
      if ( wahl!=1&&wahl!=2 ){ // Falls die Eingabe falsch war, wird ein Fehler angezeigt und die Schleife nochmal neu durchlaufen.
        System.out.println();
        System.out.println();
        System.out.println();
        System.out.println();
        System.out.println("Falsche Eingabe.");
        System.out.println();
      }
      
    }
    
  }
  
}

Wenn ich dann das Zimmer sehe, kann ich so oft wie ich will nach links oder oben gehen ( Bis zum Rand des Arrays ). Doch sobald ich das erste mal die Pfeiltaste für unten oder rechts drücke, kommt der Fehler sofort.

Warum?
 

cz3kit

Bekanntes Mitglied
Das Problem ist, dass wenn du einen nach Rechts gehst, dann wird dein Spieler ja korrekt umgesetzt. Aber jetzt überleg mal in welcher Richtung du deinen Spieler überhaupt suchst, also wie durchläust du das Array? Wenn dir das klar wird, dann wird dir auch klar warum der Fehler kommt. Wenn nicht, dann sag bescheid.
 

Cookie007

Mitglied
Achso, jetzt versteh ich das!

Ich such z.B. in der Reihe 1 im 13. Eintrag. Dort findet er meine Figur.
Diese wird auf Reihe 1 in den Eintrag 14 versetzt.

Dann sucht er in der Reihe 1 im Eintrag 14 und findet es wieder, nun wird es wieder um eins versetzt und so geht es immer weiter!

Danke!
Doch noch eine kleine Frage:

Wenn ich nun mein Männchen gefunden habe, wie kann ich dann dafür sorgen, dass die Schleife aufhört?

Ich würde nun einfach eine andere Methode oder eben die gleiche nochmal von vorne aufrufen, z.B. wieder "go();"
Oder ich würde, wenn ich wollte, dass es nach unten hin weiter geht einfach die Schleifenvariablen auf z.B. 41 setzen.

Doch wie würde ich diese Problem professionell lösen?

Cookie007
 

cz3kit

Bekanntes Mitglied
Du ganz die Schleife mit einem einfachem break; abbrechen.

Als Tipp: Schau dir mal if, else mal an, und wende dies dann auf deine Überprüfung ein. Außerdem noch überprüfung auf Gleichheit in Java, da es zwei vergleiche gibt, einmal == und dann noch equals().
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Kleines Java Spiel funktioniert nicht. Java Basics - Anfänger-Themen 2
Z Erste Schritte Kleines 2D. Spiel Objekt Bewegung funktioniert nicht Java Basics - Anfänger-Themen 2
K Kleines Spiel auf Java programmieren Java Basics - Anfänger-Themen 2
H kleines Spiel [Processing] Java Basics - Anfänger-Themen 7
U Bitte Helfen kleines Spiel Java Basics - Anfänger-Themen 9
K Kleines Spiel / Daten speichern Java Basics - Anfänger-Themen 8
T Kleines Spiel realisieren - wie? Java Basics - Anfänger-Themen 6
R kleines spiel Java Basics - Anfänger-Themen 11
S Kleines Java-Projekt; Kassenprogramm Java Basics - Anfänger-Themen 7
Kotelettklopfer Kleines Testprogramm mit Interface und einer Usereingabe Java Basics - Anfänger-Themen 16
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
J Kleines Rechenprogramm Java Basics - Anfänger-Themen 13
G Erste Schritte Suche Java Programmierer für kleines Projekt Java Basics - Anfänger-Themen 1
B Input/Output Kleines Netzwerkproblem Java Basics - Anfänger-Themen 2
J OOP Kleines Schülerverwaltungsprogramm Java Basics - Anfänger-Themen 9
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
N ein kleines GUI mit einem hauch XML Java Basics - Anfänger-Themen 5
T erstes kleines Programm Java Basics - Anfänger-Themen 17
S Kleines Quiz Programm Java Basics - Anfänger-Themen 4
C Hilfe - Kleines Programm macht mir Schwierigkeiten Java Basics - Anfänger-Themen 2
A Kleines Abbruch-Problem mit Do-While-Schleife Java Basics - Anfänger-Themen 4
K Ein kleines Rätsel Java Basics - Anfänger-Themen 2
E Erstes "kleines" Programm Java Basics - Anfänger-Themen 5
D kleines problem bei system.out.println schreibweise Java Basics - Anfänger-Themen 6
C Kleines Problem mit System.out.print Java Basics - Anfänger-Themen 1
A Best Practice Ideen für kleines Anfängerschulprojekt gesucht Java Basics - Anfänger-Themen 4
J kleines Karteikartenprogramm Java Basics - Anfänger-Themen 3
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
fLooojava kleines Projekt - Verwendung von Youtube Java Basics - Anfänger-Themen 22
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
fLooojava Passwort generieren - kleines Programm Java Basics - Anfänger-Themen 15
H Kleines Prob Java Basics - Anfänger-Themen 5
J Vererbung Kleines Problem bei Vererbung! Java Basics - Anfänger-Themen 2
O Debug-Funktion mit Slick - Kleines Problem Java Basics - Anfänger-Themen 5
J Flaechen vergleichen/kleines Fehler? Java Basics - Anfänger-Themen 23
H Kleines Problem bei den Schleifen Java Basics - Anfänger-Themen 5
M Kleines Problem mit der Rekursion Java Basics - Anfänger-Themen 20
K Kleines Projekt Java Basics - Anfänger-Themen 2
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
T kleines problem mit switch case Java Basics - Anfänger-Themen 11
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
R Login mit Datenbankabfrage: Kleines Problem! Java Basics - Anfänger-Themen 6
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
X Kleines JMenuBar Problem Java Basics - Anfänger-Themen 8
D Kleines Abfrageproblem Java Basics - Anfänger-Themen 3
K kleines Rekursionsproblem Java Basics - Anfänger-Themen 7
P RSA Verschlüsselung kleines Problem Java Basics - Anfänger-Themen 5
B Suche kleines Java-Applet Java Basics - Anfänger-Themen 6
P Kleines Problemm mit einer NullPointerException Java Basics - Anfänger-Themen 2
R kleines Kunstprogramm "mkbox" perfektionieren Java Basics - Anfänger-Themen 13
P wahrscheinlich ein kleines Problem Java Basics - Anfänger-Themen 7
P Kleines Projekt -> Große Überlegungen Java Basics - Anfänger-Themen 2
H Kleines Problem mit der Polymorphie Java Basics - Anfänger-Themen 2
S "Kleines" Problem mit dem Timer Java Basics - Anfänger-Themen 4
K kleines Array-Problem Java Basics - Anfänger-Themen 6
T Kleines Verständnissproblem mit Regex Java Basics - Anfänger-Themen 4
U Kleines Problem mit Konstruktor^^ Java Basics - Anfänger-Themen 7
S Kleines Kartenspiel mit Java Java Basics - Anfänger-Themen 2
D kleines Eclipse-Problem ! Java Basics - Anfänger-Themen 2
I Kleines Program, fehler? Java Basics - Anfänger-Themen 2
S kleines Würfelspiel Java Basics - Anfänger-Themen 10
0 Frage zu Architektur: Server eines kleines Spiels Java Basics - Anfänger-Themen 4
F kleines Programm für ungerade oder gerade Zahl. Java Basics - Anfänger-Themen 18
C kleines Menü erzeugen und anzeigen Java Basics - Anfänger-Themen 11
S Kleines TickTackTou Java Basics - Anfänger-Themen 10
O Kleines Problem mit Konstruktor mit Parametern aus generischer Klasse...oder so ;) Java Basics - Anfänger-Themen 2
M Kleines Problem mit Threads (synchronized) Java Basics - Anfänger-Themen 3
J Java, kleines denkproblem. :) Java Basics - Anfänger-Themen 4
N Kleines Problemchen mit ButtonGroup Java Basics - Anfänger-Themen 2
W ein kleines Projekt! Aber wie beginnen Java Basics - Anfänger-Themen 4
S Kleines Problem... NaN, Infinity? Java Basics - Anfänger-Themen 9
B Drag and Drop fähige Trackliste..nurnoch ein kleines Problem Java Basics - Anfänger-Themen 16
G Kleines Problem mit File Java Basics - Anfänger-Themen 7
O Neuen Blackberry 8800 oder Curve gegen kleines Programm Java Basics - Anfänger-Themen 9
Z kleines projekt Java Basics - Anfänger-Themen 3
G ein kleines java prog - hat aber einen fehler-bitte um hilfe Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
N Nur ein kleines Installationsproblem . Java Basics - Anfänger-Themen 5
G Kleines Problem mit Nimmspiel Java Basics - Anfänger-Themen 8
U kleines problem bei ner aufgabe :( Java Basics - Anfänger-Themen 8
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
S Kleines Programm mit ArrayList Java Basics - Anfänger-Themen 7
M Kleines Programm Java Basics - Anfänger-Themen 5
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Kleines Problem Java Basics - Anfänger-Themen 3
D kleines script abhaengig von Ordner Bilder kopieren Java Basics - Anfänger-Themen 11
G Kleines Grundsatzproblem Java Basics - Anfänger-Themen 5
S Ich habe ein kleines Problem mit meinem Übungsprogramm Java Basics - Anfänger-Themen 7
S Hab ein kleines Problem :) Java Basics - Anfänger-Themen 4
K kleines bild ausgeben Java Basics - Anfänger-Themen 4
D noch ein kleines Problem Java Basics - Anfänger-Themen 4
M kleines generics problem Java Basics - Anfänger-Themen 15
B Kleines? Jedenfalls Problem mit Borland-Together! Java Basics - Anfänger-Themen 4
M kleines Java Programm (Verwaltung) Java Basics - Anfänger-Themen 16
K Kleines Programm zur Stapelverarbeitung schreiben, aber wie? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben