Advertisement
Arkaitz

UnaLolete

Mar 23rd, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Imports CapaClases
  2.  
  3. Public Class Form1
  4.     Private concurso As Concurso
  5.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  6.         Width = 620
  7.         For Each control As Control In GroupBox1.Controls
  8.  
  9.             Dim boton As Button = TryCast(control, Button)
  10.             boton.Enabled = False
  11.  
  12.  
  13.             boton.Text = ""
  14.         Next
  15.     End Sub
  16.  
  17.     Private Sub btnFin_Click(sender As Object, e As EventArgs) Handles btnFin.Click
  18.         Me.Close()
  19.     End Sub
  20.  
  21.  
  22.     Private Sub btnPremios_Click(sender As Object, e As EventArgs) Handles btnPremios.Click
  23.         Width = 850
  24.     End Sub
  25.  
  26.     Private Sub btnNoVer_Click(sender As Object, e As EventArgs) Handles btnNoVer.Click
  27.         Width = 620
  28.     End Sub
  29.  
  30.     Private Sub btnInicializar_Click(sender As Object, e As EventArgs) Handles btnInicializar.Click
  31.         concurso = New Concurso
  32.         Dim respuesta, respuesta2 As String
  33.         Dim random As New Random
  34.         Dim cajaRandom As Integer
  35.         Dim numeros() As Decimal = {}
  36.  
  37.         For i = 0 To 15
  38.             Do
  39.                 respuesta = InputBox("Introduce el premio número" & i + 1 & ControlChars.CrLf & "Debe ser un máximo de 16 premios")
  40.                 If respuesta = "" Then
  41.                     Exit For
  42.  
  43.                 End If
  44.                 If Not IsNumeric(respuesta) Then
  45.                     MessageBox.Show("Error, no es un número")
  46.                     respuesta2 = "Error"
  47.                 Else
  48.  
  49.                     respuesta2 = concurso.AñadirPremio(Decimal.Parse(respuesta))
  50.                     If respuesta2 <> "" Then
  51.                         MessageBox.Show(respuesta2)
  52.                     End If
  53.                 End If
  54.  
  55.             Loop Until respuesta2 = ""
  56.         Next
  57.         For i = 0 To concurso.Premios.Count - 1
  58.             Do
  59.  
  60.                 cajaRandom = random.Next(0, 31)
  61.                 GroupBox1.Controls(cajaRandom).Tag = concurso.Premios(i)
  62.                 lstPremios.Items.Add(concurso.Premios(i))
  63.             Loop While numeros.Contains(cajaRandom)
  64.             Array.Resize(numeros, numeros.Length + 1)
  65.             numeros(numeros.Length - 1) = cajaRandom
  66.         Next
  67.         Dim contador As Integer = 33
  68.         For Each control As Control In GroupBox1.Controls
  69.  
  70.             Dim boton As Button = TryCast(control, Button)
  71.             boton.Enabled = True
  72.  
  73.             contador = contador - 1
  74.             boton.Text = CType(contador, String)
  75.         Next
  76.     End Sub
  77.  
  78.     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
  79.         Dim boton As Button = TryCast(sender, Button)
  80.         If boton.Tag Is Nothing Then
  81.             boton.BackColor = Color.Crimson
  82.         Else
  83.             boton.BackColor = Color.Green
  84.             boton.Text = CType(boton.Tag, String) & "€"
  85.             MsgBox("El premio es de " & CType(boton.Tag, String) & "€")
  86.             lstPremios.Items.Remove(CType(boton.Tag, String))
  87.             lbl2.Text = CType(boton.Tag, String) & "€"
  88.  
  89.         End If
  90.     End Sub
  91.  
  92.     Private Sub btnPlantar_Click(sender As Object, e As EventArgs) Handles btnPlantar.Click
  93.  
  94.     End Sub
  95. End Class
  96. ---------------------------------------------------------------------------------------------------------------------------------
  97.                                                                 Clase:
  98.  
  99. Imports System.Collections.ObjectModel
  100.  
  101. Public Class Concurso
  102.  
  103.  
  104.     Private _Premios As New List(Of Decimal)
  105.     Public ReadOnly Property Premios As ReadOnlyCollection(Of Decimal)
  106.         Get
  107.             Return _Premios.AsReadOnly
  108.         End Get
  109.     End Property
  110.     Private _Max As Integer
  111.     Public Function AñadirPremio(ByVal premio As Decimal) As String
  112.         If premio < 1 Then
  113.             Return "Error, el premio no puede ser menor que 1"
  114.         End If
  115.         If premio > _Max Then
  116.             Return "Error, el premio no puede ser mayor que" & _Max
  117.         End If
  118.         If Premios.Contains(premio) Then
  119.             Return "Error, el premio ya está registrado"
  120.         End If
  121.  
  122.         _Premios.Add(premio)
  123.         Return ""
  124.  
  125.  
  126.     End Function
  127.  
  128.     Public Sub New()
  129.         Dim random As New Random
  130.         Dim numeroPremiado As Integer = random.Next(100, 999)
  131.         _Max = numeroPremiado
  132.     End Sub
  133. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement