Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Module Module1
- Dim WindowHeight As Integer = Console.LargestWindowHeight - 1
- Dim WindowWidth As Integer = 128
- Dim WorldMap(WindowHeight - 9, WindowWidth) As Char
- Dim ShipMap(8, WindowWidth) As Char
- Dim ShipString As String
- Dim WorldString As String
- Dim XStartArray() As Integer = {12, 27, 42, 57, 72, 87, 102}
- Dim ClosedLeggedSmall(,) As Char = {
- {" ", " ", " ", " ", " ", "█", "█", " ", " ", " ", " ", " "},
- {" ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " "},
- {" ", " ", " ", "█", "█", "█", "█", "█", "█", " ", " ", " "},
- {" ", " ", "█", "█", " ", "█", "█", " ", "█", "█", " ", " "},
- {" ", " ", "█", "█", "█", "█", "█", "█", "█", "█", " ", " "},
- {" ", " ", " ", " ", "█", " ", " ", "█", " ", " ", " ", " "},
- {" ", " ", " ", "█", " ", "█", "█", " ", "█", " ", " ", " "},
- {" ", " ", "█", " ", "█", " ", " ", "█", " ", "█", " ", " "}}
- Dim OpenLeggedSmall(,) As Char = {
- {" ", " ", " ", " ", " ", "█", "█", " ", " ", " ", " ", " "},
- {" ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " "},
- {" ", " ", " ", "█", "█", "█", "█", "█", "█", " ", " ", " "},
- {" ", " ", "█", "█", " ", "█", "█", " ", "█", "█", " ", " "},
- {" ", " ", "█", "█", "█", "█", "█", "█", "█", "█", " ", " "},
- {" ", " ", " ", "█", " ", "█", "█", " ", "█", " ", " ", " "},
- {" ", " ", "█", " ", " ", " ", " ", " ", " ", "█", " ", " "},
- {" ", " ", " ", "█", " ", " ", " ", " ", "█", " ", " ", " "}}
- Dim OpenLeggedMedium(,) As Char = {
- {" ", " ", "█", " ", " ", " ", " ", " ", "█", " ", " ", " "},
- {"█", " ", " ", "█", " ", " ", " ", "█", " ", " ", "█", " "},
- {"█", " ", "█", "█", "█", "█", "█", "█", "█", " ", "█", " "},
- {"█", "█", "█", " ", "█", "█", "█", " ", "█", "█", "█", " "},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
- {" ", "█", "█", "█", "█", "█", "█", "█", "█", "█", " ", " "},
- {" ", " ", "█", " ", " ", " ", " ", " ", "█", " ", " ", " "},
- {" ", "█", " ", " ", " ", " ", " ", " ", " ", "█", " ", " "}}
- Dim OpenLeggedChunky(,) As Char = {{" ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " "},
- {" ", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
- {"█", "█", "█", " ", " ", "█", "█", " ", " ", "█", "█", "█"},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
- {" ", " ", " ", "█", "█", " ", " ", "█", "█", " ", " ", " "},
- {" ", " ", "█", "█", " ", "█", "█", " ", "█", "█", " ", " "},
- {"█", "█", " ", " ", " ", " ", " ", " ", " ", " ", "█", "█"}}
- Dim ClosedLeggedChunky(,) As Char = {{" ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " "},
- {" ", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
- {"█", "█", "█", " ", " ", "█", "█", " ", " ", "█", "█", "█"},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
- {" ", " ", "█", "█", "█", " ", " ", "█", "█", "█", " ", " "},
- {" ", "█", "█", " ", " ", "█", "█", " ", " ", "█", "█", " "},
- {" ", " ", "█", "█", " ", " ", " ", " ", "█", "█", " ", " "}}
- Dim ClosedLeggedMedium(,) As Char = {{" ", " ", "█", " ", " ", " ", " ", " ", "█", " ", " ", " "},
- {" ", " ", " ", "█", " ", " ", " ", "█", " ", " ", " ", " "},
- {" ", " ", "█", "█", "█", "█", "█", "█", "█", " ", " ", " "},
- {" ", "█", "█", " ", "█", "█", "█", " ", "█", "█", " ", " "},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
- {"█", " ", "█", "█", "█", "█", "█", "█", "█", " ", "█", " "},
- {"█", " ", "█", " ", " ", " ", " ", " ", "█", " ", "█", " "},
- {" ", " ", " ", "█", "█", " ", "█", "█", " ", " ", " ", " "}}
- Dim PlayerShip(,) As Char = {{" ", " ", " ", " ", " ", " ", "█", " ", " ", " ", " ", " ", " "},
- {" ", " ", " ", " ", " ", "█", "█", "█", " ", " ", " ", " ", " "},
- {" ", " ", " ", " ", " ", "█", "█", "█", " ", " ", " ", " ", " "},
- {" ", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"}}
- Dim UFO(,) As Char = {
- {" ", " ", " ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " ", " ", " "},
- {" ", " ", " ", " ", "█", "█", "█", "█", "█", "█", "█", "█", " ", " ", " ", " "},
- {" ", " ", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " ", " "},
- {" ", "█", "█", " ", "█", "█", " ", "█", "█", " ", "█", "█", " ", "█", "█", " "},
- {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
- {" ", " ", "█", "█", "█", " ", "█", "█", "█", "█", " ", "█", "█", "█", " ", " "},
- {" ", " ", " ", "█", " ", " ", " ", " ", " ", " ", " ", " ", "█", " ", " ", " "}}
- Sub Main()
- Dim MoveInvaders As New Threading.Thread(AddressOf TheThread1)
- Dim MoveShip As New Threading.Thread(AddressOf MoveMyShip)
- Console.CursorVisible = False
- Console.ForegroundColor = ConsoleColor.White
- Console.SetBufferSize(WindowWidth, WindowHeight)
- Console.SetWindowSize(WindowWidth, WindowHeight)
- MoveInvaders.Start()
- MoveShip.Start()
- Console.ReadLine()
- End Sub
- Sub DoTheRows(looper As Integer, counter As Integer, legcounter As Integer)
- If legcounter Mod 2 = 0 Then
- RowOfAliens(XStartArray, looper, 5 + counter, OpenLeggedSmall, WorldMap)
- RowOfAliens(XStartArray, looper, 20 + counter, OpenLeggedMedium, WorldMap)
- RowOfAliens(XStartArray, looper, 35 + counter, OpenLeggedMedium, WorldMap)
- RowOfAliens(XStartArray, looper, 50 + counter, OpenLeggedChunky, WorldMap)
- RowOfAliens(XStartArray, looper, 65 + counter, OpenLeggedChunky, WorldMap)
- Else
- RowOfAliens(XStartArray, looper, 5 + counter, ClosedLeggedSmall, WorldMap)
- RowOfAliens(XStartArray, looper, 20 + counter, ClosedLeggedMedium, WorldMap)
- RowOfAliens(XStartArray, looper, 35 + counter, ClosedLeggedMedium, WorldMap)
- RowOfAliens(XStartArray, looper, 50 + counter, ClosedLeggedChunky, WorldMap)
- RowOfAliens(XStartArray, looper, 65 + counter, ClosedLeggedChunky, WorldMap)
- End If
- End Sub
- Sub TheThread1()
- Dim counter As Integer = 0
- Dim LegCounter As Integer
- Do
- For looper = -5 To 7
- DoTheRows(looper, counter, LegCounter)
- WorldString = ""
- WorldString = MapToString(WorldString, WorldMap, WindowHeight - 10, WindowWidth - 1)
- Console.SetCursorPosition(0, 0)
- Console.Write(WorldString)
- Threading.Thread.Sleep(500)
- ClearTheMap(WorldMap, WindowHeight - 10, WindowWidth - 1)
- LegCounter += 1
- Next
- counter += 1
- For looper = 7 To -5 Step -1
- DoTheRows(looper, counter, LegCounter)
- WorldString = ""
- WorldString = MapToString(WorldString, WorldMap, WindowHeight - 10, WindowWidth - 1)
- Console.SetCursorPosition(0, 0)
- Console.Write(WorldString)
- Threading.Thread.Sleep(500)
- ClearTheMap(WorldMap, WindowHeight - 10, WindowWidth - 1)
- LegCounter += 1
- Next
- counter += 1
- Loop
- End Sub
- Sub RowOfAliens(Xstart As Integer(), Adder As Integer, Ystart As Integer, Invader As Char(,), worldMap As Char(,))
- For looper = 0 To 6
- AddSpriteToMap(Xstart(looper) + Adder, Ystart, Invader, worldMap, 7, 11)
- Next
- End Sub
- Sub ClearTheMap(MyMap As Char(,), Height As Integer, width As Integer)
- For looper = 0 To Height
- For looper2 = 0 To width
- MyMap(looper, looper2) = " "
- Next
- Next
- End Sub
- Sub AddSpriteToMap(XStart As Integer, YStart As Integer, Sprite As Char(,), MyMap As Char(,), Height As Integer, Width As Integer)
- For looper = 0 To Width
- For looper2 = 0 To Height
- If Sprite(looper2, looper) = " " Then
- MyMap(YStart + looper2, XStart + looper) = " "
- Else
- MyMap(YStart + looper2, XStart + looper) = "█"
- End If
- Next
- Next
- End Sub
- Function MapToString(MyString As String, MyMap(,) As Char, Height As Integer, Width As Integer) As String
- For looperX = 0 To Height
- For looperY = 0 To Width
- If looperY = Height Then
- MyString = MyString & vbCrLf
- Else
- MyString = MyString & MyMap(looperX, looperY)
- End If
- Next
- Next
- Return MyString
- End Function
- Function MoveMyShip()
- Dim ystart As Integer = WindowHeight - 8
- Dim XStart As Integer = (WindowWidth / 2) - 6
- Dim Input As ConsoleKey
- Do
- Input = GetUserInput()
- If Input = ConsoleKey.LeftArrow Then
- XStart -= 1
- End If
- If Input = ConsoleKey.RightArrow Then
- XStart += 1
- End If
- ClearTheMap(ShipMap, 8, WindowWidth - 1)
- AddSpriteToMap(XStart, 0, PlayerShip, ShipMap, 7, 12)
- Console.SetCursorPosition(0, ystart)
- ShipString = MapToString(ShipString, ShipMap, 7, WindowWidth - 1)
- Console.Write(ShipString)
- ShipString = ""
- Loop
- End Function
- Sub AddShipToShipMap()
- End Sub
- Function GetUserInput() As ConsoleKey
- Dim Input As ConsoleKey
- Do Until Input = ConsoleKey.LeftArrow Or Input = ConsoleKey.RightArrow
- Input = Console.ReadKey(True).Key
- Loop
- Threading.Thread.Sleep(500)
- Return ConsoleKey.LeftArrow
- End Function
- End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement