- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 4 von 4

Thema: Snake

  1. #1

    Snake

    Anzeige

    Powerstation Test
    hey ho

    hab mit vor ca 2 wochen ein µC board (atmega32) gebastelt und hab mittlerweile auch ein 240x128 glcd dran hängen. jetzt versuch ich grad ne sehr primitive version vom warscheinlich eh bekannten handy spiel "snake" zu programmieren.

    follgendes hab ich bis jetzt:

    Code:
    $regfile = "m32def.dat"                                     ' specify the used micro
    $crystal = 16000000                                         ' used crystal frequency
    $baud = 19200                                               ' use baud rate
    
    $hwstack = 32                                               ' default use 32 for the hardware stack
    $swstack = 10                                               ' default use 10 for the SW stack
    $framesize = 40                                             ' default use 40 for the frame space
    
    Config Portd = Input
    Portd = 1
    
     Taster1 Alias Pind.0
     Taster2 Alias Pind.1
     Taster3 Alias Pind.2
     Taster4 Alias Pind.3
    
    Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portb , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
    
    Config Porta = 1
    Config Portd.0 = 1
    Config Portd.1 = 1
    Config Portd.2 = 1
    Config Portd.3 = 1
    
    
    Dim X As Byte , Y As Byte
    
    
    Cls
    
    Cursor Off
    
    Wait 1
    
    Locate 1 , 1
    
    'LINE(X0,Y0) - (X1,Y1), on/off
    Line(1 , 1) -(1 , 126) , 255                                ' links oben - links unten
    Line(1 , 1) -(238 , 1) , 255                                ' links oben - rechts oben
    Line(238 , 126) -(1 , 126) , 255                            ' rechts unten - links unten
    Line(238 , 126) -(238 , 1) , 255                            ' rechts unten - rechts oben
    
    Waitms 1
    
    
     X = 5
     Y = 5
    
    Beginn:
    
    Erhoeher_rechts:
    
       If Taster1 = 0 Then
        X = X + 1
       Waitms 50
        Pset X , Y , 255
        Goto Erhoeher_unten
       Else
       Goto Erhoeher_unten
       End If
    
    Erhoeher_unten:
    
       If Taster2 = 0 Then
        Y = Y + 1
       Waitms 50
        Pset X , Y , 255
        Goto Erhoeher_unten
       Else
       Goto Beginn
       End If
    damit kann ich die linie ausgehend von pixel 5,5 über 2 taster nach rechts und nach unten wandern lassen. solang eine taste gedrückt is wächst die linie in diese richtung

    die version für 4 wege hätte dann so ausgeschaut:



    Code:
    Waitms 1
    
     X = 5
     Y = 5
    
    Beginn:
    
    Zaehler_rechts:
    
       If Taster1 = 0 Then
        X = X + 1
       Waitms 50
        Pset X , Y , 255
        Goto Zaehler_rechts
       Else
       Goto Zaehler_unten
       End If
    
    Zaehler_unten:
    
       If Taster2 = 0 Then
        Y = Y + 1
       Waitms 50
        Pset X , Y , 255
        Goto Zaehler_unten
       Else
       Goto Zaehler_oben
       End If
    
    Zaehler_oben:
    
       If Taster3 = 0 Then
        X = X - 1
       Waitms 50
        Pset X , Y , 255
        Goto Zaehler_oben
       Else
       Goto Zaehler_links
       End If
    
    Zaehler_links:
    
       If Taster4 = 0 Then
        Y = Y - 1
       Waitms 50
        Pset X , Y , 255
        Goto Zaehler_links
       Else
       Goto Beginn
       End If
    aber jetzt fängt die linie von punkt 5,5 an entweder immer nach rechts oder nach unten zu laufen, ohne das eine taste gedrückt wird. ich hab allerdings keine ahnung warum? ist die anzahl der loops begrenzt? wär net wenn mir wer helfen könnte

    mfg
    conf

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    12.03.2008
    Beiträge
    53
    Hallo,
    es ist jetzt schon ne Weile her... hast du inzwischen eine Lösung? Würde mich interessieren.
    mfg

  3. #3
    wow den thread gibts auch noch

    hab mich ehrlich gesagt nicht weiter damit beschäftigt

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    12.03.2008
    Beiträge
    53
    Vergessen aber nicht verloren

    Schade das du dich nicht weiter mit dem Spiel beschäftigt hast. Werde dann, wenn ich meinen GLCD bekommen habe, das Spiel weiterentwickeln.

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress