VISUAL STUDIO
~1~
7 Y MEDIO
VISUAL STUDIO
~2~
7 Y MEDIO
VISUAL STUDIO
~3~
Al comienzo del juego aparezca solo el botn Iniciar y al darle aparezca la primera carta del jugador:
Al pulsar el botn Iniciar, que aparezca la primera carta del jugador y los botones Otra Carta y Me Planto
7 Y MEDIO
VISUAL STUDIO
~4~
El segundo paso es que adems de mostrar la label de la primera carta del jugador que sale al darle a Inicio,
le asigne un valor de la baraja.
Creo una funcin que me cree una baraja en el array Dim Baraja(39) As String
Public Sub CrearBaraja()
'Cargo el array con las 40 cartas de la baraja
Dim numCarta As Integer = 0
For i As Integer = 0 To Baraja.GetUpperBound(0)
If numCarta > 10 Then
numCarta = 1
Baraja(i) = numCarta
Else
Baraja(i) = numCarta
End If
numCarta += 1
Next
End Sub
Hay que elegir una carta al azar de esa baraja. Para ello creo una variable Random.
Dim ValorAleatorio As New Random
7 Y MEDIO
~5~
VISUAL STUDIO
Ahora ya tengo la posicin del array de la baraja a la que quiero acceder. Slo me queda acceder al array y
asignar esa carta al Jugador. Para ello creo la siguiente funcin.
Public Function cogerCartaJugador(ByVal a As Integer)
' Funcion que recibe como parametro la posicion del array
' Extraigo el valor en esa posicion, acumulo y paso el valor a las labels
If Baraja(cartaElegida) <= 7 Then
Me.Controls("cartaJugador" & indiceCartaJugador.ToString()).Text
Baraja(cartaElegida)
PuntosJugador += Convert.ToInt16(Baraja(cartaElegida))
ElseIf Baraja(cartaElegida) = 8 Then
Me.Controls("cartaJugador" & indiceCartaJugador.ToString()).Text
PuntosJugador += 0.5
ElseIf Baraja(cartaElegida) = 9 Then
Me.Controls("cartaJugador" & indiceCartaJugador.ToString()).Text
"Caballo"
PuntosJugador += 0.5
ElseIf Baraja(cartaElegida) = 10 Then
Me.Controls("cartaJugador" & indiceCartaJugador.ToString()).Text
PuntosJugador += 0.5
End If
Return (PuntosJugador)
End Function
= "Sota"
=
= "Rey"
Adems de mostrarlo por pantalla guardo este valor puesto que me va a hacer falta posteriormente
para ir sumndole el valor de las siguientes tiradas.
El cdigo completo hasta este momento es el siguiente:
Public Class Form1
Dim Baraja(39) As String
Dim cartaElegida As Integer
Dim ValorAleatorio As New Random
Dim PuntosJugador As Double
Dim indiceCartaJugador, indiceCartaBanca As Integer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
'lblJugador.Text = InputBox("BIENVENIDO!. Introduzca su nombre:")
CrearBaraja()
End Sub
Public Sub CrearBaraja()
'Cargo el array con las 40 cartas de la baraja
Dim numCarta As Integer = 0
For i As Integer = 0 To Baraja.GetUpperBound(0)
If numCarta > 10 Then
numCarta = 1
Baraja(i) = numCarta
Else
Baraja(i) = numCarta
End If
numCarta += 1
Next
End Sub
Public Sub MostrarCartasBanca()
Me.Controls("cartaBanca" & indiceCartaBanca.ToString()).Visible = True
End Sub
7 Y MEDIO
~6~
VISUAL STUDIO
= "Sota"
=
= "Rey"
Llegados hasta este punto el usuario debe elegir si quiere otra carta o se planta.
Comenzamos por el caso de que pida otra carta:
Private Sub btnPedirCarta_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnPedirCarta.Click
indiceCartaJugador += 1
If indiceCartaJugador <= 5 Then
If PuntosJugador < 7.5 Then
cartaElegida = ValorAleatorio.Next(0, 39)
MostrarCartasJugador()
PuntosJugador = cogerCartaJugador(cartaElegida)
lblPuntosJugador.Text = PuntosJugador
Else
MsgBox("No tienes ms tiradas. HA GANADO LA BANCA")
End If
End If
End Sub
7 Y MEDIO
~7~
VISUAL STUDIO
CODIGO COMPLETO
= "Sota"
=
= "Rey"
7 Y MEDIO
~8~
VISUAL STUDIO
= "Sota"
= "Caballo"
= "Rey"
7 Y MEDIO
VISUAL STUDIO
~9~
7 Y MEDIO
VISUAL STUDIO
~ 10 ~