• Soll ein online Modus hinzugefügt werden? 28

    1. Ja! (23) 82%
    2. Nein! (5) 18%

    So, einige von euch werden sicherlich bemerkt haben das ich mich in letzter Zeit mit GDI+, Kollision etc beschäftigt hab. Das perfekte Übungsspiel dazu ist natürlich Snake, es ist 2d, verlangt Kollisionen und ist relativ einfach mit Arrays zu coden.
    Ich hab es erstmal ohne irgend welche Bilder oder einem Startbildschirm gemacht, aber den kann man schnell einbauen.

    Ich würde mich über gute Kritik, aber auch über Lob freuen.
    Es werden wahrscheinlich weitere Powerups folgen, und noch Moduse wie Überleben oder Zeit.
    Ich freu mich auch über neue Ideen ;)

    Zur Erkärung (Einzelplayer):

    Du bist Snake. Dein Ziel ist es die Gelben Vierecke einzusammeln, dadurch wirst du auch länger.
    Manchmal kommen Powerups, die Roten Vierecke die dich für 15 Sekunden schneller machen, und die Weißen die dich um 1/4tel verkürzen.
    Man darf nicht mit sich selbst oder den Wänden kollidieren, man kann mit Joystick/Gamepad oder der Tastatur spielen.

    Zur Erklärung(Multiplayer):
    Ein Spieler spielt mit Joystick, der andere mit den Pfeiltasten. Das Ziel ist es zu überleben und nicht mit sich selbst, der Wand, oder dme anderen Spieler zusammenzustoßen.
    Wer die meisten Punkte hat gewinnt das Spiel.

    Änderungen:
    -Zeit/Länge/Punkte Anzeige im Wenstertitel
    -Mauern (selbst erstellen von Mauern durch Array!)
    -Zeitaussehen angepasst
    -Joystick verwendbar
    -Gamepad verwendbar
    -Joystick, Gamepad und Tastatur benutzbar!
    -Offline Multiplayer Modus
    -Offline Modus Multiplayer UND Einzelplayer

    Neue Maps werden in einem extra .zip Ordner hochgeladen und können nun von euch einfach verwendet werden. Ich könnt gute Maps hochladen, ich werde sie wenn sie uns gefallen in den Map Ordner setzen. Lasst euch was kreatives einfallen :)

    Version 1.9:
    -Mapeditor verfügbar
    -auslesen der Mapdateien verfügbar (Abspeichern durch "s", zurück durch "z")

    Die aktuellste Version gibt es immer HIER

  • Nice!
    Fehlt nur noch ein Timer/Schlangenlänge/Punktezähler per

    [autoit]

    winsettitle()

    [/autoit]

    und ein Netzwerk-Mehrspielermodus auf einem großen Spielfeld und es ist perfekt 8o

    • Offizieller Beitrag

    Bugs:
    - Der vertikale Teil der Schlange sieht etwas komisch aus:
    autoit.de/wcf/attachment/12758/
    - Die Zeitanzeige sollte ganze Sekunden anzeigen oder auf max. 3 Nachkommastellen gerundet sein.
    - Eine Kollision mit dem Rand sollte zum beenden (verloren) führen.

    Ansonsten aber ausbaufähig. :thumbup:

    Vorschläge:
    - Du könntest "Mauern" einfügen, die man nicht berühren darf.
    - Gamepad-Unterstützung

  • Zitat

    - Der vertikale Teil der Schlange sieht etwas komisch aus:


    Liegt daran das ich nur Kreise zeichne, ich könnte ales als Rechteck zeichen bis auf den Letzten und den Vorderen.
    (So siehts mit rechtecken ind er Mitte aus (finde ich nicht sehr schön)

    Spoiler anzeigen
    [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=..\Neon Snake.exe
    #AutoIt3Wrapper_UseX64=n
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GDIPlus.au3>
    #include <Misc.au3>
    #include <GUIConstants.au3>
    #include <Array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt("GUIOnEventMode", 1)
    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    ;;>> Powerup Ideen
    ;> Speed (Farbe Rot) ERLEDIGT!
    ;> Schlange verkürzen (danke an Oscar :-)) weiß

    [/autoit] [autoit][/autoit] [autoit]

    ;;>> GUIs Variablen
    Global $GuiWidth = 500, $GuiHeight = 500
    Global $Punkte = 0, $lange = 0, $Zeit = 200
    Global $EndTimer = TimerInit()

    [/autoit] [autoit][/autoit] [autoit]

    ;;>> Mauer
    Dim $MauerWidth[1] = [$GuiWidth]
    Dim $MauerHeight[1] = [$GuiHeight / 16]
    Dim $MauerX[1] = [0]
    Dim $MauerY[1] = [$GuiHeight / 2 - $MauerHeight / 2]

    [/autoit] [autoit][/autoit] [autoit]

    ;;>> Snakes Variablen
    Global $warten, $status

    [/autoit] [autoit][/autoit] [autoit]

    Global $SnakeSpeed = 2, $SnakeWidth = 10, $SnakeHeight = 10
    Global $Richtung = 27
    Global $FoodOn = False, $FoodX, $FoodY, $Wachstum = 4
    Global $PUX = $GuiWidth, $PUY = $GuiHeight, $PowerTime, $TimerInit

    [/autoit] [autoit][/autoit] [autoit]

    ;;>> Arrays X--Y
    Dim $SnakePos[60][2]
    $SnakePos[UBound($SnakePos) - 1][0] = $GuiWidth / 3 * 2
    $SnakePos[UBound($SnakePos) - 1][1] = 20
    For $i = 0 To UBound($SnakePos) - 1
    $SnakePos[$i][0] = $SnakePos[UBound($SnakePos) - 1][0] - ($SnakeSpeed * UBound($SnakePos)) + ($i * $SnakeSpeed)
    $SnakePos[$i][1] = $SnakePos[UBound($SnakePos) - 1][1]
    Next

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate("Neon Snake Punkte [" & $Punkte & "], Länge [" & $lange & "], Zeit [" & $Zeit & "sek.]", $GuiWidth, $GuiHeight)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($GuiWidth, $GuiHeight, $hGraphics)
    $hBackbuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    $hBrush = _GDIPlus_BrushCreateSolid(0xff00ff00)
    $hBrushFood = _GDIPlus_BrushCreateSolid(0xffffff00)
    $hBrushPU = _GDIPlus_BrushCreateSolid(0xffff0000)
    $hBrushPU2 = _GDIPlus_BrushCreateSolid(0xffffffff)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(10)
    _SnakeOpt()
    _SnakeMove()
    _SnakeCrash()
    _SetFood()
    _EatFood()
    _SetPowerup()
    _GetPowerup()

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_GraphicsClear($hBackbuffer, 0xff8000ff)
    For $i = 0 To UBound($MauerX) - 1
    _GDIPlus_GraphicsFillRect($hBackbuffer, $MauerX[$i], $MauerY[$i], $MauerWidth[$i], $MauerHeight[$i])
    Next
    _GDIPlus_GraphicsFillRect($hBackbuffer, $FoodX, $FoodY, $SnakeWidth, $SnakeHeight, $hBrushFood)
    If $status = 1 Then _GDIPlus_GraphicsFillRect($hBackbuffer, $PUX, $PUY, $SnakeWidth, $SnakeHeight, $hBrushPU)
    If $status = 2 Then _GDIPlus_GraphicsFillRect($hBackbuffer, $PUX, $PUY, $SnakeWidth, $SnakeHeight, $hBrushPU2)
    If _IsPressed(50) Then MsgBox(0, "Pause", "Das Spiel wurde pausiert, wenn sie weiterspielen wollen klicken sie auf OK")
    For $i = 2 To UBound($SnakePos) - 3
    _GDIPlus_GraphicsFillRect($hBackbuffer, $SnakePos[$i][0], $SnakePos[$i][1], $SnakeWidth, $SnakeHeight, $hBrush)
    Next
    _GDIPlus_GraphicsFillEllipse($hBackbuffer, $SnakePos[UBound($SnakePos) - 2][0], $SnakePos[UBound($SnakePos) - 1][1], $SnakeWidth, $SnakeHeight, $hBrush)
    _GDIPlus_GraphicsFillEllipse($hBackbuffer, $SnakePos[UBound($SnakePos) - 1][0], $SnakePos[UBound($SnakePos) - 1][1], $SnakeWidth, $SnakeHeight, $hBrush)
    _GDIPlus_GraphicsFillEllipse($hBackbuffer, $SnakePos[0][0], $SnakePos[0][1], $SnakeWidth, $SnakeHeight, $hBrush)
    _GDIPlus_GraphicsFillEllipse($hBackbuffer, $SnakePos[1][0], $SnakePos[1][1], $SnakeWidth, $SnakeHeight, $hBrush)

    [/autoit] [autoit][/autoit] [autoit]

    $Split = StringSplit($Zeit - (TimerDiff($EndTimer) / 1000), ".", 2)
    If IsArray($Split) Then
    WinSetTitle("Neon Snake", "", "Neon Snake Punkte [" & $Punkte & "], Länge [" & UBound($SnakePos) & "], Zeit [" & $Split[0] & "sek.]")
    EndIf
    If $Zeit - (TimerDiff($EndTimer) / 1000) <= 0 Then
    MsgBox(0, "Aus", "Es ist aus! Jetzt würdest du zum Spielmenü oder zur Gesammtwertung (wenn Online) kommen!")
    Exit
    EndIf
    _GDIPlus_GraphicsDrawImageRect($hGraphics, $hBitmap, 0, 0, $GuiWidth, $GuiHeight)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetPowerup()
    If TimerDiff($PowerTime) >= 15000 Then
    $hBrush = _GDIPlus_BrushCreateSolid(0xff00ff00)
    $SnakeSpeed = 3
    EndIf
    If $SnakePos[UBound($SnakePos) - 1][0] >= $PUX - $SnakeWidth And $SnakePos[UBound($SnakePos) - 1][0] <= $PUX + $SnakeWidth And $SnakePos[UBound($SnakePos) - 1][1] >= $PUY - $SnakeHeight And $SnakePos[UBound($SnakePos) - 1][1] <= $PUY + $SnakeHeight Then
    If $status = 1 Then
    $hBrush = _GDIPlus_BrushCreateSolid(0xffff0000)
    $SnakeSpeed = 5
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $status = 2 Then
    For $i = 0 to (UBound($SnakePos) - 1) / 2
    _ArrayDelete($SnakePos, $i)
    Next
    EndIf
    $PowerTime = TimerInit()
    $PUX = 2 * $GuiWidth
    $PUY = 2 * $GuiHeight
    EndIf
    EndFunc ;==>_GetPowerup

    [/autoit] [autoit][/autoit] [autoit]

    Func _SetPowerup()
    If TimerDiff($TimerInit) >= 5000 Then
    $PUX = $GuiWidth
    $PUY = $GuiHeight
    EndIf
    If $FoodOn Then Return
    If Random(1, 4, 1) = 3 Then
    $u = False
    Do
    $PUX = Random(1, $GuiWidth - $SnakeWidth, 1)
    $PUY = Random(1, $GuiHeight - $SnakeHeight, 1)
    For $i = 0 To UBound($MauerX) - 1
    If $PUX >= $MauerX[$i] - $SnakeWidth And $PUX <= $MauerX[$i] + $MauerWidth[$i] And $PUY >= $MauerY[$i] - $SnakeHeight And $PUY <= $MauerY[$i] + $MauerHeight[$i] Then
    $u = False
    Else
    $u = True
    EndIf
    Next
    Until $u = True
    $TimerInit = TimerInit()
    If Random(1, 5, 1) >= 2 Then
    $status = 1
    Else
    $status = 2
    EndIf
    EndIf
    EndFunc ;==>_SetPowerup

    [/autoit] [autoit][/autoit] [autoit]

    Func _EatFood()
    If TimerDiff($warten) < 500 Then Return
    If $SnakePos[UBound($SnakePos) - 1][0] >= $FoodX - $SnakeWidth And $SnakePos[UBound($SnakePos) - 1][0] <= $FoodX + $SnakeWidth And $SnakePos[UBound($SnakePos) - 1][1] >= $FoodY - $SnakeHeight And $SnakePos[UBound($SnakePos) - 1][1] <= $FoodY + $SnakeHeight Then
    $FoodOn = False
    ReDim $SnakePos[UBound($SnakePos) + $Wachstum][2]
    For $i = 1 To $Wachstum
    $SnakePos[UBound($SnakePos) - $i][0] = $SnakePos[UBound($SnakePos) - $Wachstum - 1][0]
    $SnakePos[UBound($SnakePos) - $i][1] = $SnakePos[UBound($SnakePos) - $Wachstum - 1][1]
    Next
    $Punkte += 1
    $warten = TimerInit()
    EndIf
    EndFunc ;==>_EatFood

    [/autoit] [autoit][/autoit] [autoit]

    Func _SetFood()
    If $FoodOn Then Return
    $u = False
    Do
    $FoodX = Random(1, $GuiWidth - $SnakeWidth, 1)
    $FoodY = Random(1, $GuiHeight - $SnakeHeight, 1)
    For $i = 0 To UBound($MauerX) - 1
    If $FoodX >= $MauerX[$i] - $SnakeWidth And $FoodX <= $MauerX[$i] + $MauerWidth[$i] And $FoodY >= $MauerY[$i] - $SnakeHeight And $FoodY <= $MauerY[$i] + $MauerHeight[$i] Then
    $u = False
    Else
    $u = True
    EndIf
    Next
    Until $u = True
    $FoodOn = True
    EndFunc ;==>_SetFood

    [/autoit] [autoit][/autoit] [autoit]

    Func _SnakeCrash()
    If TimerDiff($warten) <= 200 Then
    Return
    EndIf
    For $i = 0 To UBound($MauerX) - 1
    If $SnakePos[UBound($SnakePos) - 1][0] >= $MauerX[$i] - $SnakeWidth And $SnakePos[UBound($SnakePos) - 1][0] <= $MauerX[$i] + $MauerWidth[$i] And $SnakePos[UBound($SnakePos) - 1][1] >= $MauerY[$i] - $SnakeHeight And $SnakePos[UBound($SnakePos) - 1][1] <= $MauerY[$i] + $MauerHeight[$i] Then
    MsgBox(0, "Verloren", "LOL, du bist gegen eine Wand gerannt!")
    Exit
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To UBound($SnakePos) - 9
    If $SnakePos[UBound($SnakePos) - 1][0] >= $SnakePos[$i][0] - $SnakeWidth And $SnakePos[UBound($SnakePos) - 1][0] <= $SnakePos[$i][0] + $SnakeWidth And $SnakePos[UBound($SnakePos) - 1][1] >= $SnakePos[$i][1] - $SnakeHeight And $SnakePos[UBound($SnakePos) - 1][1] <= $SnakePos[$i][1] + $SnakeHeight Then
    MsgBox(0, "Verloren", "Du bist mit dir selber zusammengestoßen!")
    Exit
    EndIf
    Next
    EndFunc ;==>_SnakeCrash

    [/autoit] [autoit][/autoit] [autoit]

    Func _SnakeOpt()
    For $i = 0 To UBound($SnakePos) - 2
    $SnakePos[$i][0] = $SnakePos[$i + 1][0]
    $SnakePos[$i][1] = $SnakePos[$i + 1][1]
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Switch $Richtung
    Case 25
    $SnakePos[UBound($SnakePos) - 1][0] -= $SnakeSpeed
    Case 26
    $SnakePos[UBound($SnakePos) - 1][1] -= $SnakeSpeed
    Case 27
    $SnakePos[UBound($SnakePos) - 1][0] += $SnakeSpeed
    Case 28
    $SnakePos[UBound($SnakePos) - 1][1] += $SnakeSpeed
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    If $SnakePos[UBound($SnakePos) - 1][0] >= $GuiWidth Then $SnakePos[UBound($SnakePos) - 1][0] = 0
    If $SnakePos[UBound($SnakePos) - 1][0] <= 0 - $SnakeWidth Then $SnakePos[UBound($SnakePos) - 1][0] = $GuiWidth
    If $SnakePos[UBound($SnakePos) - 1][1] >= $GuiHeight Then $SnakePos[UBound($SnakePos) - 1][1] = 0
    If $SnakePos[UBound($SnakePos) - 1][1] <= 0 - $SnakeHeight Then $SnakePos[UBound($SnakePos) - 1][1] = $GuiHeight
    EndFunc ;==>_SnakeOpt

    [/autoit] [autoit][/autoit] [autoit]

    Func _SnakeMove()
    If _IsPressed(25) And $Richtung <> 27 Then ;;>> Links
    $Richtung = 25
    Return
    EndIf
    If _IsPressed(26) And $Richtung <> 28 Then ;;>> Oben
    $Richtung = 26
    Return
    EndIf
    If _IsPressed(27) And $Richtung <> 25 Then ;;>> Rechts
    $Richtung = 27
    Return
    EndIf
    If _IsPressed(28) And $Richtung <> 26 Then ;;>> Unten
    $Richtung = 28
    Return
    EndIf
    EndFunc ;==>_SnakeMove

    [/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    _GDIPlus_BrushDispose($hBrushPU)
    _GDIPlus_BrushDispose($hBrushFood)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_exit

    [/autoit]
    Zitat

    - Die Zeitanzeige sollte ganze Sekunden anzeigen oder auf max. 3 Nachkommastellen gerundet sein.


    Schon erledigt ;)

    Zitat

    - Eine Kollision mit dem Rand sollte zum beenden (verloren) führen.


    Auch schon erledig ;)

    Zitat

    - Du könntest "Mauern" einfügen, die man nicht berühren darf.


    Gerade fertig

    Zitat

    - Gamepad-Unterstützung


    Wie das? Dafür müsste ich die Gamepadtastendrücke auslesen, das weiß ich leider nicht wie das geht, würde mich über Hilfe freuen :)

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

    Einmal editiert, zuletzt von BadBunny (6. März 2011 um 19:31)

    • Offizieller Beitrag

    Wie das? Dafür müsste ich die Gamepadtastendrücke auslesen, das weiß ich leider nicht wie das geht, würde mich über Hilfe freuen :)


    Das ist gar nicht so schwer. Ich habe das mal für mein Musik-Quiz benutzt.
    Dazu habe ich diese Vorlage verwendet:

    Spoiler anzeigen
    [autoit]


    ;____________________________________________________________________
    ; Original program by Ejoc ;
    ; Improved by Adam1213 (autoit 3.2 compatiblity + improved labels ;
    ;____________________________________________________________________

    [/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;_________________ SETUP_____________________________________
    Local $joy,$coor,$h,$s,$msg

    [/autoit] [autoit][/autoit] [autoit]

    $joy = _JoyInit()

    [/autoit] [autoit][/autoit] [autoit]

    dim $labels_text[8]=['X', 'Y', 'Z', 'R', 'U', 'V', 'POV', 'Buttons']
    dim $labels_no=UBound($labels_text)
    dim $labels[$labels_no]
    dim $labels_value[$labels_no]
    ;__________ CONFIG ____________________________________________
    ;---------- Find the max length of the longest label --------------
    $label_len=0
    for $text in $labels_text
    $len=stringlen($text)
    if $len>$label_len then
    $label_len=$len
    endif
    next
    $label_len*=6
    ;_____________ GUI _______________________________________________
    GUICreate('Joystick Test', 200, 200)
    GUICtrlCreateLabel('Joystick', 40, 20, 100, 20)

    for $i=0 to $labels_no-1
    GuiCtrlCreatelabel($labels_text[$i]&':', 10, 60+$i*12, $label_len, 12)
    $labels[$i]=GuiCtrlCreatelabel('', 10+$label_len, 60+$i*12, 70, 12)
    $labels_value[$i]=''
    next
    GUISetState()
    ;_____________________________________________________________________

    [/autoit] [autoit][/autoit] [autoit]

    while 1
    $coord=_GetJoy($joy,0)
    for $i=0 to UBound($coord)-1
    if $coord[$i]<>$labels_value[$i] then
    GUICtrlSetData($labels[$i], $coord[$i])
    $labels_value[$i]=$coord[$i]
    endif
    next
    sleep(10)
    $msg =GUIGetMSG()
    if $msg = $GUI_EVENT_CLOSE Then Exitloop
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    $lpJoy=0 ; Joyclose

    [/autoit] [autoit][/autoit] [autoit]

    ;======================================
    ; _JoyInit()
    ;======================================
    Func _JoyInit()
    Local $joy
    Global $JOYINFOEX_struct = "dword[13]"

    [/autoit] [autoit][/autoit] [autoit]

    $joy=DllStructCreate($JOYINFOEX_struct)
    if @error Then Return 0
    DllStructSetData($joy, 1, DllStructGetSize($joy), 1);dwSize = sizeof(struct)
    DllStructSetData($joy, 1, 255, 2) ;dwFlags = GetAll
    return $joy
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;======================================
    ; _GetJoy($lpJoy,$iJoy)
    ; $lpJoy Return from _JoyInit()
    ; $iJoy Joystick # 0-15
    ; Return Array containing X-Pos, Y-Pos, Z-Pos, R-Pos, U-Pos, V-Pos,POV
    ; Buttons down
    ;
    ; *POV This is a digital game pad, not analog joystick
    ; 65535 = Not pressed
    ; 0 = U
    ; 4500 = UR
    ; 9000 = R
    ; Goes around clockwise increasing 4500 for each position
    ;======================================
    Func _GetJoy($lpJoy,$iJoy)
    Local $coor,$ret

    [/autoit] [autoit][/autoit] [autoit]

    Dim $coor[8]
    DllCall("Winmm.dll","int","joyGetPosEx", _
    "int",$iJoy, _
    "ptr",DllStructGetPtr($lpJoy))

    [/autoit] [autoit][/autoit] [autoit]

    if Not @error Then
    $coor[0] = DllStructGetData($lpJoy,1,3)
    $coor[1] = DllStructGetData($lpJoy,1,4)
    $coor[2] = DllStructGetData($lpJoy,1,5)
    $coor[3] = DllStructGetData($lpJoy,1,6)
    $coor[4] = DllStructGetData($lpJoy,1,7)
    $coor[5] = DllStructGetData($lpJoy,1,8)
    $coor[6] = DllStructGetData($lpJoy,1,11)
    $coor[7] = DllStructGetData($lpJoy,1,9)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    return $coor
    EndFunc

    [/autoit]
  • Ich finds gut :)

    Allerdings gefällt mir der Punkt mir dem "Halb in ein Futterstück reinfahren" nicht so gut, da ich es gewohnt bin ganz schnell runter und rechts zu drücken wenn ich z.B. nur eine Einheit über dem Futter bin :D

    [autoit]


    While $Life = True
    $nMSG = BrainGetMsg()
    Switch $nMSG
    Case $Idea
    _Convert_Idea2Code()
    EndSwitch
    WEnd

    [/autoit]
  • Danke für die guten Ideen, man könnte die Überprüfung ein wenig kleiner machen, also das man nicht so weit weg vom Punkt sein darf.

    Neue Updates:
    -Offline Mutliplayer/Einzelplayer mit Josytick und Tastatur!

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Du könntest oben in dem spoiler noch den bb code

    Code
    [autoit] code [/autoit]

    benutzen!

  • Die neue Version gefällt mir (besonder die name22 Map ^^), aber wenn man zu schnell die Richtung ändert fährt man auch in sich rein (das sieht so aus als würde die Schlange ihren eigenen Kopf fressen :D). Ich weiß nicht ob das beabsichtigt ist, aber es sieht irgendwie komisch aus.

  • Das könnte man verhindern in dem man ein wenig Zeit nach jeder Kurve hat, bis man wieder kurven darf :D aber die Frage ist, lohnt sich das? Man soll ja nicht wild umherklicken. Ich würde mich über eure Meinung freuen.

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

  • Danke für diesen sehr guten Tip! Und es ist fertig! Der Map Editor steht bereit und das Spiel kann sie auslesen! Ihr könnt hier eure eigenen erstellten Maps vorstellen, evtl nehm ich welche auf ;)

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake