domiit
Goto Top

Was ist mit ,unexpected token:void in Java gemeint ?

Hi Leute,

ich bin Programmieranfänger und bin gerade am abschreibe von einem Snake Spie in Javal bei Youtube.
Ich finde einfach nicht den Fehler und bitte euch um Hilfe. Immer wen ich ausführen will steht:,,unexpected token:void ''.
Hier ein Screenshot und der Link zum Video.

https://www.youtube.com/watch?v=D8dc5upvq6s
https://www.youtube.com/watch?v=B4CotGsuMWc&t=4s

Der gesammte Text:int spielfeld_groesse = 30;
int spielfeld_skalierung = 28;
int maximale_spieler_groesse = 100;
int position_groesse = 2;
int leeres_feld_groesse = 5;
int spieler_feld_groesse = 20;
int spieler_feld_groesse = 20;
float maximale_tick_zeit = 0.1;

int spielfeld;
int spieler_position;
int beute_position;

int spieler_groesse;
String richtung;
String letzte_richtung;
float tick_zeit =0;

void setup (){
size(600, 600);
rectMode(CENTER);
spielfeld = new int[spielfeld_groesse][spielfeld_groesse];
spieler_position = new int [maximale_spieler_groesse][position_groesse];
beute_position = new int [positions_groesse];
resetGame();
}

void draw (){
background(0);

tick_zeit = tick_zeit + 1/frameRate;
if (tick_zeit > maximale_tick_zeit){
bewegeSpieler();
testeSpielerKollision();
setzteSpielfeldZurueck();
zeichneSpielfigurenAufSpielfeld();
tick_zeit = 0;
}
{
zeichneSpielfeld();
setzteSpielerEingabe();

}

void setztSpielfeldZurueck(){
for (int i = 0; i < spielfeld_groesse; i++)
for (int j = 0; j <spielfeld_groesse; j++){
spielfeld[i][j] = 0;

}
}

void bewegtSpieler(){
if(keyPressed){
if (keyCode) == UP && letzte_richtung != "down"){
richtung = "up";
}
if(keyCode) == LEFT && letzte_richtung != "right"){
richtung = "left";
}
if (keyCode) == DOWN && letzte_richtung != "up"){
richtung = "down";
}
if (keyCode) == RIGHT && letzte_richtung != "left"){
richtung = "right";

}
}
}
void zeichneSpielfigurenAufSpielfeld(){

}


void zeichneSpielfeld(){
void setzteSpieldfeldZurueck(){
for (int i = 1; i < spielfeld_groesse; i++)
for (int j = 1; j <spielfeld_groesse; j++){
if (spielfeld[i][j] == 0){
ellipse(spielfeld_skalierung * i, spielfeld_skalierung * j, leeres_feld_groesse, leeres_feld_groesse);

}
if (spielfeld[i][j] == 1){
ellipse(spielfeld_skalierung * i, spielfeld_skalierung * j, spieler_feld_groesse, spieler_feld_groesse);
}
if (spielfeld[i][j] == 2){
rect(spielfeld_skalierung * i, spielfeld_skalierung * j, beute_feld_groesse, beute_feld_groesse);
}
}
}
}
void setztezufaelligBeutePosition(){
beute_position= floor(random (1, spielfeld_groesse));
beute_position[1]= floor(random (1, spielfeld_groesse));
}

void setztSpielerEingabe(){

}

void testeSpielerKollision(){

}

void resetGame(){
setzteZufaelligeBeutePosition();

}


Vielen Dank im Vorraus
java problem

Content-Key: 385416

Url: https://administrator.de/contentid/385416

Ausgedruckt am: 29.03.2024 um 14:03 Uhr

Mitglied: StefanKittel
StefanKittel 05.09.2018 um 07:47:34 Uhr
Goto Top
Moin,
ich programmiere nicht in Java, aber ich sehe da ein rot unterkringeltes Semikolon in Zeile 41.
Viele Grüße
Stefan
Mitglied: Smileychen
Smileychen 05.09.2018 um 08:12:56 Uhr
Goto Top
Moin,

du hast dich wohl beim Aufruf der Methode verschrieben.
Aufruf: setzteSpielerEingabe();
Deklaration: void setztSpielerEingabe(){

Welche IDE nutzt du denn?
Die meisten hätten dich wohl drauf hingewiesen dass diese Methode nicht existiert und ob sie angelegt werden sollte.

Gruß
Mitglied: 137084
137084 05.09.2018 aktualisiert um 09:07:34 Uhr
Goto Top
Zusätzlich zum Tippfehler ist da in der Methode draw eine geschweifte Klammer zu viel.
Deswegen formatiert man seinen Code vernünftig, dann sieht man das auch gleich!
Code von Videos abtippen?? So lernst du keine Programmiersprache, sorry.
Klein anfangen, eigene Projekte erstellen und Handbücher lesen ist noch immer aktuell und bringt dir mehr als irgendwelche Videos zu schauen die sich nicht einprägen. Das ist stures Copy und Paste und bringt dich nicht weiter.
Mitglied: Bitboy
Bitboy 05.09.2018 um 11:01:45 Uhr
Goto Top
Da scheinen noch mehr Tippfehler "Setzte" und "setzt" zu sein. Mal alle kontrollieren.
Außerdem ist mir das aufgefallen:

void zeichneSpielfeld(){
void setzteSpieldfeldZurueck(){

müsste die geschweifte Klammer von zeichneSpielfeld nicht noch geschlossen werden bevor es mit void weitergeht?
Mitglied: DomiIT
DomiIT 05.09.2018 um 16:22:19 Uhr
Goto Top
Welche Bücher könntest du mir da empfelen ?
Mitglied: 137084
137084 05.09.2018 aktualisiert um 16:24:11 Uhr
Goto Top
Bücher müssen nicht unbedingt sein,, da hat jeder seine Preferenzen geht auch Online z.B.
https://beginnersbook.com/java-tutorial-for-beginners-with-examples/
https://www.google.com/search?q=Java+for+beginners
Mitglied: DomiIT
DomiIT 05.09.2018 um 16:23:37 Uhr
Goto Top
Könntest du mir bitte sagen warum das rot ist? Finde den Fehler da nicht
Mitglied: 137084
137084 05.09.2018 aktualisiert um 16:45:15 Uhr
Goto Top
Da ist so ziemlich alles falsch face-smile. Klammernsetzung, Schreibfehler, fehlende Variablen doppelte Methoden ("setzt" und "setzte" ....)....

So ist es zumindest syntaktisch schon mal ok, aber wie gesagt ein paar Variablen fehlen da noch die nicht definiert sind, schaue mir den Schmuh jetzt nicht auch noch an ...

Aber wie gesagt, bringt dir nicht viel ab zu tippen wenn du den Inhalt der einzelnen Anweisungen nicht verstehst.
    int spielfeld_groesse = 30;
    int spielfeld_skalierung = 28;
    int maximale_spieler_groesse = 100;
    int position_groesse = 2;
    int leeres_feld_groesse = 5;
    int spieler_feld_groesse = 20;
    float maximale_tick_zeit = 0.1;

    int spielfeld;
    int spieler_position;
    int  beute_position;

    int spieler_groesse;
    String richtung;
    String letzte_richtung;
    float tick_zeit =0;

    void setup (){
        size(600, 600);
        rectMode(CENTER);
        spielfeld = new int[spielfeld_groesse][spielfeld_groesse];
        spieler_position = new int [maximale_spieler_groesse][position_groesse];
        beute_position = new int [positions_groesse];
        resetGame();
    }

    void draw (){
        background(0);
        tick_zeit = tick_zeit + 1/frameRate;
        if (tick_zeit > maximale_tick_zeit){
            bewegtSpieler();
            testeSpielerKollision();
            setztSpielfeldZurueck();
            zeichneSpielfigurenAufSpielfeld();
            tick_zeit = 0;
        }
        zeichneSpielfeld();
        setztSpielerEingabe();
    }

    void setztSpielfeldZurueck(){
        for (int i = 0; i < spielfeld_groesse; i++){
            for (int j = 0; j <spielfeld_groesse; j++){
                spielfeld[i][j] = 0;
            }
        }
    }

    void bewegtSpieler(){
        if(keyPressed){
            if (keyCode == UP && letzte_richtung != "down"){  
                richtung = "up";  
            }
            if(keyCode == LEFT && letzte_richtung != "right"){  
                richtung = "left";  
            }
            if (keyCode == DOWN && letzte_richtung != "up"){  
                richtung = "down";  
            }
            if (keyCode == RIGHT && letzte_richtung != "left"){  
                richtung = "right";  

            }
        }
    }

    void zeichneSpielfigurenAufSpielfeld(){
    }

    void zeichneSpielfeld(){
    }

    void setzteSpieldfeldZurueck(){
        for (int i = 1; i < spielfeld_groesse; i++){
            for (int j = 1; j <spielfeld_groesse; j++){
                if (spielfeld[i][j] == 0){
                    ellipse(spielfeld_skalierung * i, spielfeld_skalierung * j, leeres_feld_groesse, leeres_feld_groesse);

                }
                if (spielfeld[i][j] == 1){
                    ellipse(spielfeld_skalierung * i, spielfeld_skalierung * j, spieler_feld_groesse, spieler_feld_groesse);
                }
                if (spielfeld[i][j] == 2){
                    rect(spielfeld_skalierung * i, spielfeld_skalierung * j, beute_feld_groesse, beute_feld_groesse);
                }
            }
        }
    }

    void setztezufaelligBeutePosition(){
        beute_position= floor(random (1, spielfeld_groesse));
        beute_position[1]= floor(random (1, spielfeld_groesse));
    }

    void setztSpielerEingabe(){
    }

    void testeSpielerKollision(){
    }

    void resetGame(){
        setztezufaelligBeutePosition();
    }