Seite 1 von 1

[Projekt] SnakeEyes

Verfasst: 18.12.2011, 18:20
von FlashbackOwl
Ich hab vorgestern angefangen ein kleines "Snake" zu programmieren [in VB.NET] und wollte meine bisherigen Fortschritte präsentieren :)
Dran gearbeitet hab ich bis jetzt ca. 3 Stunden und dank Zudo konnte es auch schnell weiter gehen (hatte ein kleines Problem mit einer Variablen-Deklaration).
Ich will jetzt nicht irgendwas Großes zeigen und erwarte auch kein großes Lob, nur find' ich es motivierend einfach mal seine Fortschritte jemandem zu präsentieren.
In diesem Fall missbrauche ich halt einfach euch ;)
Ich hab gleichzeitig mit diesem Projekt in VB.NET angefangen und versuch ohne irgendwelche Lernressourcen auszukommen, sondern einfach durch ausprobieren zu Lernen.. Aus Fehler lernt man heisst es ja.

Ich werde hier immer, wenn ich nennenswert weitergekommen bin,die Version hochladen und freue mich dann über Kritik.

SnakeEyes
Es geht um...nunja einen Snake Clone halt nur mit einem Auge ;)
Es gibt noch keine Kollisionserkennung der Wände, keine Punktzahl, keine "Äpfel" (In meinem Falle 'isst' das Auge Linsen :D) und auch sonst bewegt sich nur das Auge in dem Form mit konstanter Geschwindigkeit hin und her.
Mir ging es halt erstmal um die Abfrage von der Richtung vom Auge und um die Schleifen, zum Lernen eben.

Hier mein Code ;)

Code: Alles auswählen

Public Class snakeeyes

    Dim game As Boolean

    Dim dir_left As Boolean
    Dim dir_up As Boolean
    Dim dir_down As Boolean
    Dim dir_right As Boolean

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

        'Pfeiltaste nach oben
        If e.KeyCode = Keys.Up Then
            'Charakter.Top -= 50

            If dir_right = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate90FlipXY)
                Charakter.Refresh()
                dir_up = True
                dir_right = False
            End If

            If dir_left = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
                Charakter.Refresh()
                dir_left = False
                dir_up = True
            End If

            If dir_down = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate180FlipNone)
                Charakter.Refresh()
                dir_down = False
                dir_up = True
            End If



        End If
        'Pfeiltaste nach unten
        If e.KeyCode = Keys.Down Then
            'Charakter.Top += 50

            If dir_up = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate180FlipNone)
                Charakter.Refresh()
                dir_up = False
                dir_down = True
            End If

            If dir_left = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate90FlipXY)
                Charakter.Refresh()
                dir_left = False
                dir_down = True
            End If

            If dir_right = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
                Charakter.Refresh()
                dir_right = False
                dir_down = True
            End If

        End If

        'Pfeiltaste nach links
        If e.KeyCode = Keys.Left Then
            'Charakter.Left -= 50

            If dir_right = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate180FlipNone)
                Charakter.Refresh()
                dir_right = False
                dir_left = True
            End If

            If dir_down = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
                Charakter.Refresh()
                dir_down = False
                dir_left = True
            End If

            If dir_up = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate90FlipX)
                Charakter.Refresh()
                dir_up = False
                dir_left = True
            End If
        End If
        'Pfeiltaste nach rechts
        If e.KeyCode = Keys.Right Then
            'Charakter.Left += 50

            If dir_up = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate90FlipNone)
                Charakter.Refresh()
                dir_up = False
                dir_right = True

            End If

            If dir_down = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate90FlipX)
                Charakter.Refresh()
                dir_down = False
                dir_right = True
            End If

            If dir_left = True Then
                Charakter.Image.RotateFlip(RotateFlipType.Rotate180FlipNone)
                Charakter.Refresh()
                dir_right = True
                dir_left = False
            End If

        End If


    End Sub

    Private Sub Charakter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Charakter.Click

    End Sub

    Public Sub New()

        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()

        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.

        dir_left = False
        dir_up = True
        dir_down = False
        dir_right = False
        game = True

    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If dir_left = True Then
            Charakter.Left -= 2

        End If

        If dir_right = True Then
            Charakter.Left += 2
        End If

        If dir_up = True Then
            Charakter.Top -= 2
        End If

        If dir_down = True Then
            Charakter.Top += 2
        End If

    End Sub
End Class

Hier der Download:
SnakeEyes.rar
(177.21 KiB) 203-mal heruntergeladen

Re: [Projekt] SnakeEyes

Verfasst: 18.12.2011, 18:27
von Raidenkk
Hey hört sich echt cool an verliere nur nicht die Mutivation ich will es später mal Zocken :D