mirror of
https://github.com/seriocomedy/ShiftOS-C-.git
synced 2025-01-23 01:22:16 +00:00
14edb9eade
Initial commit of repository.
684 lines
29 KiB
VB.net
684 lines
29 KiB
VB.net
Public Class Labyrinth
|
|
|
|
#Region "Template Code"
|
|
Public rolldownsize As Integer
|
|
Public oldbordersize As Integer
|
|
Public oldtitlebarheight As Integer
|
|
Public justopened As Boolean = False
|
|
Public needtorollback As Boolean = False
|
|
Public minimumsizewidth As Integer = 100 'replace with minimum size
|
|
Public minimumsizeheight As Integer = 100 'replace with minimum size
|
|
|
|
Private Sub Template_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
justopened = True
|
|
Me.Left = (Screen.PrimaryScreen.Bounds.Width - Me.Width) / 2
|
|
Me.Top = (Screen.PrimaryScreen.Bounds.Height - Me.Height) / 2
|
|
setupall()
|
|
|
|
setuplevels(0, True)
|
|
If ShiftOSDesktop.LabyrinthCorrupted Then Me.Close() : infobox.showinfo("The Plague.", Me.Name & "has been corrupted by The Plague.")
|
|
|
|
ShiftOSDesktop.pnlpanelbuttonmaze.SendToBack() 'CHANGE NAME
|
|
ShiftOSDesktop.setuppanelbuttons()
|
|
ShiftOSDesktop.setpanelbuttonappearnce(ShiftOSDesktop.pnlpanelbuttonmaze, ShiftOSDesktop.tbmazeicon, ShiftOSDesktop.tbmazetext, True) 'modify to proper name
|
|
ShiftOSDesktop.programsopen = ShiftOSDesktop.programsopen + 1
|
|
End Sub
|
|
|
|
Public Sub setupall()
|
|
setuptitlebar()
|
|
setupborders()
|
|
setskin()
|
|
End Sub
|
|
|
|
Private Sub ShiftOSDesktop_keydown(sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
|
|
'Make terminal appear
|
|
If e.KeyCode = Keys.T AndAlso e.Control Then
|
|
Terminal.Show()
|
|
Terminal.Visible = True
|
|
Terminal.BringToFront()
|
|
End If
|
|
|
|
'Movable Windows
|
|
If ShiftOSDesktop.boughtmovablewindows = True Then
|
|
If e.KeyCode = Keys.A AndAlso e.Control Then
|
|
e.Handled = True
|
|
Me.Location = New Point(Me.Location.X - ShiftOSDesktop.movablewindownumber, Me.Location.Y)
|
|
End If
|
|
If e.KeyCode = Keys.D AndAlso e.Control Then
|
|
e.Handled = True
|
|
Me.Location = New Point(Me.Location.X + ShiftOSDesktop.movablewindownumber, Me.Location.Y)
|
|
End If
|
|
If e.KeyCode = Keys.W AndAlso e.Control Then
|
|
e.Handled = True
|
|
Me.Location = New Point(Me.Location.X, Me.Location.Y - ShiftOSDesktop.movablewindownumber)
|
|
End If
|
|
If e.KeyCode = Keys.S AndAlso e.Control Then
|
|
e.Handled = True
|
|
Me.Location = New Point(Me.Location.X, Me.Location.Y + ShiftOSDesktop.movablewindownumber)
|
|
End If
|
|
ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User moved " & Me.Name & " to " & Me.Location.ToString & " with " & e.KeyCode.ToString & Environment.NewLine
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub titlebar_MouseDown(sender As Object, e As MouseEventArgs) Handles titlebar.MouseDown, lbtitletext.MouseDown, pnlicon.MouseDown, pgtoplcorner.MouseDown, pgtoprcorner.MouseDown
|
|
' Handle Draggable Windows
|
|
If ShiftOSDesktop.boughtdraggablewindows = True Then
|
|
If e.Button = MouseButtons.Left Then
|
|
titlebar.Capture = False
|
|
lbtitletext.Capture = False
|
|
pnlicon.Capture = False
|
|
pgtoplcorner.Capture = False
|
|
pgtoprcorner.Capture = False
|
|
Const WM_NCLBUTTONDOWN As Integer = &HA1S
|
|
Const HTCAPTION As Integer = 2
|
|
Dim msg As Message = _
|
|
Message.Create(Me.Handle, WM_NCLBUTTONDOWN, _
|
|
New IntPtr(HTCAPTION), IntPtr.Zero)
|
|
Me.DefWndProc(msg)
|
|
End If
|
|
ShiftOSDesktop.log = ShiftOSDesktop.log & My.Computer.Clock.LocalTime & " User dragged " & Me.Name & " to " & Me.Location.ToString & Environment.NewLine
|
|
End If
|
|
End Sub
|
|
|
|
Public Sub setupborders()
|
|
If ShiftOSDesktop.boughtwindowborders = False Then
|
|
pgleft.Hide()
|
|
pgbottom.Hide()
|
|
pgright.Hide()
|
|
Me.Size = New Size(Me.Width - pgleft.Width - pgright.Width, Me.Height - pgbottom.Height)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub closebutton_Click(sender As Object, e As EventArgs) Handles closebutton.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub closebutton_MouseEnter(sender As Object, e As EventArgs) Handles closebutton.MouseEnter, closebutton.MouseUp
|
|
closebutton.BackgroundImage = Skins.closebtnhover
|
|
End Sub
|
|
|
|
Private Sub closebutton_MouseLeave(sender As Object, e As EventArgs) Handles closebutton.MouseLeave
|
|
closebutton.BackgroundImage = Skins.closebtn
|
|
End Sub
|
|
|
|
Private Sub closebutton_MouseDown(sender As Object, e As EventArgs) Handles closebutton.MouseDown
|
|
closebutton.BackgroundImage = Skins.closebtnclick
|
|
End Sub
|
|
|
|
Private Sub minimizebutton_Click(sender As Object, e As EventArgs) Handles minimizebutton.Click
|
|
ShiftOSDesktop.minimizeprogram(Me, False)
|
|
End Sub
|
|
|
|
'Old skinning system - No idea what this does
|
|
''Private Sub titlebar_MouseEnter(sender As Object, e As EventArgs) Handles titlebar.MouseEnter, titlebar.MouseUp, lbtitletext.MouseEnter, pnlicon.MouseEnter, closebutton.MouseEnter, rollupbutton.MouseEnter
|
|
'' If ShiftOSDesktop.skinimages(3) = ShiftOSDesktop.skinimages(4) Then Else titlebar.BackgroundImage = ShiftOSDesktop.skintitlebar(1)
|
|
''End Sub
|
|
|
|
'Private Sub titlebar_MouseLeave(sender As Object, e As EventArgs) Handles titlebar.MouseLeave, lbtitletext.MouseLeave, pnlicon.MouseLeave, closebutton.MouseLeave, rollupbutton.MouseLeave
|
|
' If ShiftOSDesktop.skinimages(3) = ShiftOSDesktop.skinimages(4) Then Else titlebar.BackgroundImage = ShiftOSDesktop.skintitlebar(0)
|
|
'End Sub
|
|
|
|
Private Sub rollupbutton_Click(sender As Object, e As EventArgs) Handles rollupbutton.Click
|
|
rollupanddown()
|
|
End Sub
|
|
|
|
Private Sub rollupbutton_MouseEnter(sender As Object, e As EventArgs) Handles rollupbutton.MouseEnter, rollupbutton.MouseUp
|
|
rollupbutton.BackgroundImage = Skins.rollbtnhover
|
|
End Sub
|
|
|
|
Private Sub rollupbutton_MouseLeave(sender As Object, e As EventArgs) Handles rollupbutton.MouseLeave
|
|
rollupbutton.BackgroundImage = Skins.rollbtn
|
|
End Sub
|
|
|
|
Private Sub rollupbutton_MouseDown(sender As Object, e As EventArgs) Handles rollupbutton.MouseDown
|
|
rollupbutton.BackgroundImage = Skins.rollbtnclick
|
|
End Sub
|
|
|
|
Public Sub setuptitlebar()
|
|
|
|
setupborders()
|
|
|
|
If Me.Height = Me.titlebar.Height Then pgleft.Show() : pgbottom.Show() : pgright.Show() : Me.Height = rolldownsize : needtorollback = True
|
|
pgleft.Width = Skins.borderwidth
|
|
pgright.Width = Skins.borderwidth
|
|
pgbottom.Height = Skins.borderwidth
|
|
titlebar.Height = Skins.titlebarheight
|
|
|
|
If justopened = True Then
|
|
Me.Size = New Size(500, 300) 'put the default size of your window here
|
|
Me.Size = New Size(Me.Width, Me.Height + Skins.titlebarheight - 30)
|
|
Me.Size = New Size(Me.Width + Skins.borderwidth + Skins.borderwidth, Me.Height + Skins.borderwidth)
|
|
oldbordersize = Skins.borderwidth
|
|
oldtitlebarheight = Skins.titlebarheight
|
|
justopened = False
|
|
Else
|
|
If Me.Visible = True Then
|
|
'Me.Hide()
|
|
Me.Size = New Size(Me.Width - (2 * oldbordersize) + (2 * Skins.borderwidth), (Me.Height - oldtitlebarheight - oldbordersize) + Skins.titlebarheight + Skins.borderwidth)
|
|
'Me.Size = New Size(Me.Width - oldbordersize - oldbordersize, Me.Height - oldbordersize) 'Just put a little algebra in the first size setting and comment out the mess
|
|
oldbordersize = Skins.borderwidth
|
|
oldtitlebarheight = Skins.titlebarheight
|
|
'Me.Size = New Size(Me.Width, Me.Height + Skins.titlebarheight - 30)
|
|
'Me.Size = New Size(Me.Width + Skins. borderwidth + Skins. borderwidth, Me.Height + Skins. borderwidth)
|
|
'rolldownsize = Me.Height
|
|
If needtorollback = True Then Me.Height = titlebar.Height : pgleft.Hide() : pgbottom.Hide() : pgright.Hide()
|
|
'Me.Show()
|
|
End If
|
|
End If
|
|
|
|
If Skins.enablecorners = True Then
|
|
pgtoplcorner.Show()
|
|
pgtoprcorner.Show()
|
|
pgtoprcorner.Width = Skins.titlebarcornerwidth
|
|
pgtoplcorner.Width = Skins.titlebarcornerwidth
|
|
Else
|
|
pgtoplcorner.Hide()
|
|
pgtoprcorner.Hide()
|
|
End If
|
|
|
|
If ShiftOSDesktop.boughttitlebar = False Then
|
|
titlebar.Hide()
|
|
Me.Size = New Size(Me.Width, Me.Size.Height - titlebar.Height)
|
|
End If
|
|
|
|
If ShiftOSDesktop.boughttitletext = False Then
|
|
lbtitletext.Hide()
|
|
Else
|
|
lbtitletext.Font = New Font(Skins.titletextfontfamily, Skins.titletextfontsize, Skins.titletextfontstyle, GraphicsUnit.Point)
|
|
lbtitletext.Text = ShiftOSDesktop.mazename 'Remember to change to name of program!!!!
|
|
lbtitletext.Show()
|
|
End If
|
|
|
|
If ShiftOSDesktop.boughtclosebutton = False Then
|
|
closebutton.Hide()
|
|
Else
|
|
closebutton.BackColor = Skins.closebtncolour
|
|
closebutton.Size = Skins.closebtnsize
|
|
closebutton.Show()
|
|
End If
|
|
|
|
If ShiftOSDesktop.boughtrollupbutton = False Then
|
|
rollupbutton.Hide()
|
|
Else
|
|
rollupbutton.BackColor = Skins.rollbtncolour
|
|
rollupbutton.Size = Skins.rollbtnsize
|
|
rollupbutton.Show()
|
|
End If
|
|
|
|
If ShiftOSDesktop.boughtminimizebutton = False Then
|
|
minimizebutton.Hide()
|
|
Else
|
|
minimizebutton.BackColor = Skins.minbtncolour
|
|
minimizebutton.Size = Skins.minbtnsize
|
|
minimizebutton.Show()
|
|
End If
|
|
|
|
If ShiftOSDesktop.boughtwindowborders = True Then
|
|
closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - closebutton.Size.Width, Skins.closebtnfromtop)
|
|
rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - rollupbutton.Size.Width, Skins.rollbtnfromtop)
|
|
minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - minimizebutton.Size.Width, Skins.minbtnfromtop)
|
|
Select Case Skins.titletextpos
|
|
Case "Left"
|
|
lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop)
|
|
Case "Centre"
|
|
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
|
|
End Select
|
|
lbtitletext.ForeColor = Skins.titletextcolour
|
|
Else
|
|
closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, Skins.closebtnfromtop)
|
|
rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, Skins.rollbtnfromtop)
|
|
minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, Skins.minbtnfromtop)
|
|
Select Case Skins.titletextpos
|
|
Case "Left"
|
|
lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop)
|
|
Case "Centre"
|
|
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
|
|
End Select
|
|
lbtitletext.ForeColor = Skins.titletextcolour
|
|
End If
|
|
|
|
'Change when Icon skinning complete
|
|
If ShiftOSDesktop.boughtshiftneticon = True Then ' Change to program's icon
|
|
pnlicon.Visible = True
|
|
pnlicon.Location = New Point(ShiftOSDesktop.titlebariconside, ShiftOSDesktop.titlebaricontop)
|
|
pnlicon.Size = New Size(ShiftOSDesktop.titlebariconsize, ShiftOSDesktop.titlebariconsize)
|
|
pnlicon.Image = ShiftOSDesktop.mazeicontitlebar 'Replace with the correct icon for the program.
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Public Sub rollupanddown()
|
|
If Me.Height = Me.titlebar.Height Then
|
|
pgleft.Show()
|
|
pgbottom.Show()
|
|
pgright.Show()
|
|
Me.Height = rolldownsize
|
|
Me.MinimumSize = New Size(minimumsizewidth, minimumsizeheight)
|
|
Else
|
|
Me.MinimumSize = New Size(0, 0)
|
|
pgleft.Hide()
|
|
pgbottom.Hide()
|
|
pgright.Hide()
|
|
rolldownsize = Me.Height
|
|
Me.Height = Me.titlebar.Height
|
|
End If
|
|
End Sub
|
|
|
|
Public Sub resettitlebar()
|
|
If ShiftOSDesktop.boughtwindowborders = True Then
|
|
closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - closebutton.Size.Width, Skins.closebtnfromtop)
|
|
rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - rollupbutton.Size.Width, Skins.rollbtnfromtop)
|
|
minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - minimizebutton.Size.Width, Skins.minbtnfromtop)
|
|
Select Case Skins.titletextpos
|
|
Case "Left"
|
|
lbtitletext.Location = New Point(Skins.titletextfromside, Skins.titletextfromtop)
|
|
Case "Centre"
|
|
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
|
|
End Select
|
|
lbtitletext.ForeColor = Skins.titletextcolour
|
|
Else
|
|
closebutton.Location = New Point(titlebar.Size.Width - Skins.closebtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - closebutton.Size.Width, Skins.closebtnfromtop)
|
|
rollupbutton.Location = New Point(titlebar.Size.Width - Skins.rollbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - rollupbutton.Size.Width, Skins.rollbtnfromtop)
|
|
minimizebutton.Location = New Point(titlebar.Size.Width - Skins.minbtnfromside - pgtoplcorner.Width - pgtoprcorner.Width - minimizebutton.Size.Width, Skins.minbtnfromtop)
|
|
Select Case Skins.titletextpos
|
|
Case "Left"
|
|
lbtitletext.Location = New Point(Skins.titletextfromside + pgtoplcorner.Width, Skins.titletextfromtop)
|
|
Case "Centre"
|
|
lbtitletext.Location = New Point((titlebar.Width / 2) - lbtitletext.Width / 2, Skins.titletextfromtop)
|
|
End Select
|
|
lbtitletext.ForeColor = Skins.titletextcolour
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub pullside_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pullside.Tick
|
|
Me.Width = Cursor.Position.X - Me.Location.X
|
|
resettitlebar()
|
|
End Sub
|
|
|
|
Private Sub pullbottom_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pullbottom.Tick
|
|
Me.Height = Cursor.Position.Y - Me.Location.Y
|
|
resettitlebar()
|
|
End Sub
|
|
|
|
Private Sub pullbs_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles pullbs.Tick
|
|
Me.Width = Cursor.Position.X - Me.Location.X
|
|
Me.Height = Cursor.Position.Y - Me.Location.Y
|
|
resettitlebar()
|
|
End Sub
|
|
|
|
'delete this for non-resizable windows
|
|
Private Sub Rightpull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgright.MouseDown
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
pullside.Start()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub RightCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseEnter
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
Cursor = Cursors.SizeWE
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub bottomCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottom.MouseEnter
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
Cursor = Cursors.SizeNS
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CornerCursorOn_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgbottomrcorner.MouseEnter
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
Cursor = Cursors.SizeNWSE
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub SizeCursoroff_MouseDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles pgright.MouseLeave, pgbottom.MouseLeave, pgbottomrcorner.MouseLeave
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
Cursor = Cursors.Default
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub rightpull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgright.MouseUp
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
pullside.Stop()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub bottompull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottom.MouseDown
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
pullbottom.Start()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub buttompull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottom.MouseUp
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
pullbottom.Stop()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub bspull_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottomrcorner.MouseDown
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
pullbs.Start()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub bspull_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pgbottomrcorner.MouseUp
|
|
If ShiftOSDesktop.boughtresizablewindows = True Then
|
|
pullbs.Stop()
|
|
End If
|
|
End Sub
|
|
|
|
Public Sub setskin()
|
|
'disposals
|
|
closebutton.BackgroundImage = Nothing
|
|
titlebar.BackgroundImage = Nothing
|
|
rollupbutton.BackgroundImage = Nothing
|
|
pgtoplcorner.BackgroundImage = Nothing
|
|
pgtoprcorner.BackgroundImage = Nothing
|
|
minimizebutton.BackgroundImage = Nothing
|
|
'apply new skin
|
|
If Skins.closebtn Is Nothing Then closebutton.BackColor = Skins.closebtncolour Else closebutton.BackgroundImage = Skins.closebtn
|
|
closebutton.BackgroundImageLayout = Skins.closebtnlayout
|
|
If Skins.titlebar Is Nothing Then titlebar.BackColor = Skins.titlebarcolour Else titlebar.BackgroundImage = Skins.titlebar
|
|
titlebar.BackgroundImageLayout = Skins.titlebarlayout
|
|
If Skins.rollbtn Is Nothing Then rollupbutton.BackColor = Skins.rollbtncolour Else rollupbutton.BackgroundImage = Skins.rollbtn
|
|
rollupbutton.BackgroundImageLayout = Skins.rollbtnlayout
|
|
If Skins.leftcorner Is Nothing Then pgtoplcorner.BackColor = Skins.leftcornercolour Else pgtoplcorner.BackgroundImage = Skins.leftcorner
|
|
pgtoplcorner.BackgroundImageLayout = Skins.leftcornerlayout
|
|
If Skins.rightcorner Is Nothing Then pgtoprcorner.BackColor = Skins.rightcornercolour Else pgtoprcorner.BackgroundImage = Skins.rightcorner
|
|
pgtoprcorner.BackgroundImageLayout = Skins.rightcornerlayout
|
|
If Skins.minbtn Is Nothing Then minimizebutton.BackColor = Skins.minbtncolour Else minimizebutton.BackgroundImage = Skins.minbtn
|
|
minimizebutton.BackgroundImageLayout = Skins.minbtnlayout
|
|
If Skins.borderleft Is Nothing Then pgleft.BackColor = Skins.borderleftcolour Else pgleft.BackgroundImage = Skins.borderleft
|
|
pgleft.BackgroundImageLayout = Skins.borderleftlayout
|
|
If Skins.borderright Is Nothing Then pgright.BackColor = Skins.borderrightcolour Else pgright.BackgroundImage = Skins.borderright
|
|
pgleft.BackgroundImageLayout = Skins.borderrightlayout
|
|
If Skins.borderbottom Is Nothing Then pgbottom.BackColor = Skins.borderbottomcolour Else pgbottom.BackgroundImage = Skins.borderbottom
|
|
pgbottom.BackgroundImageLayout = Skins.borderbottomlayout
|
|
If enablebordercorners = True Then
|
|
If Skins.bottomleftcorner Is Nothing Then pgbottomlcorner.BackColor = Skins.bottomleftcornercolour Else pgbottomlcorner.BackgroundImage = Skins.bottomleftcorner
|
|
pgbottomlcorner.BackgroundImageLayout = Skins.bottomleftcornerlayout
|
|
If Skins.bottomrightcorner Is Nothing Then pgbottomrcorner.BackColor = Skins.bottomrightcornercolour Else pgbottomrcorner.BackgroundImage = Skins.bottomrightcorner
|
|
pgbottomrcorner.BackgroundImageLayout = Skins.bottomrightcornerlayout
|
|
Else
|
|
pgbottomlcorner.BackColor = Skins.borderrightcolour
|
|
pgbottomrcorner.BackColor = Skins.borderrightcolour
|
|
pgbottomlcorner.BackgroundImage = Nothing
|
|
pgbottomrcorner.BackgroundImage = Nothing
|
|
End If
|
|
|
|
'set bottom border corner size
|
|
pgbottomlcorner.Size = New Size(Skins.borderwidth, Skins.borderwidth)
|
|
pgbottomrcorner.Size = New Size(Skins.borderwidth, Skins.borderwidth)
|
|
pgbottomlcorner.Location = New Point(0, Me.Height - Skins.borderwidth)
|
|
pgbottomrcorner.Location = New Point(Me.Width, Me.Height - Skins.borderwidth)
|
|
|
|
Me.TransparencyKey = ShiftOSDesktop.globaltransparencycolour
|
|
End Sub
|
|
|
|
Private Sub Clock_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
|
|
ShiftOSDesktop.programsopen = ShiftOSDesktop.programsopen - 1
|
|
Me.Hide()
|
|
ShiftOSDesktop.setuppanelbuttons()
|
|
End Sub
|
|
|
|
'end of general setup
|
|
#End Region
|
|
|
|
Dim timeleft As Integer
|
|
Dim cpearnt As Integer
|
|
Dim movex As Integer
|
|
Dim movey As Integer
|
|
Dim wall(50) As Panel
|
|
Dim level As Integer = 1
|
|
|
|
Private Sub setuplevels(ByVal lvl As Integer, ByVal firstlvl As Boolean)
|
|
pnllvl1.Dock = DockStyle.None
|
|
pnllvl2.Dock = DockStyle.None
|
|
pnllvl3.Dock = DockStyle.None
|
|
Select Case lvl
|
|
Case 0
|
|
cpearnt = 0
|
|
level = 0
|
|
pnlintro.Dock = DockStyle.Fill
|
|
pnlintro.BringToFront()
|
|
lbllevel.Text = "Intro"
|
|
pnlplayer.Parent = pnlintro
|
|
Case 1
|
|
If firstlvl = False Then cpearnt = cpearnt + 2
|
|
level = 1
|
|
pnllvl1.Dock = DockStyle.Fill
|
|
pnllvl1.BringToFront()
|
|
pnlplayer.Parent = pnllvl1
|
|
lbllevel.Text = "Up 'n Down"
|
|
Case 2
|
|
If firstlvl = False Then cpearnt = cpearnt + 2
|
|
level = 2
|
|
pnllvl2.Dock = DockStyle.Fill
|
|
pnllvl2.BringToFront()
|
|
pnlplayer.Parent = pnllvl2
|
|
lbllevel.Text = "Mid 'I'"
|
|
Case 3
|
|
If firstlvl = False Then cpearnt = cpearnt + 2
|
|
level = 3
|
|
pnllvl3.Dock = DockStyle.Fill
|
|
pnllvl3.BringToFront()
|
|
pnlplayer.Parent = pnllvl3
|
|
lbllevel.Text = "Followin' the Path"
|
|
Case 4
|
|
If firstlvl = False Then cpearnt = cpearnt + 2
|
|
level = 4
|
|
pnllvl4.Dock = DockStyle.Fill
|
|
pnllvl4.BringToFront()
|
|
pnlplayer.Parent = pnllvl4
|
|
lbllevel.Text = "BOXES!"
|
|
Case 5
|
|
If firstlvl = False Then cpearnt = cpearnt + 2
|
|
level = 5
|
|
pnllvl5.Dock = DockStyle.Fill
|
|
pnllvl5.BringToFront()
|
|
pnlplayer.Parent = pnllvl5
|
|
lbllevel.Text = "Twoway"
|
|
|
|
End Select
|
|
If Not lvl = 0 Then
|
|
setupwalls()
|
|
pnlplayer.Location = New Point(8, 10)
|
|
tmrtimeleft.Start()
|
|
tmrgametick.Start()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub randomizelevel(ByVal firstrun As Boolean)
|
|
Dim i As Integer = Math.Ceiling(Rnd() * 5)
|
|
If i = level Or i = 0 Then
|
|
i = Math.Ceiling(Rnd() * 5)
|
|
Else
|
|
setuplevels(i, firstrun)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub key_press(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
|
|
If e.KeyCode = Keys.A Then
|
|
movex = -2
|
|
End If
|
|
If e.KeyCode = Keys.D Then
|
|
movex = 2
|
|
End If
|
|
If e.KeyCode = Keys.W Then
|
|
movey = -2
|
|
End If
|
|
If e.KeyCode = Keys.S Then
|
|
movey = 2
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub key_up(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
|
|
If e.KeyCode = Keys.A Then
|
|
movex = 0
|
|
End If
|
|
If e.KeyCode = Keys.D Then
|
|
movex = 0
|
|
End If
|
|
If e.KeyCode = Keys.W Then
|
|
movey = 0
|
|
End If
|
|
If e.KeyCode = Keys.S Then
|
|
movey = 0
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub tmrtimeleft_Tick(sender As Object, e As EventArgs) Handles tmrtimeleft.Tick
|
|
If timeleft > 0 Then
|
|
timeleft = timeleft - 1
|
|
Else
|
|
infobox.showinfo("Time Up", "You have run out of time, having completed " & level & " mazes and earnt " & cpearnt & " CP")
|
|
setuplevels(0, True)
|
|
ShiftOSDesktop.codepoints = +cpearnt
|
|
cpearnt = 0
|
|
End If
|
|
lbltime.Text = timeleft
|
|
End Sub
|
|
|
|
Dim i As Integer = 0
|
|
Private Sub tmrgametimer_Tick(sender As Object, e As EventArgs) Handles tmrgametick.Tick
|
|
pnlplayer.Location = New Point(pnlplayer.Location.X + movex, pnlplayer.Location.Y + movey)
|
|
|
|
If Not level = 0 Then
|
|
If pnlplayer.Bounds.IntersectsWith(wall(i).Bounds) Then
|
|
infobox.showinfo(" Game Over", "You hit a wall, missing out on " & cpearnt & " Code Points")
|
|
setuplevels(0, True)
|
|
cpearnt = 0
|
|
movex = 0
|
|
movey = 0
|
|
End If
|
|
End If
|
|
|
|
If Not level = 0 Then
|
|
If Not pnlplayer.Bounds.IntersectsWith(pnlplayer.Parent.Bounds) Then
|
|
infobox.showinfo("Game Over", "No escape, stop being a mazerunner. You just missed out on " & cpearnt & " Code Points")
|
|
setuplevels(0, True)
|
|
cpearnt = 0
|
|
End If
|
|
End If
|
|
|
|
If pnlplayer.Bounds.IntersectsWith(lbllvl1exit.Bounds) Then
|
|
randomizelevel(False)
|
|
End If
|
|
|
|
If level = 1 Then
|
|
If i <= 9 Then
|
|
i = i + 1
|
|
Else
|
|
i = 0
|
|
End If
|
|
ElseIf level = 2 Then
|
|
If i <= 11 Then
|
|
i = i + 1
|
|
Else
|
|
i = 0
|
|
End If
|
|
ElseIf level = 3 Then
|
|
If i <= 3 Then
|
|
i = i + 1
|
|
Else
|
|
i = 0
|
|
End If
|
|
ElseIf level = 4 Then
|
|
If i <= 7 Then
|
|
i = i + 1
|
|
Else
|
|
i = 0
|
|
End If
|
|
ElseIf level = 5 Then
|
|
If i <= 4 Then
|
|
i = i + 1
|
|
Else
|
|
i = 0
|
|
End If
|
|
End If
|
|
btncashout.Text = "Cashout " & cpearnt & " CP"
|
|
End Sub
|
|
|
|
Private Sub setupwalls()
|
|
Select Case level
|
|
'Dim j as integer = 0
|
|
'For Each ctl As Control In Lvls.Controls
|
|
' Dim i as integer = 0
|
|
' For Each ctrl As Control In ctl.Controls
|
|
' Try
|
|
' wallObj(j, i) = ctrl
|
|
' Catch ex As Exception
|
|
|
|
' End Try
|
|
' i = i + 1
|
|
' Next
|
|
'Next
|
|
'^^^^^^^^^^ How to code for expandability
|
|
Case 1
|
|
wall(0) = Panel1
|
|
wall(2) = Panel2
|
|
wall(3) = Panel3
|
|
wall(4) = Panel4
|
|
wall(5) = Panel5
|
|
wall(6) = Panel6
|
|
wall(7) = Panel7
|
|
wall(8) = Panel8
|
|
wall(9) = Panel9
|
|
wall(10) = Panel10
|
|
wall(1) = Panel11
|
|
Case 2
|
|
wall(0) = Panel12
|
|
wall(1) = Panel13
|
|
wall(2) = Panel14
|
|
wall(3) = Panel15
|
|
wall(4) = Panel16
|
|
wall(5) = Panel17
|
|
wall(6) = Panel18
|
|
wall(7) = Panel19
|
|
wall(8) = Panel20
|
|
wall(9) = Panel21
|
|
wall(10) = Panel22
|
|
wall(11) = Panel23
|
|
wall(12) = Panel24
|
|
wall(13) = Panel25
|
|
Case 3
|
|
wall(0) = Panel26
|
|
wall(1) = Panel27
|
|
wall(2) = Panel28
|
|
wall(3) = Panel29
|
|
wall(4) = Panel30
|
|
wall(5) = Panel31
|
|
Case 4
|
|
wall(0) = Panel32
|
|
wall(1) = Panel33
|
|
wall(2) = Panel34
|
|
wall(3) = Panel35
|
|
wall(4) = Panel36
|
|
wall(5) = Panel37
|
|
wall(6) = Panel38
|
|
wall(7) = Panel39
|
|
wall(8) = Panel40
|
|
wall(9) = Panel41
|
|
Case 5
|
|
wall(0) = Panel42
|
|
wall(1) = Panel43
|
|
wall(2) = Panel44
|
|
wall(3) = Panel45
|
|
wall(4) = Panel46
|
|
wall(5) = Panel47
|
|
wall(6) = Panel48
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub btncashout_Click(sender As Object, e As EventArgs) Handles btncashout.Click
|
|
ShiftOSDesktop.codepoints = ShiftOSDesktop.codepoints + cpearnt
|
|
infobox.showinfo("Cashout Successful", "You have successfully cashed out " & cpearnt & " Code Points")
|
|
cpearnt = 0
|
|
setuplevels(0, True)
|
|
End Sub
|
|
|
|
Private Sub beginbtn_Click(sender As Object, e As EventArgs) Handles beginbtn.Click
|
|
timeleft = 100
|
|
randomizelevel(True)
|
|
End Sub
|
|
End Class
|