Advertisement
Guest User

Untitled

a guest
Jan 20th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.54 KB | None | 0 0
  1. Module Module1
  2. Dim WindowHeight As Integer = Console.LargestWindowHeight - 1
  3. Dim WindowWidth As Integer = 128
  4. Dim WorldMap(WindowHeight - 9, WindowWidth) As Char
  5. Dim ShipMap(8, WindowWidth) As Char
  6. Dim ShipString As String
  7. Dim WorldString As String
  8. Dim XStartArray() As Integer = {12, 27, 42, 57, 72, 87, 102}
  9. Dim ClosedLeggedSmall(,) As Char = {
  10. {" ", " ", " ", " ", " ", "█", "█", " ", " ", " ", " ", " "},
  11. {" ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " "},
  12. {" ", " ", " ", "█", "█", "█", "█", "█", "█", " ", " ", " "},
  13. {" ", " ", "█", "█", " ", "█", "█", " ", "█", "█", " ", " "},
  14. {" ", " ", "█", "█", "█", "█", "█", "█", "█", "█", " ", " "},
  15. {" ", " ", " ", " ", "█", " ", " ", "█", " ", " ", " ", " "},
  16. {" ", " ", " ", "█", " ", "█", "█", " ", "█", " ", " ", " "},
  17. {" ", " ", "█", " ", "█", " ", " ", "█", " ", "█", " ", " "}}
  18. Dim OpenLeggedSmall(,) As Char = {
  19. {" ", " ", " ", " ", " ", "█", "█", " ", " ", " ", " ", " "},
  20. {" ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " "},
  21. {" ", " ", " ", "█", "█", "█", "█", "█", "█", " ", " ", " "},
  22. {" ", " ", "█", "█", " ", "█", "█", " ", "█", "█", " ", " "},
  23. {" ", " ", "█", "█", "█", "█", "█", "█", "█", "█", " ", " "},
  24. {" ", " ", " ", "█", " ", "█", "█", " ", "█", " ", " ", " "},
  25. {" ", " ", "█", " ", " ", " ", " ", " ", " ", "█", " ", " "},
  26. {" ", " ", " ", "█", " ", " ", " ", " ", "█", " ", " ", " "}}
  27. Dim OpenLeggedMedium(,) As Char = {
  28. {" ", " ", "█", " ", " ", " ", " ", " ", "█", " ", " ", " "},
  29. {"█", " ", " ", "█", " ", " ", " ", "█", " ", " ", "█", " "},
  30. {"█", " ", "█", "█", "█", "█", "█", "█", "█", " ", "█", " "},
  31. {"█", "█", "█", " ", "█", "█", "█", " ", "█", "█", "█", " "},
  32. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
  33. {" ", "█", "█", "█", "█", "█", "█", "█", "█", "█", " ", " "},
  34. {" ", " ", "█", " ", " ", " ", " ", " ", "█", " ", " ", " "},
  35. {" ", "█", " ", " ", " ", " ", " ", " ", " ", "█", " ", " "}}
  36. Dim OpenLeggedChunky(,) As Char = {{" ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " "},
  37. {" ", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
  38. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
  39. {"█", "█", "█", " ", " ", "█", "█", " ", " ", "█", "█", "█"},
  40. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
  41. {" ", " ", " ", "█", "█", " ", " ", "█", "█", " ", " ", " "},
  42. {" ", " ", "█", "█", " ", "█", "█", " ", "█", "█", " ", " "},
  43. {"█", "█", " ", " ", " ", " ", " ", " ", " ", " ", "█", "█"}}
  44. Dim ClosedLeggedChunky(,) As Char = {{" ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " "},
  45. {" ", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
  46. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
  47. {"█", "█", "█", " ", " ", "█", "█", " ", " ", "█", "█", "█"},
  48. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
  49. {" ", " ", "█", "█", "█", " ", " ", "█", "█", "█", " ", " "},
  50. {" ", "█", "█", " ", " ", "█", "█", " ", " ", "█", "█", " "},
  51. {" ", " ", "█", "█", " ", " ", " ", " ", "█", "█", " ", " "}}
  52. Dim ClosedLeggedMedium(,) As Char = {{" ", " ", "█", " ", " ", " ", " ", " ", "█", " ", " ", " "},
  53. {" ", " ", " ", "█", " ", " ", " ", "█", " ", " ", " ", " "},
  54. {" ", " ", "█", "█", "█", "█", "█", "█", "█", " ", " ", " "},
  55. {" ", "█", "█", " ", "█", "█", "█", " ", "█", "█", " ", " "},
  56. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
  57. {"█", " ", "█", "█", "█", "█", "█", "█", "█", " ", "█", " "},
  58. {"█", " ", "█", " ", " ", " ", " ", " ", "█", " ", "█", " "},
  59. {" ", " ", " ", "█", "█", " ", "█", "█", " ", " ", " ", " "}}
  60. Dim PlayerShip(,) As Char = {{" ", " ", " ", " ", " ", " ", "█", " ", " ", " ", " ", " ", " "},
  61. {" ", " ", " ", " ", " ", "█", "█", "█", " ", " ", " ", " ", " "},
  62. {" ", " ", " ", " ", " ", "█", "█", "█", " ", " ", " ", " ", " "},
  63. {" ", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " "},
  64. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
  65. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
  66. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
  67. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"}}
  68. Dim UFO(,) As Char = {
  69. {" ", " ", " ", " ", " ", " ", "█", "█", "█", "█", " ", " ", " ", " ", " ", " "},
  70. {" ", " ", " ", " ", "█", "█", "█", "█", "█", "█", "█", "█", " ", " ", " ", " "},
  71. {" ", " ", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", " ", " "},
  72. {" ", "█", "█", " ", "█", "█", " ", "█", "█", " ", "█", "█", " ", "█", "█", " "},
  73. {"█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█", "█"},
  74. {" ", " ", "█", "█", "█", " ", "█", "█", "█", "█", " ", "█", "█", "█", " ", " "},
  75. {" ", " ", " ", "█", " ", " ", " ", " ", " ", " ", " ", " ", "█", " ", " ", " "}}
  76. Sub Main()
  77. Dim MoveInvaders As New Threading.Thread(AddressOf TheThread1)
  78. Dim MoveShip As New Threading.Thread(AddressOf MoveMyShip)
  79. Console.CursorVisible = False
  80.  
  81.  
  82. Console.ForegroundColor = ConsoleColor.White
  83.  
  84. Console.SetBufferSize(WindowWidth, WindowHeight)
  85. Console.SetWindowSize(WindowWidth, WindowHeight)
  86. MoveInvaders.Start()
  87. MoveShip.Start()
  88. Console.ReadLine()
  89. End Sub
  90. Sub DoTheRows(looper As Integer, counter As Integer, legcounter As Integer)
  91. If legcounter Mod 2 = 0 Then
  92. RowOfAliens(XStartArray, looper, 5 + counter, OpenLeggedSmall, WorldMap)
  93. RowOfAliens(XStartArray, looper, 20 + counter, OpenLeggedMedium, WorldMap)
  94. RowOfAliens(XStartArray, looper, 35 + counter, OpenLeggedMedium, WorldMap)
  95. RowOfAliens(XStartArray, looper, 50 + counter, OpenLeggedChunky, WorldMap)
  96. RowOfAliens(XStartArray, looper, 65 + counter, OpenLeggedChunky, WorldMap)
  97. Else
  98. RowOfAliens(XStartArray, looper, 5 + counter, ClosedLeggedSmall, WorldMap)
  99. RowOfAliens(XStartArray, looper, 20 + counter, ClosedLeggedMedium, WorldMap)
  100. RowOfAliens(XStartArray, looper, 35 + counter, ClosedLeggedMedium, WorldMap)
  101. RowOfAliens(XStartArray, looper, 50 + counter, ClosedLeggedChunky, WorldMap)
  102. RowOfAliens(XStartArray, looper, 65 + counter, ClosedLeggedChunky, WorldMap)
  103. End If
  104. End Sub
  105. Sub TheThread1()
  106. Dim counter As Integer = 0
  107. Dim LegCounter As Integer
  108. Do
  109. For looper = -5 To 7
  110. DoTheRows(looper, counter, LegCounter)
  111.  
  112. WorldString = ""
  113. WorldString = MapToString(WorldString, WorldMap, WindowHeight - 10, WindowWidth - 1)
  114. Console.SetCursorPosition(0, 0)
  115.  
  116. Console.Write(WorldString)
  117. Threading.Thread.Sleep(500)
  118. ClearTheMap(WorldMap, WindowHeight - 10, WindowWidth - 1)
  119. LegCounter += 1
  120. Next
  121. counter += 1
  122. For looper = 7 To -5 Step -1
  123. DoTheRows(looper, counter, LegCounter)
  124. WorldString = ""
  125. WorldString = MapToString(WorldString, WorldMap, WindowHeight - 10, WindowWidth - 1)
  126. Console.SetCursorPosition(0, 0)
  127.  
  128. Console.Write(WorldString)
  129. Threading.Thread.Sleep(500)
  130. ClearTheMap(WorldMap, WindowHeight - 10, WindowWidth - 1)
  131. LegCounter += 1
  132. Next
  133. counter += 1
  134. Loop
  135. End Sub
  136. Sub RowOfAliens(Xstart As Integer(), Adder As Integer, Ystart As Integer, Invader As Char(,), worldMap As Char(,))
  137. For looper = 0 To 6
  138. AddSpriteToMap(Xstart(looper) + Adder, Ystart, Invader, worldMap, 7, 11)
  139.  
  140. Next
  141. End Sub
  142. Sub ClearTheMap(MyMap As Char(,), Height As Integer, width As Integer)
  143. For looper = 0 To Height
  144. For looper2 = 0 To width
  145. MyMap(looper, looper2) = " "
  146. Next
  147. Next
  148.  
  149. End Sub
  150. Sub AddSpriteToMap(XStart As Integer, YStart As Integer, Sprite As Char(,), MyMap As Char(,), Height As Integer, Width As Integer)
  151. For looper = 0 To Width
  152. For looper2 = 0 To Height
  153. If Sprite(looper2, looper) = " " Then
  154. MyMap(YStart + looper2, XStart + looper) = " "
  155. Else
  156. MyMap(YStart + looper2, XStart + looper) = "█"
  157. End If
  158.  
  159. Next
  160. Next
  161. End Sub
  162. Function MapToString(MyString As String, MyMap(,) As Char, Height As Integer, Width As Integer) As String
  163. For looperX = 0 To Height
  164. For looperY = 0 To Width
  165. If looperY = Height Then
  166. MyString = MyString & vbCrLf
  167. Else
  168. MyString = MyString & MyMap(looperX, looperY)
  169. End If
  170. Next
  171. Next
  172. Return MyString
  173. End Function
  174. Function MoveMyShip()
  175. Dim ystart As Integer = WindowHeight - 8
  176. Dim XStart As Integer = (WindowWidth / 2) - 6
  177. Dim Input As ConsoleKey
  178. Do
  179. Input = GetUserInput()
  180.  
  181. If Input = ConsoleKey.LeftArrow Then
  182. XStart -= 1
  183. End If
  184. If Input = ConsoleKey.RightArrow Then
  185. XStart += 1
  186. End If
  187. ClearTheMap(ShipMap, 8, WindowWidth - 1)
  188. AddSpriteToMap(XStart, 0, PlayerShip, ShipMap, 7, 12)
  189. Console.SetCursorPosition(0, ystart)
  190. ShipString = MapToString(ShipString, ShipMap, 7, WindowWidth - 1)
  191. Console.Write(ShipString)
  192. ShipString = ""
  193. Loop
  194. End Function
  195. Sub AddShipToShipMap()
  196.  
  197.  
  198. End Sub
  199. Function GetUserInput() As ConsoleKey
  200. Dim Input As ConsoleKey
  201. Do Until Input = ConsoleKey.LeftArrow Or Input = ConsoleKey.RightArrow
  202. Input = Console.ReadKey(True).Key
  203. Loop
  204. Threading.Thread.Sleep(500)
  205. Return ConsoleKey.LeftArrow
  206. End Function
  207. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement