Advertisement
ssoni

spaceInvaders_notdone

May 31st, 2022
1,701
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 3.26 KB | None | 0 0
  1. Public Class Form1
  2.  
  3.     Public enemyList As New List(Of PictureBox)
  4.     Public fortressList As New List(Of PictureBox)
  5.     Public moveAmt As Integer
  6.     Public score As Integer
  7.  
  8.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  9.         Call initGame()
  10.  
  11.     End Sub
  12.  
  13.     Public Sub initGame()
  14.         moveAmt = 5
  15.         score = 0
  16.         lblScore.Text = score
  17.         picBullet.Visible = False
  18.  
  19.         enemyList.Add(picEnemy1)
  20.         enemyList.Add(picEnemy2)
  21.         enemyList.Add(picEnemy3)
  22.         enemyList.Add(picEnemy4)
  23.         enemyList.Add(picEnemy5)
  24.         enemyList.Add(picEnemy6)
  25.         enemyList.Add(picEnemy7)
  26.         enemyList.Add(picEnemy8)
  27.         enemyList.Add(picEnemy9)
  28.         enemyList.Add(picEnemy10)
  29.         enemyList.Add(picEnemy11)
  30.         enemyList.Add(picEnemy12)
  31.         enemyList.Add(picEnemy13)
  32.         enemyList.Add(picEnemy14)
  33.         enemyList.Add(picEnemy15)
  34.         enemyList.Add(picEnemy16)
  35.  
  36.         fortressList.Add(picFort1)
  37.         fortressList.Add(picFort2)
  38.         fortressList.Add(picFort3)
  39.         fortressList.Add(picFort4)
  40.  
  41.  
  42.     End Sub
  43.  
  44.     Private Sub picBullet_Click(sender As Object, e As EventArgs) Handles picBullet.Click
  45.  
  46.     End Sub
  47.  
  48.     Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
  49.  
  50.         'move ship
  51.         If e.KeyCode = Keys.Left Then
  52.             picShip.Left = picShip.Left - 3
  53.         ElseIf e.KeyCode = Keys.Right Then
  54.             picShip.Left = picShip.Left + 3
  55.         End If
  56.  
  57.         'dont refire the same bullet
  58.         If picBullet.Visible = True Then
  59.             Exit Sub
  60.         End If
  61.  
  62.         'fire bubble
  63.         If e.KeyCode = Keys.Space Then
  64.             picBullet.Visible = True
  65.             picBullet.Top = picShip.Top
  66.             picBullet.Left = picShip.Left + picShip.Width / 2 - picBullet.Width / 2
  67.         End If
  68.  
  69.     End Sub
  70.  
  71.     Private Sub tmrMoveBullet_Tick(sender As Object, e As EventArgs) Handles tmrMoveBullet.Tick
  72.  
  73.         'move bullet
  74.         If picBullet.Visible = True Then
  75.             picBullet.Top = picBullet.Top - 5
  76.         End If
  77.  
  78.         'hide bullet is missed
  79.         If picBullet.Top <= 0 Then
  80.             picBullet.Visible = False
  81.         End If
  82.  
  83.     End Sub
  84.  
  85.     Public Function detectHits(p1 As PictureBox, p2 As PictureBox) As Boolean
  86.         If ((p1.Left + p1.Width > p2.Left) And
  87.                 (p1.Left < p2.Left + p2.Width) And
  88.                 (p1.Top + p1.Height > p2.Top) And
  89.                 (p1.Top < p2.Top + p2.Height)) Then
  90.             Return True
  91.         Else
  92.             Return False
  93.         End If
  94.     End Function
  95.  
  96.     Private Sub tmrCollision_Tick(sender As Object, e As EventArgs) Handles tmrCollision.Tick
  97.         Dim p As PictureBox
  98.  
  99.         If picBullet.Visible = False Then
  100.             Exit Sub
  101.         End If
  102.  
  103.         For Each p In enemyList
  104.             If p.Visible = True Then
  105.                 If detectHits(picBullet, p) Then
  106.                     picBullet.Visible = False
  107.                     p.Visible = False
  108.                     score = score + 1
  109.                     lblscore.text = score
  110.                     'CHECK IF ROUND OVER
  111.                 End If
  112.             End If
  113.         Next
  114.  
  115.     End Sub
  116. End Class
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement