Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports CapaClases
- Public Class Form1
- Private concurso As Concurso
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Width = 620
- For Each control As Control In GroupBox1.Controls
- Dim boton As Button = TryCast(control, Button)
- boton.Enabled = False
- boton.Text = ""
- Next
- End Sub
- Private Sub btnFin_Click(sender As Object, e As EventArgs) Handles btnFin.Click
- Me.Close()
- End Sub
- Private Sub btnPremios_Click(sender As Object, e As EventArgs) Handles btnPremios.Click
- Width = 850
- End Sub
- Private Sub btnNoVer_Click(sender As Object, e As EventArgs) Handles btnNoVer.Click
- Width = 620
- End Sub
- Private Sub btnInicializar_Click(sender As Object, e As EventArgs) Handles btnInicializar.Click
- concurso = New Concurso
- Dim respuesta, respuesta2 As String
- Dim random As New Random
- Dim cajaRandom As Integer
- Dim numeros() As Decimal = {}
- For i = 0 To 15
- Do
- respuesta = InputBox("Introduce el premio número" & i + 1 & ControlChars.CrLf & "Debe ser un máximo de 16 premios")
- If respuesta = "" Then
- Exit For
- End If
- If Not IsNumeric(respuesta) Then
- MessageBox.Show("Error, no es un número")
- respuesta2 = "Error"
- Else
- respuesta2 = concurso.AñadirPremio(Decimal.Parse(respuesta))
- If respuesta2 <> "" Then
- MessageBox.Show(respuesta2)
- End If
- End If
- Loop Until respuesta2 = ""
- Next
- For i = 0 To concurso.Premios.Count - 1
- Do
- cajaRandom = random.Next(0, 31)
- GroupBox1.Controls(cajaRandom).Tag = concurso.Premios(i)
- lstPremios.Items.Add(concurso.Premios(i))
- Loop While numeros.Contains(cajaRandom)
- Array.Resize(numeros, numeros.Length + 1)
- numeros(numeros.Length - 1) = cajaRandom
- Next
- Dim contador As Integer = 33
- For Each control As Control In GroupBox1.Controls
- Dim boton As Button = TryCast(control, Button)
- boton.Enabled = True
- contador = contador - 1
- boton.Text = CType(contador, String)
- Next
- End Sub
- Private Sub btn32_Click(sender As Object, e As EventArgs) Handles btn9.Click, btn8.Click, btn7.Click, btn6.Click, btn5.Click, btn4.Click, btn32.Click, btn31.Click, btn30.Click, btn3.Click, btn29.Click, btn28.Click, btn27.Click, btn26.Click, btn25.Click, btn24.Click, btn23.Click, btn22.Click, btn21.Click, btn20.Click, btn2.Click, btn19.Click, btn18.Click, btn17.Click, btn16.Click, btn15.Click, btn14.Click, btn13.Click, btn12.Click, btn11.Click, btn10.Click, btn1.Click
- Dim boton As Button = TryCast(sender, Button)
- If boton.Tag Is Nothing Then
- boton.BackColor = Color.Crimson
- Else
- boton.BackColor = Color.Green
- boton.Text = CType(boton.Tag, String) & "€"
- MsgBox("El premio es de " & CType(boton.Tag, String) & "€")
- lstPremios.Items.Remove(CType(boton.Tag, String))
- lbl2.Text = CType(boton.Tag, String) & "€"
- End If
- End Sub
- Private Sub btnPlantar_Click(sender As Object, e As EventArgs) Handles btnPlantar.Click
- End Sub
- End Class
- ---------------------------------------------------------------------------------------------------------------------------------
- Clase:
- Imports System.Collections.ObjectModel
- Public Class Concurso
- Private _Premios As New List(Of Decimal)
- Public ReadOnly Property Premios As ReadOnlyCollection(Of Decimal)
- Get
- Return _Premios.AsReadOnly
- End Get
- End Property
- Private _Max As Integer
- Public Function AñadirPremio(ByVal premio As Decimal) As String
- If premio < 1 Then
- Return "Error, el premio no puede ser menor que 1"
- End If
- If premio > _Max Then
- Return "Error, el premio no puede ser mayor que" & _Max
- End If
- If Premios.Contains(premio) Then
- Return "Error, el premio ya está registrado"
- End If
- _Premios.Add(premio)
- Return ""
- End Function
- Public Sub New()
- Dim random As New Random
- Dim numeroPremiado As Integer = random.Next(100, 999)
- _Max = numeroPremiado
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement