Snake in Konsole wächst nicht



  • Du hast OOP nicht im Geringsten verstanden.
    Lern es nochmal. Schaue dir die Beispiele an. Schaue dir mein Beispiel an.



  • Ok -.- hab jetzt noch die mit einer for-schleife gemacht. Dann hab ich noch die kollisionsabfrage hinzugefügt. Jetz kann ichs spielen 😃



  • Wie kann ich prüfen ob der kopf der Schlange kleiner ist als der Vector?

    if(snake[0] > feld.size())
      {
       snake[0] = snake[0] - 800;
      }
    

    Dies mach ich, wenn der Kopf größer ist, damit die Schlange auf der anderen Seite des Feldes wieder rauskommt.

    (Hab mir das nochmal angeguckt aber iwi versteh ich das immer genau so wie ich das mit den Klassen mache -.-)



  • if (snake[0] < 0)
        snake[0] += 800;
    


  • Danke 🙂

    bool exit = false;
    while(!exit)
    {
    
        if(kbhit()) // Nur wenn auch eine Taste gedrückt ist
        {
            c = getch();
            switch(c)
            {
            case 'w':
             for(int x = 9; x == 1; )
             {
             cfeld::snake[x] = cfeld::snake[--x];
             }
             cfeld::snake[0] = cfeld::snake[0] -40 ;
             break;
    
            case 'a':
             for(int x = 9; x == 1; )
             {
             cfeld::snake[x] = cfeld::snake[--x];
             }
             cfeld::snake[0]--;
            break;
    
            case 's':
            for(int x = 9; x == 1; )
             {
             cfeld::snake[x] = cfeld::snake[--x];
             }
            cfeld::snake[0] = cfeld::snake[0] +40;
            break;
    
            case 'd':
           for(int x = 9; x == 1; )
             {
             cfeld::snake[x] = cfeld::snake[--x];
             }
            cfeld::snake[0]++;
            break;
            }
    
        }
    
    else
    {
        if( c == 'd')
        {
    
             cfeld::snake[9] = cfeld::snake[8];
             cfeld::snake[8] = cfeld::snake[7];
             cfeld::snake[7] = cfeld::snake[6];
             cfeld::snake[6] = cfeld::snake[5];
             cfeld::snake[5] = cfeld::snake[4];
             cfeld::snake[4] = cfeld::snake[3];
             cfeld::snake[3] = cfeld::snake[2];
             cfeld::snake[2] = cfeld::snake[1];
             cfeld::snake[1] = cfeld::snake[0];
             cfeld::snake[0]++;
    
        }
        if( c == 'w')
        {
    
             cfeld::snake[9] = cfeld::snake[8];
             cfeld::snake[8] = cfeld::snake[7];
             cfeld::snake[7] = cfeld::snake[6];
             cfeld::snake[6] = cfeld::snake[5];
             cfeld::snake[5] = cfeld::snake[4];
             cfeld::snake[4] = cfeld::snake[3];
             cfeld::snake[3] = cfeld::snake[2];
             cfeld::snake[2] = cfeld::snake[1];
             cfeld::snake[1] = cfeld::snake[0];
             cfeld::snake[0]=cfeld::snake[0]-40;
    
        }
        if( c == 'a')
        {
    
             cfeld::snake[9] = cfeld::snake[8];
             cfeld::snake[8] = cfeld::snake[7];
             cfeld::snake[7] = cfeld::snake[6];
             cfeld::snake[6] = cfeld::snake[5];
             cfeld::snake[5] = cfeld::snake[4];
             cfeld::snake[4] = cfeld::snake[3];
             cfeld::snake[3] = cfeld::snake[2];
             cfeld::snake[2] = cfeld::snake[1];
             cfeld::snake[1] = cfeld::snake[0];
             cfeld::snake[0]--;
    
        }
        if ( c == 's')
        {
    
             cfeld::snake[9] = cfeld::snake[8];
             cfeld::snake[8] = cfeld::snake[7];
             cfeld::snake[7] = cfeld::snake[6];
             cfeld::snake[6] = cfeld::snake[5];
             cfeld::snake[5] = cfeld::snake[4];
             cfeld::snake[4] = cfeld::snake[3];
             cfeld::snake[3] = cfeld::snake[2];
             cfeld::snake[2] = cfeld::snake[1];
             cfeld::snake[1] = cfeld::snake[0];
             cfeld::snake[0] = cfeld::snake[0]+40;
        }
    }
    

    Wieso kann ich bei else die blöcke

    cfeld::snake[9] = cfeld::snake[8];
             cfeld::snake[8] = cfeld::snake[7];
             cfeld::snake[7] = cfeld::snake[6];
             cfeld::snake[6] = cfeld::snake[5];
             cfeld::snake[5] = cfeld::snake[4];
             cfeld::snake[4] = cfeld::snake[3];
             cfeld::snake[3] = cfeld::snake[2];
             cfeld::snake[2] = cfeld::snake[1];
             cfeld::snake[1] = cfeld::snake[0];
    

    nicht in eine for- Schleife tun wie bei if?



  • lolipoplol schrieb:

    /* ... */
    
    1>main.cpp(2): error C2059: syntax error : 'while'
    1>main.cpp(3): error C2143: syntax error : missing ';' before '{'
    1>main.cpp(3): error C2447: '{' : missing function header (old-style formal list?)
    1>main.cpp(109): fatal error C1004: unexpected end-of-file found
    

    👍

    Nachdem du hier schon mehrere Male Codefetzen gepostest hast, möchtest du evtl. http://www.c-plusplus.net/forum/304133-full lesen.



  • lolipoplol schrieb:

    Danke 🙂
    nicht in eine for- Schleife tun wie bei if?

    was hindert dich dran?

    Wahrscheinlich hast du was falsch gemacht und deshalb kontest du nicht.


Anmelden zum Antworten