Convert more functions to use card class
							parent
							
								
									c286b08521
								
							
						
					
					
						commit
						a368d0af41
					
				| 
						 | 
					@ -4,6 +4,8 @@
 | 
				
			||||||
    Private boxId As PictureBox
 | 
					    Private boxId As PictureBox
 | 
				
			||||||
    Private cardImage As Image
 | 
					    Private cardImage As Image
 | 
				
			||||||
    Private cardName As Tuple(Of String, String)
 | 
					    Private cardName As Tuple(Of String, String)
 | 
				
			||||||
 | 
					    Private cardSuit As String
 | 
				
			||||||
 | 
					    Private cardNumber as String
 | 
				
			||||||
    Private cardLocation As Point
 | 
					    Private cardLocation As Point
 | 
				
			||||||
    Private cardHidden As Boolean
 | 
					    Private cardHidden As Boolean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,6 +14,8 @@
 | 
				
			||||||
        idCounter += 1
 | 
					        idCounter += 1
 | 
				
			||||||
        boxId = New PictureBox()
 | 
					        boxId = New PictureBox()
 | 
				
			||||||
        cardName = name
 | 
					        cardName = name
 | 
				
			||||||
 | 
					        cardSuit = name.item1
 | 
				
			||||||
 | 
					        cardNumber = name.item2
 | 
				
			||||||
        cardHidden = hidden
 | 
					        cardHidden = hidden
 | 
				
			||||||
        cardImage = Utilities.GetCardImage(name, hidden)
 | 
					        cardImage = Utilities.GetCardImage(name, hidden)
 | 
				
			||||||
    End Sub
 | 
					    End Sub
 | 
				
			||||||
| 
						 | 
					@ -40,6 +44,13 @@
 | 
				
			||||||
        Return cardName
 | 
					        Return cardName
 | 
				
			||||||
    End Function
 | 
					    End Function
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Function GetSuit() As String
 | 
				
			||||||
 | 
					        Return cardSuit
 | 
				
			||||||
 | 
					    End Function
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Function GetNumber() As String
 | 
				
			||||||
 | 
					        Return cardNumber
 | 
				
			||||||
 | 
					    End Function
 | 
				
			||||||
    Public Function GetLocation()
 | 
					    Public Function GetLocation()
 | 
				
			||||||
        Return cardLocation
 | 
					        Return cardLocation
 | 
				
			||||||
    End Function
 | 
					    End Function
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Sub DealCard(playerDealt As Object, Optional hide As Boolean = False)
 | 
					    Sub DealCard(playerDealt As Object, Optional hide As Boolean = False)
 | 
				
			||||||
        Dim card As Tuple(Of String, String) = deck(0)
 | 
					        Dim card As Tuple(Of String, String) = deck(0)
 | 
				
			||||||
 | 
					        Dim playingCard = New Card(card, hide)
 | 
				
			||||||
        playerDealt.hand.Add(card)
 | 
					        playerDealt.hand.Add(card)
 | 
				
			||||||
        deck.RemoveAt(0)
 | 
					        deck.RemoveAt(0)
 | 
				
			||||||
        GetTotal(playerDealt, hide)
 | 
					        GetTotal(playerDealt, hide)
 | 
				
			||||||
| 
						 | 
					@ -47,7 +48,7 @@
 | 
				
			||||||
    End Sub
 | 
					    End Sub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Sub GetTotal(playerToCheck As Object, Optional hide As Boolean = False)
 | 
					    Sub GetTotal(playerToCheck As Object, Optional hide As Boolean = False)
 | 
				
			||||||
        Dim cards As List(Of Tuple(Of String, String)) = playerToCheck.hand
 | 
					        Dim cards As List(Of Card) = playerToCheck.hand
 | 
				
			||||||
        If cards.Count = 0 Then
 | 
					        If cards.Count = 0 Then
 | 
				
			||||||
            playerToCheck.total = 0
 | 
					            playerToCheck.total = 0
 | 
				
			||||||
            Return
 | 
					            Return
 | 
				
			||||||
| 
						 | 
					@ -55,7 +56,7 @@
 | 
				
			||||||
        Dim total = 0
 | 
					        Dim total = 0
 | 
				
			||||||
        Dim aceTotal = 0
 | 
					        Dim aceTotal = 0
 | 
				
			||||||
        For Each card In cards
 | 
					        For Each card In cards
 | 
				
			||||||
            Dim num As String = card.Item2
 | 
					            Dim num As String = card.GetNumber()
 | 
				
			||||||
            If num = "K" Or num = "Q" Or num = "J" Then
 | 
					            If num = "K" Or num = "Q" Or num = "J" Then
 | 
				
			||||||
                num = 10
 | 
					                num = 10
 | 
				
			||||||
            End If
 | 
					            End If
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,14 +27,14 @@
 | 
				
			||||||
        StartGame.Enabled = False
 | 
					        StartGame.Enabled = False
 | 
				
			||||||
    End Sub
 | 
					    End Sub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Private Sub OnCardDealt(card As Tuple(Of String, String), cardNumber As String, hide As Boolean) _
 | 
					    Private Sub OnCardDealt(card As Card, cardNumber As String, hide As Boolean) _
 | 
				
			||||||
        Handles game.CardDealt
 | 
					        Handles game.CardDealt
 | 
				
			||||||
        Dim pictureBox As PictureBox
 | 
					        Dim pictureBox As PictureBox
 | 
				
			||||||
        pictureBox = CType(Me.Controls.Find("PlayerCard" + cardNumber, True).First(), PictureBox)
 | 
					        pictureBox = CType(Me.Controls.Find("PlayerCard" + cardNumber, True).First(), PictureBox)
 | 
				
			||||||
        If hide Then
 | 
					        If hide Then
 | 
				
			||||||
            pictureBox.Image = My.Resources.blue
 | 
					            pictureBox.Image = My.Resources.blue
 | 
				
			||||||
        Else
 | 
					        Else
 | 
				
			||||||
            pictureBox.Image = Utilities.GetCardImage(card)
 | 
					            pictureBox.Image = Utilities.GetCardImage(Tuple.create(card.GetSuit(), card.GetNumber()))
 | 
				
			||||||
        End If
 | 
					        End If
 | 
				
			||||||
    End Sub
 | 
					    End Sub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
Public Class Player
 | 
					Public Class Player
 | 
				
			||||||
    Public Property hand As New List(Of Tuple(Of String, String))
 | 
					    Public Property hand As New List(Of Card)
 | 
				
			||||||
    Public Property total As Integer
 | 
					    Public Property total As Integer
 | 
				
			||||||
    Public Property ingame As Boolean
 | 
					    Public Property ingame As Boolean
 | 
				
			||||||
    Public Property winType As WinCondition
 | 
					    Public Property winType As WinCondition
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,50 @@
 | 
				
			||||||
 | 
					Public Class Card
 | 
				
			||||||
 | 
					    Private Shared idCounter As Integer = 1
 | 
				
			||||||
 | 
					    Private id As Integer
 | 
				
			||||||
 | 
					    Private boxId As PictureBox
 | 
				
			||||||
 | 
					    Private cardImage As Image
 | 
				
			||||||
 | 
					    Private cardName As Tuple(Of String, String)
 | 
				
			||||||
 | 
					    Private cardLocation As Point
 | 
				
			||||||
 | 
					    Private cardHidden As Boolean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Sub New(name As Tuple(Of String, String), Optional hidden As Boolean = False)
 | 
				
			||||||
 | 
					        id = idCounter
 | 
				
			||||||
 | 
					        idCounter += 1
 | 
				
			||||||
 | 
					        boxId = New PictureBox()
 | 
				
			||||||
 | 
					        cardName = name
 | 
				
			||||||
 | 
					        cardHidden = hidden
 | 
				
			||||||
 | 
					        cardImage = Utilities.GetCardImage(name, hidden)
 | 
				
			||||||
 | 
					    End Sub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Sub SetLocation(location As point)
 | 
				
			||||||
 | 
					        cardLocation = location
 | 
				
			||||||
 | 
					    End Sub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Sub SetName(name As Tuple(Of String, String))
 | 
				
			||||||
 | 
					        cardName = name
 | 
				
			||||||
 | 
					    End Sub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Sub SetHidden(hidden As Boolean)
 | 
				
			||||||
 | 
					        cardHidden = hidden
 | 
				
			||||||
 | 
					    End Sub
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Function GetId() As Integer
 | 
				
			||||||
 | 
					        Return id
 | 
				
			||||||
 | 
					    End Function
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Function GetBoxId() As PictureBox
 | 
				
			||||||
 | 
					        Return boxId
 | 
				
			||||||
 | 
					    End Function
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Function GetName() As Tuple(Of String, String)
 | 
				
			||||||
 | 
					        Return cardName
 | 
				
			||||||
 | 
					    End Function
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Function GetLocation() As Point
 | 
				
			||||||
 | 
					        Return cardLocation
 | 
				
			||||||
 | 
					    End Function
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Public Function IsHidden() As Boolean
 | 
				
			||||||
 | 
					        Return cardHidden
 | 
				
			||||||
 | 
					    End Function
 | 
				
			||||||
 | 
					End Class
 | 
				
			||||||
		Loading…
	
		Reference in New Issue