Imports System.Math
Imports System.Drawing.Drawing2D
Imports System.IO
Imports System.Uri
Imports System.Threading
Imports System.String
Public Class Form1
Private lvln As Decimal
Private leveln As String
'Private lvl0 As Bitmap = New Bitmap("Prolougelevel.bmp")
'Private lvl1a As Bitmap
'Private lvl1b As Bitmap
Private level As Bitmap
'repeat for number of levels needed-ignore
Private canvas As Graphics
Private sccanvb As Graphics
Private scpic As Bitmap
Private sccanvp As Graphics
Private sccanve As Graphics
Private sccanva As Graphics
Private lvlx As Integer = 0
Private lvly As Integer = 0
Private lvlw As Integer
Private lvlht As Integer
Private terx As Integer = 5
Private tery As Integer = 5
Private terw As Integer
Private terht As Integer
Private fw As Integer
Private fht As Integer
Private picx As Integer
Private picy As Integer
Private teraunce As Bitmap = New Bitmap("Teraunce0.bmp")
Private terrect As Rectangle
Private ters As Integer = 0
Private win As Boolean = False
Private quit As Boolean = False
Private terj As Integer = 0
Private terjump1 As Boolean = False
Private terjump2 As Boolean = False
Private terjump3 As Boolean
Private terright As Boolean = False
Private fired As Boolean = False
Private floor1 As Rectangle
Private floor2 As Rectangle
Private plat1r As Rectangle
Private plat2r As Rectangle
Private plat3r As Rectangle
Private wall1rr As Rectangle
Private wllrrx1 As Integer
Private wllrry1 As Integer
Private wllrrw1 As Integer
Private wllrrh1 As Integer
Private wall2rr As Rectangle
Private wllrrx2 As Integer
Private wllrry2 As Integer
Private wllrrw2 As Integer
Private wllrrh2 As Integer
Private wall3rr As Rectangle
Private wllrrx3 As Integer
Private wllrry3 As Integer
Private wllrrw3 As Integer
Private wllrrh3 As Integer
Private wall1rl As Rectangle
Private wllrlx1 As Integer
Private wllrly1 As Integer
Private wllrlw1 As Integer
Private wllrlh1 As Integer
Private wall2rl As Rectangle
Private wllrlx2 As Integer
Private wllrly2 As Integer
Private wllrlw2 As Integer
Private wllrlh2 As Integer
Private wall3rl As Rectangle
Private wllrlx3 As Integer
Private wllrly3 As Integer
Private wllrlw3 As Integer
Private wllrlh3 As Integer
Private enemy1r As Rectangle
Private enemy1 As Bitmap
Private enemy2r As Rectangle
Private enemy2 As Bitmap
Private enemy3r As Rectangle
Private enemy3 As Bitmap
Private goblin As Bitmap 'enemy bitmaps once found
Private troll As Bitmap
Private exit1r As Rectangle
Private exit2r As Rectangle
Private exit3r As Rectangle
Private ceilingr As Rectangle
Private terbit As String
Private run As Boolean = False
Private lvlmove As Matrix
Private termove As Matrix
Private enemymove As Matrix
Private terup As Boolean
Private hp As Integer = 8
Private maxhp As Integer = 8
Private mp As Integer = 3
Private maxmp As Integer = 3
Private xp As Integer = 0
Private lvlxp As Integer = 100
Private TerLvl As Integer = 1
Private sjump As Decimal
Private Sjump2 As Decimal
Private sjump3 As Decimal
Private arrows As Integer = 20
Private arrowrect As Rectangle
Private bitArrow As Bitmap = New Bitmap("arrowr.bmp")
Private tempstring As String
Private temprect As Rectangle
Private rightmove As Matrix
Private leftmove As Matrix
Private remover As Rectangle = New Rectangle(-9999, -9999, 1, 1)
Private gravity As Matrix = New Matrix(1, 0, 0, 1, 0, -5)
Private antigrav As Matrix = New Matrix(1, 0, 0, 1, 0, 6)
Private mat_jump As Matrix
Private dy As Decimal
Private dx As Decimal
Private dly As Integer = 0
Private dlx As Integer = 0
Private dex As Integer = 0
Private dey As Integer = 0
Private dax As Integer = 0
Private day As Integer = 0
Private arx As Integer
Private ary As Integer
'repeat as necessary
Private Sub startbtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles startbtn.Click
'variables set...
scpic = New Bitmap(PicAnim.Width, PicAnim.Height)
terrect = New Rectangle(terx, tery, teraunce.Width, teraunce.Height)
sccanvb = Graphics.FromImage(scpic)
sccanvp = Graphics.FromImage(scpic)
sccanve = Graphics.FromImage(scpic)
sccanva = Graphics.FromImage(scpic)
floor1 = remover
floor2 = remover
bitArrow.MakeTransparent(Color.Blue)
fw = PicAnim.Width
fht = PicAnim.Height
startbtn.Enabled = False
closebtn.Enabled = False
levelselect.Enabled = False
If levelselect.Text = " ." Then
levelselect.Text = "000."
End If
lvln = levelselect.Text
canvas = PicAnim.CreateGraphics
quit = False
terht = teraunce.Height
terw = teraunce.Width
Do
If terjump1 = False Then
tersprite() 'cycles through idle animation sprites
Else
If terup = True Then 'jump area
terjumpup()
ElseIf terright = False Then
terjumpleft()
Else
terjumpright()
End If
End If
HPcurLbl.Text = Convert.ToString(hp)
HPmaxLbl.Text = maxhp
MPcurLbl.Text = mp
MPmaxLbl.Text = maxmp
LvlCurLbl.Text = TerLvl
XPcurLbl.Text = xp
NextLvlLbl.Text = lvlxp
passwordlevel.Text = lvln
If run = False Then
terlevel()
End If
'YTF is it skipping levels?---Fixed
Application.DoEvents()
canvas.DrawImage(scpic, 0, 0)
'sccanvb.MultiplyTransform(gravity) 'not transforming for some reason. IDK why though. major bug that needs fixing.
sccanvb.DrawImage(level, lvlx + dlx, lvly + dly)
Thread.Sleep(1)
sccanvp.DrawImage(teraunce, terrect)
leveldo()
If hp <= 0 Then
lvln = 666
lvlx = 0
lvly = 0
End If
dly = dly - 5
If run = True Then
If terrect.IntersectsWith(enemy1r) = True Then
hp = hp - 1
ElseIf terrect.IntersectsWith(enemy2r) = True Then
hp = hp - 1
ElseIf terrect.IntersectsWith(enemy3r) = True Then
hp = hp - 1
ElseIf terrect.IntersectsWith(exit1r) = True Then
fexit1()
ElseIf terrect.IntersectsWith(exit2r) = True Then
fexit2()
ElseIf terrect.IntersectsWith(exit3r) = True Then
fexit3()
ElseIf terrect.IntersectsWith(floor1) = True Then
'sccanvb.MultiplyTransform(antigrav)
dly = dly + 6
ElseIf terrect.IntersectsWith(floor2) = True Then
'sccanvb.MultiplyTransform(antigrav)
dly = dly + 6
End If
End If
If fired = True Then
If terright = True Then
dax = dax + 10
Else
dax = dax - 10
End If
arx = terx + dax - dlx
ary = tery + day - dly
arrowrect = New Rectangle(arx, ary, bitArrow.Width, bitArrow.Height)
sccanva.DrawImage(bitArrow, arrowrect)
If temprect.Intersect(arrowrect, enemy1r) <> Nothing Then
enemy1r = remover
arrowrect = remover
fired = False
sccanva.DrawImage(bitArrow, arrowrect)
sccanve.DrawImage(enemy1, enemy1r)
xp = xp + 15
ElseIf temprect.Intersect(arrowrect, enemy2r) <> Nothing Then
enemy2r = remover
arrowrect = remover
fired = False
sccanva.DrawImage(bitArrow, arrowrect)
sccanve.DrawImage(enemy2, enemy2r)
xp = xp + 15
ElseIf temprect.Intersect(arrowrect, enemy3r) <> Nothing Then
enemy3r = remover
arrowrect = remover
fired = False
sccanva.DrawImage(bitArrow, arrowrect)
sccanve.DrawImage(enemy3, enemy3r)
xp = xp + 15
ElseIf ary < 0 Then
fired = False
ElseIf ary > level.Height Then
fired = False
ElseIf arx < 0 Then
fired = False
ElseIf arx > level.Width Then
fired = False
End If
End If
'lvly = lvly - 5
Thread.Sleep(100)
Loop Until quit = True
'Close()
End Sub
Function fexit1()
If lvln = 0 Then
lvln = 0.1
terx = 200
End If
End Function
Function fexit2()
End Function
Function fexit3()
End Function
Function rectfix()
wall1rl = New Rectangle(wllrlx1 + lvlx, wllrly1 + lvly, wllrlw1 + lvlx, wllrlh1 + lvly)
wall2rl = New Rectangle(wllrlx2 + lvlx, wllrly2 + lvly, wllrlw2 + lvlx, wllrlh2 + lvly)
wall3rl = New Rectangle(wllrlx3 + lvlx, wllrly3 + lvly, wllrlw3 + lvlx, wllrlh3 + lvly)
wall1rr = New Rectangle(wllrrx1 + lvlx, wllrry1 + lvly, wllrrw1 + lvlx, wllrrh1 + lvly)
wall2rr = New Rectangle(wllrrx2 + lvlx, wllrry2 + lvly, wllrrw2 + lvlx, wllrrh2 + lvly)
wall3rr = New Rectangle(wllrrx3 + lvlx, wllrry3 + lvly, wllrrw3 + lvlx, wllrrh3 + lvly)
End Function
Function tersprite()
'Do
If ters <= 16 Then
terbit = Convert.ToString(ters)
teraunce = New Bitmap("Teraunce" + terbit + ".bmp") 'should return Teraunce0.bmp to teraunce16.bmp
ters = ters + 1
teraunce.MakeTransparent(Color.Blue)
Else
ters = 0
End If
'Loop While quit = False <---Unneeded, couldn't be escaped.
'sample function-finished
'TODO://Draw Idle/Walk/jump/glide animation for Teraunce-incomplete; placeholder added.
End Function
Function terjumpup()
If terjump1 = False Then
sjump = 0
sjump2 = 0
sjump3 = 0
End If
If terjump1 = True Then
terjump1 = False
terbit = Convert.ToString(sjump)
sjump = sjump + 0.1
teraunce = New Bitmap("teraunce" + terbit + "u1.bmp")
dly = ((16 * (sjump ^ 2)) - (50 * sjump)) * -1
mat_jump = New Matrix(0, 1, 1, 0, 0, -dy)
'sccanvb.MultiplyTransform(mat_jump)
ElseIf terjump2 = True Then
terjump1 = False
terbit = Convert.ToString(Sjump2)
Sjump2 = Sjump2 + 0.1
teraunce = New Bitmap("teraunce" + terbit + "u2.bmp")
dly = ((16 * (Sjump2 ^ 2)) - (50 * Sjump2)) * -1
mat_jump = New Matrix(0, 1, 1, 0, 0, -dy)
'sccanvb.MultiplyTransform(mat_jump)
Else
If terright = True Then
terglideright()
Else
terglideleft()
End If
End If
End Function
Function terjumpright()
terjump1 = False
End Function
Function terjumpleft()
terjump1 = False
End Function
Function terglideright()
End Function
Function terglideleft()
End Function
Function terlevel()
leveln = Convert.ToString(lvln)
level = New Bitmap("level" + leveln + ".bmp")
End Function
Function leveldo()
If lvln = 0.0 Then
'lvly = lvly
If run = False Then
sccanvb.DrawImage(level, lvlx, lvly)
run = True
ElseIf run = True Then
Thread.Sleep(1)
End If
ElseIf lvln = 0.1 Then
If run = False Then
sccanvb.DrawImage(level, lvlx, lvly)
run = True
ElseIf run = True Then
End If
Else
If run = False Then
sccanvb.DrawImage(level, lvlx, lvly)
run = True
Else
End If
End If
End Function
Private Sub closebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles closebtn.Click
If quit = False Then
quit = True
startbtn.Enabled = True
levelselect.Enabled = True
run = False
Else
Close()
End If
End Sub
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.NumPad8 Then
terup = True
If terjump1 = False Then
terjump1 = True
terjumpup()
ElseIf terjump2 = False Then
terjump2 = True
terjumpup()
Else
If terright = True Then
terglideright()
Else
terglideleft()
End If
End If
ElseIf e.KeyCode = Keys.NumPad9 Then
terright = True
If terjump1 = False Then
terjump1 = True
terjumpright()
ElseIf terjump2 = False Then
terjump2 = True
terjumpright()
Else
If terright = True Then
terglideright()
Else
terglideleft()
End If
End If
ElseIf e.KeyCode = Keys.NumPad7 Then
terright = False
If terjump1 = False Then
terjump1 = True
terjumpleft()
ElseIf terjump2 = False Then
terjump2 = True
terjumpleft()
Else
If terright = True Then
terglideright()
Else
terglideleft()
End If
End If
ElseIf e.KeyCode = Keys.End Then
closebtn_Click(sender, e)
ElseIf e.KeyCode = Keys.NumPad4 Then
terup = False
dlx = dlx + 3
terright = False
ElseIf e.KeyCode = Keys.NumPad6 Then
terup = False
terright = True
dlx = dlx - 3
ElseIf e.KeyCode = Keys.ControlKey Then
If arrows > 0 Then
If fired = False Then
dax = 0
day = 0
arrowrect = New Rectangle(terx, tery, bitArrow.Width, bitArrow.Height)
If terright = True Then
bitArrow = New Bitmap("arrowr.bmp")
Else
bitArrow = New Bitmap("arrowl.bmp")
End If
bitArrow.MakeTransparent(Color.Blue)
sccanva.DrawImage(bitArrow, arrowrect)
dax = 0
day = 0
fired = True
arrows = arrows - 1
NumArrowLbl.Text = arrows
Else
tempstring = New String("Wait!")
NumArrowLbl.Text = tempstring
End If
Else
tempstring = New String("Empty")
NumArrowLbl.Text = tempstring
End If
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub HPcurLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HPcurLbl.Click
End Sub
Private Sub HPmaxLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HPmaxLbl.Click
End Sub
Private Sub LvlCurLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LvlCurLbl.Click
End Sub
Private Sub MPcurLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MPcurLbl.Click
End Sub
Private Sub MPmaxLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MPmaxLbl.Click
End Sub
Private Sub XPcurLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles XPcurLbl.Click
End Sub
Private Sub NextLvlLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NextLvlLbl.Click
End Sub
Private Sub NumArrowLbl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumArrowLbl.Click
End Sub
End Class
Comments
0 B
|0 👍
/0 👎
0 B
|👍
/👎