tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
339
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    alixander alixander ist offline Mitglied Silber
    Registriert seit
    Mar 2004
    Beiträge
    70
    Hallo Leute!
    Ich bin fast am Verzweifeln. Ich versuche schon seit längerer Zeit es hinzubekommen, dass bei meinem snake-clone der Wechsel von der Horizontalen in di Vertikale so klappt wie beim Original, aber ich komme einfach nicht drauf. Könnt ihr mir helfen? Hier ist die Funktion mit der ich bis jetzt meine Schlang fortbewege:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    
    void move(int sleepTime)
    {
            Sleep(sleepTime);
            if(direction==true)
            {
     
            xKor[0]++;
     
            for(initer=1;initer<=4;initer++)
            {
                    xKor[initer]=xKor[initer-1]-1;
                    yKor[initer]=yKor[initer-1];
            }
            initer=0;
            while(initer<=4)
            {
                    gotoxy(xKor[initer],yKor[initer]);
                    cout<< "O";
                    initer++;
            }
           gotoxy(xKor[4]-1,yKor[0]);
                   cout<< " ";
           }
           if(direction==false)
           {
              yKor[0]++;
     
            for(initer=1;initer<=4;initer++)
            {
                    xKor[initer]=xKor[initer-1];
                    yKor[initer]=yKor[initer-1]-1;
            }
            initer=0;
            while(initer<=4)
            {
                    gotoxy(xKor[initer],yKor[initer]);
                    cout<< "O";
                    initer++;
            }
           gotoxy(xKor[0],yKor[4]-1);
                   cout<< " ";
           }
     
    }
    Wäre nett, wenn ihr mir verbesserungs Vorschläge zu meiner Funktion geben würdet
    Mfg alixander
     

  2. #2
    Registriert seit
    May 2004
    Beiträge
    287
    Hi! Nix für ungut, aber kannst du das ganze mit Pseudocode darstellen, bzw. einfach nur erklären, wie du die Sache bisher angegangen bist? Ich finde das einfach nur anstrengend, sich in die vollkommen unkommentierten Quellcodes anderer Leute reindenken zu müssen. Der Ansatz wäre meiner Meinung nach folgender: Einfach ein Tileprinzip nutzen. Also ein zweidimensionales Array, das den Zustand des Bildschirms und der Schlange widerspiegelt (könnte für diese Zwecke also prinzipiell bool sein, oder byte oder int, wenn's später noch komplexer werden soll). Das wird durch eine eigene Funktion dargestellt. Bei Bewegungen der Schlange einfach nur dieses Array aktualisieren, also das Element am Ende auf false, das neue Element am Anfang auf true, der Rest bleibt. Wenn du das so gemacht hast, sorry, hab's halt nicht durchdacht.
     

  3. #3
    Avatar von Gawayn
    Gawayn Gawayn ist offline Mitglied Brokat
    Registriert seit
    Dec 2003
    Beiträge
    309
    Diese Funktion ist mir ebenfalls zu vertrackt, als dass ich sie jetzt analysieren würde . Deswegen mein grundsätzlicher Ansatz. Ich würde die aktuelle Richtung der Schlange in einer Variablen speichern (es gibt 4 Richtungen) und dann halt je nach Richtung die aktuelle Position verändern. Wobei natürlich nicht vergessen werden darf, den Schwanz "nachzuziehen" und gegebenfalls zu verlängern. So habe ich es seinerzeit gemacht. (Snake ist nach wie vor eine schöne Programmierübung .) Für dieses Nachziehen des Schwanzes gibt es wohl mehere Lösungsansätze; ich habe damals einfach alle Ecken des Schwanzes in einem Array gespeichert. Ich habe mir keine Gedanken gemacht, ob es vielleicht auch einfacher oder eleganter geht.

    Gawayn
     

Ähnliche Themen

  1. Scrollen einer horizontalen Bilderliste
    Von JBJHJM im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 26.01.10, 14:21
  2. Antworten: 3
    Letzter Beitrag: 06.06.07, 21:17
  3. iframe ohne Horizontalen balken
    Von michback im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 25.11.05, 06:37
  4. nur horizontalen scrollbalken unterdrücken
    Von basti im Forum HTML & XHTML
    Antworten: 15
    Letzter Beitrag: 06.07.05, 15:10
  5. Horizontalen Scrollbalken entfernen
    Von MAN im Forum HTML & XHTML
    Antworten: 7
    Letzter Beitrag: 03.06.05, 08:57