Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Structure TileStructure
- Dim FlagIndex As Integer
- Dim Flipped As Boolean
- Dim Matched As Boolean
- Dim TileRef As PictureBox
- Public Sub Reset()
- FlagIndex = -1
- Flipped = False
- Matched = False
- End Sub
- End Structure
- Dim Tile(16) As TileStructure
- Const UNASSIGNED = -1
- Const EARTH = 8
- Dim iLastFlipped As Integer
- Dim iNumFlipped As Integer
- Private Sub btnExit_Click(sender As System.Object, e As System.EventArgs) Handles btnExit.Click
- Me.Close()
- End Sub
- Private Sub btnStart_Click(sender As System.Object, e As System.EventArgs) Handles btnStart.Click
- Dim i, iPos, iFlag As Integer
- Dim iIndex(16), iIndexLimit As Integer
- For i = 0 To 15
- Tile(i).TileRef.Image = ImageList1.Images(EARTH)
- Tile(i).Reset()
- iIndex(i) = i
- Next i
- iLastFlipped = UNASSIGNED
- iNumFlipped = 0
- iIndexLimit = 16
- For iFlag = 0 To 7
- iPos = Int(Rnd() * iIndexLimit)
- Tile(iIndex(iPos)).FlagIndex = iFlag
- For i = iPos To iIndexLimit - 2
- iIndex(i) = iIndex(i + 1)
- Next i
- iIndexLimit -= 1
- iPos = Int(Rnd() * iIndexLimit)
- Tile(iIndex(iPos)).FlagIndex = iFlag
- For i = iPos To iIndexLimit - 2
- iIndex(i) = iIndex(i + 1)
- Next i
- iIndexLimit -= 1
- Next iFlag
- End Sub
- Private Sub frmProj12_Load(sender As Object, e As System.EventArgs) Handles Me.Load
- Tile(0).TileRef = picTile0
- Tile(1).TileRef = picTile1
- Tile(2).TileRef = picTile2
- Tile(3).TileRef = picTile3
- Tile(4).TileRef = picTile4
- Tile(5).TileRef = picTile5
- Tile(6).TileRef = picTile6
- Tile(7).TileRef = picTile7
- Tile(8).TileRef = picTile8
- Tile(9).TileRef = picTile9
- Tile(10).TileRef = picTile10
- Tile(11).TileRef = picTile11
- Tile(12).TileRef = picTile12
- Tile(13).TileRef = picTile13
- Tile(14).TileRef = picTile14
- Tile(15).TileRef = picTile14
- Randomize()
- End Sub
- Private Sub TileClicked(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) Handles _
- picTile0.Click, picTile1.Click, picTile2.Click, picTile3.Click, _
- picTile4.Click, picTile5.Click, picTile6.Click, picTile7.Click, _
- picTile8.Click, picTile9.Click, picTile10.Click, picTile11.Click, _
- picTile12.Click, picTile13.Click, picTile14.Click, picTile15.Click
- Dim picBox As PictureBox
- Dim i, Index As Integer
- picBox = sender
- Index = CInt(picBox.Tag)
- If Tile(Index).Flipped = False Then
- End If
- Tile(Index).TileRef.Image =
- ImageList1.Images(Tile(Index).FlagIndex)
- Tile(Index).Flipped = True
- iNumFlipped += 1
- Select Case iNumFlipped
- Case 1
- iLastFlipped = Index
- Case 2
- If Tile(Index).FlagIndex = Tile(iLastFlipped).FlagIndex Then
- Tile(Index).Matched = True
- Tile(iLastFlipped).Matched = True
- iLastFlipped = UNASSIGNED
- End If
- Case 3
- iLastFlipped = Index
- iNumFlipped = 1
- For i = 0 To 15
- If Tile(i).Matched = False And i <> Index Then
- Tile(i).Flipped = False
- Tile(i).TileRef.Image = ImageList1.Images(EARTH)
- End If
- Next
- End Select
- End Sub
- End Class
Add Comment
Please, Sign In to add comment