Imports System.IO
Public Class Form1
Dim numRows As Integer = 15
Dim numColumns As Integer = 15
Dim TileInfo As List(Of String) = New List(Of String)
Dim charX, charY As Integer
Enum CharacterDirection
Up = 1
Down = 2
Left = 3
Right = 4
End Enum
Private Function moveCharacter(ByVal charDirection As CharacterDirection, ByVal charSpeed As Integer, ByVal g As Graphics) As Boolean
Dim valueY As Integer = 0
Dim valueX As Integer = 0
Dim decrementIncrementX As String = "INCREMENT"
Dim decrementIncrementY As String = "INCREMENT"
Select Case charDirection
Case CharacterDirection.Up
valueY = charSpeed
decrementIncrementY = "DECREMENT"
Case CharacterDirection.Down
valueY = charSpeed
decrementIncrementY = "INCREMENT"
Case CharacterDirection.Left
valueX = charSpeed
decrementIncrementX = "DECREMENT"
Case CharacterDirection.Right
valueX = charSpeed
decrementIncrementX = "INCREMENT"
End Select
If decrementIncrementX = "INCREMENT" Then
charX += valueX
Else
charX -= valueX
End If
If decrementIncrementY = "INCREMENT" Then
charY += valueY
Else
charY -= valueY
End If
g.Clear(Color.FromArgb(0, 255, 255, 255)) ' Her redrawer jeg formen, den bliver så helt sort!
g.DrawImage(New Bitmap("C:\char.jpg"), New Point(charX, charY)) ' Her tegner jeg playeren med de nye positioner.
Return True
End Function
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Dim g As Graphics = CreateGraphics()
Select Case e.KeyCode
Case Keys.W
moveCharacter(CharacterDirection.Up, 3, g)
Case Keys.A
moveCharacter(CharacterDirection.Left, 3, g)
Case Keys.S
moveCharacter(CharacterDirection.Down, 3, g)
Case Keys.D
moveCharacter(CharacterDirection.Right, 3, g)
Case Keys.Up
moveCharacter(CharacterDirection.Up, 3, g)
Case Keys.Down
moveCharacter(CharacterDirection.Down, 3, g)
Case Keys.Left
moveCharacter(CharacterDirection.Left, 3, g)
Case Keys.Right
moveCharacter(CharacterDirection.Right, 3, g)
End Select
End Sub
Private Sub DrawWorld(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Paint ' Dette tegner hele banen, altså, med græs.
Dim currentRow As Integer = 0
Dim currentColumn As Integer = 0
Dim X As Integer = 0
Dim Y As Integer = 0
Dim g As Graphics = CreateGraphics()
For i = 0 To numColumns - 1
currentRow = i
currentRow = 0
X = 0
If i > 0 Then
Y += 35
End If
For a = 0 To numRows
currentRow = i
g.DrawImage(New Bitmap("C:\grass.jpg"), New Point(X, Y))
X += 35
Next
Next
End Sub
Private Sub Form1_Load_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
numColumns += 1
Me.Width = 35 * numRows
Me.Height = 35 * numColumns
End Sub
End Class