Ergebnis 1 bis 8 von 8

Thema: Snake

  1. #1
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard [Java] ConcurrentModificationException

    Hi,
    ich baue gerade Snake in Java und ich verstehe einfach nicht wieso es nicht funktioniert^^ Hab nur wenig Ahnung von Java und hab mich über die Nacht ein wenig eingelesen und angefangen.
    Das Problem scheint irgendwie das Erweitern des Vektors zu sein...

    Die Snake erstelle ich zu beginn mit:
    Code:
        public void createSnake(Integer length, Integer x, Integer y)
        {
            for (int i = 0; i <= length; i++) 
            {
                if (i == 0)
                {
                    this.snake.addElement(new SnakeObj(x, y, 1));
                }
                else
                {
                    this.snake.addElement(new SnakeObj(x, y, 0));
                }
                SnakeObj lastObj = (SnakeObj) snake.lastElement();
                
                lastObj.setVisible(true);
            }
        }
    Das funktioniert auch wunderbar.

    und wenn Sie was aufnimmt dann erweitere Ich Sie mit:
    Code:
        private void grow()
        {
            SnakeObj snakeLast = (SnakeObj) this.snake.lastElement();
            System.out.println("[snake_grow] " + snakeLast.posX + " : " + snakeLast.posY);
            this.snake.addElement(new SnakeObj(snakeLast.posX, snakeLast.posY, 0));
            SnakeObj snakeNew = (SnakeObj) this.snake.lastElement();
            snakeNew.setVisible(true);
        }
    das macht er auch noch, aber wenn es dann in die Funktion zur Bewegung geht:
    Code:
        public void run()
        {
            System.out.println("[snake_run()] d:" + this.runDirection);
            int oldPosX = -1;
            int oldPosY = -1;
            int newPosX = -1;
            int newPosY = -1;
            
            Iterator it = this.snake.iterator();
            while (it.hasNext())
            {
                System.out.println("1");
                SnakeObj loopObj = (SnakeObj) it.next();
                System.out.println("2");
                if (oldPosX == -1)
                {        
                    if (runDirection == "north")
                    {
                        loopObj.setLocation(loopObj.posX, loopObj.posY - Game.snakeSize);
                    }
                    else if (runDirection == "east")
                    {
                        loopObj.setLocation(loopObj.posX + Game.snakeSize, loopObj.posY);
                    }
                    else if (runDirection == "south")
                    {
                        loopObj.setLocation(loopObj.posX, loopObj.posY + Game.snakeSize);
                    }
                    else if (runDirection == "west")
                    {
                        loopObj.setLocation(loopObj.posX - Game.snakeSize, loopObj.posY);
                    }
                    this.searchFood();
                }
                else
                {
                    newPosX = loopObj.posX;
                    newPosY = loopObj.posY;
                    loopObj.setLocation(oldPosX, oldPosY);
                }
                if (oldPosX == -1)
                {
                    oldPosX = loopObj.posX;
                    oldPosY = loopObj.posY;
                }
                else
                {
                    oldPosX = newPosX;
                    oldPosY = newPosY;
                }
            }
        }
    Dann schmiert das Programm zwischen
    System.out.println("1");
    und
    System.out.println("2");
    ab mit der Fehlermeldung:
    Code:
    Exception in thread "main" java.util.ConcurrentModificationException
        at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
        at java.util.AbstractList$Itr.next(Unknown Source)
        at Snake.run(Snake.java:55)
        at Game.gameStart(Game.java:38)
        at Game.<init>(Game.java:26)
        at FormMenu.FormMenuGo(FormMenu.java:40)
        at Main.StartMenu(Main.java:31)
        at Main.main(Main.java:18)
    Hoffe das mir jemand helfen kann wie ich hier weiterkomme
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Angehängte Dateien Angehängte Dateien
    Geändert von synaptic (25.10.2009 um 16:30 Uhr) Grund: als gelöst markiert
    Gruß crAzywuLf

  2. #2
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Snake

    also zu deiner exception habe ich folgendes gefunden:
    http://www.softgames.de/forum/frage114221.html

    hatte selber so eine nopch nie, aber ich denke der mensch der die erste antwort schreibt hat auch dein problem auf den punkt getroffen..
    hab leider net viel zeit heut, sonst würd ich mir des ding mal ansehen
    wär noch nice zu wissen mit welcher ide du des ding gemacht hast (wegen des importierens)
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  3. #3
    König(in)
    Themenstarter
    Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Snake

    Alter... Hammer... Ich danke dir, es funktioniert wunderbar, dachte echt nicht das ich so schnell eine Loesung dafuer finde

    Die Lösung ist den Vector zu kopieren, da der Iterator sonst nicht klar kommt:
    Code:
            Vector currentSnake = new Vector();
            currentSnake.addAll(this.snake);
            Iterator it = currentSnake.iterator();
    kA Ich benutze das ganz normale Eclipse, kannste dir gerne anschauen. Ich muss das bis ende des Jahres für die Berufsschule bauen und ich dachte ich bastel das mal über die Nacht, aber dieses Problem hat meinen Zeitplan ein wenig zerstört...
    Geändert von crAzywuLf (25.10.2009 um 11:16 Uhr)
    Gruß crAzywuLf

  4. #4
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Snake

    ok eclipse müsst ich mir hier noch installieren.
    arbeite aktuell im büro mit eclipse und daheim für die schule mit netbeans...
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  5. #5
    König(in)
    Themenstarter
    Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Snake

    hmm.. ich habe immernoch nicht gerafft wie man das Thema jetzt als gelöst makiert...
    Gruß crAzywuLf

  6. #6
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Snake

    na den ersten beitrag editieren und des präfix "gelöst" auswählen aus dem dropdown oben links vorm titel...
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  7. #7
    König(in)
    Themenstarter
    Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Snake

    Zitat Zitat von synaptic Beitrag anzeigen
    na den ersten beitrag editieren und des präfix "gelöst" auswählen aus dem dropdown oben links vorm titel...
    in der erweiterten Ansicht oder nicht?
    Angehängte Grafiken Angehängte Grafiken
    Gruß crAzywuLf

  8. #8
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: Snake

    jo aber im standard-design
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

Ähnliche Themen

  1. icon für snake handyspiel!
    Von eatofid im Forum Forum für Grafiken und Bildbearbeitung
    Antworten: 6
    Letzter Beitrag: 21.02.2008, 01:08
  2. Snake-Paintball-Forum!
    Von michaham im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 3
    Letzter Beitrag: 17.04.2007, 00:07
  3. Snake
    Von vbtricks im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 9
    Letzter Beitrag: 03.01.2007, 17:28

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •