Comparto aquí un sencillísimo código para hacer La Quiniela. Se trata de un código que genera variaciones de la quiniela de forma aleatoria. Es lo mismo que esos artilugios con daditos 1, X, 2 que venden en estancos, librerías o quioscos.
Es una versión virtual de los dados. El programita muestra una ventana como esta:
Para usuarios sin conocimientos de programación
Tan sólo necesitas el Bloc de Notas de Windows:
- Abre el Bloc de Notas (notepad.exe)
- Copia y pega el siguiente código VBSCRIPT
Código:
Dim var(14)
Dim Rand
Dim Partido
Dim P15(2)
Randomize
For Partido = 1 To 14
Rand = CStr(Int(Rnd * 3))
Rand = Replace(Rand, "1", "X")
Rand = Replace(Rand, "0", "1")
var(Partido) = _
"Partido " _
& Right("00" & Partido, 2) _
& ":..... " _
& Rand
Next
For Partido = 1 To 2
Rand = CStr(Int(Rnd * 4))
P15(Partido) = Replace(Rand, "3", "M")
Next
MsgBox Join(var, vbCrLf) _
& vbCrLf & vbCrLf _
& "[P15]" & vbCrLf _
& "Equipo A: " & P15(1) _
& vbCrLf _
& "Equipo B: " & P15(2), _
vbOKOnly, _
"Mi Quiniela"
- Guarda con extensión *.VBS, por ejemplo miquiniela.vbs, haces doble clic sobre el archivo y ya tienes tu
Si has hecho alguna vez la quiniela sabrás que una apuesta consta de dos columnas. Este programa solo genera una columna por motivos estéticos. Para generar otra vuelve a hacer doble clic sobre el archivo VBS y generará otra distinta.
Existen 4782969 columnas posibles, así que es difícil que vuelva a salir otra idéntica.
Si deseas que genere las dos columnas usa este otro código:
Código:
Dim var(14)
Dim Rand1
Dim Rand2
Dim Partido
Dim P15(2)
Randomize
For Partido = 1 To 14
Rand1 = CStr(Int(Rnd * 3))
Rand1 = Replace(Rand1, "1", "X")
Rand1 = Replace(Rand1, "0", "1")
Rand2 = CStr(Int(Rnd * 3))
Rand2 = Replace(Rand2, "1", "X")
Rand2 = Replace(Rand2, "0", "1")
var(Partido) = _
"Partido " _
& Right("00" & Partido , 2) _
& ":..... " _
& Rand1 & vbTab _
& Right("00" & Partido , 2) _
& ":..... " & Rand2
Next
For Partido = 1 To 2
Rand = CStr(Int(Rnd * 4))
P15(Partido) = Replace(Rand, "3", "M")
Next
MsgBox Join(var, vbCrLf) _
& vbCrLf & vbCrLf _
& "[P15]" & vbCrLf _
& "Equipo A: " & P15(1) _
& vbCrLf _
& "Equipo B: " & P15(2), _
vbOKOnly, _
"Mi Quiniela"
Ejemplo de como se verá:
PARA VISUAL STUDIO
Aquí lo dejo en otros lenguajes de programación:
VB
Código
Dim var(14) As String, P15(2) As String Dim Rand As String Dim Partido As Integer Randomize For Partido = 1 To 14 Rand = CStr(Int(Rnd * 3)) Rand = Replace(Rand, "1", "X") Rand = Replace(Rand, "0", "1") var(Partido) = "Partido " & Right("00" & Partido, 2) _ & ":..... " & Rand Next For Partido = 1 To 2 Rand = CStr(Int(Rnd * 4)) P15(Partido) = Replace(Rand, "3", "M") Next MsgBox Join(var, vbCrLf) & vbCrLf & vbCrLf & _ "[P15]" & vbCrLf _ & "Equipo A: " _ & P15(1) & vbCrLf _ & "Equipo B: " _ & P15(2), , vbOKOnly, "Mi Quiniela"
VB.NET (Consola)
Código
Dim Signo() As String = {"1", "X", "2"} Dim P15(2) As String, Var(14) As String Dim Rand As New Random For Partido As Integer = 1 To 14 Var(Partido) = String.Format("Partido {0:00}:..... {1}", Partido, Signo(Rand.Next(0, 3))) Next For Partido As Integer = 1 To 2 P15(Partido) = (CStr(Rand.Next(0, 4)).Replace("3", "M")) Next Console.WriteLine(String.Format("{0}{1}{1}[P15]{1}Equipo A: {2}{1}Equipo B: {3}", String.Join(Environment.NewLine, Var), Environment.NewLine, P15(1), P15(2))) Console.ReadLine()
NET C# (Consola)
Código
string[] Signo = { "1", "X", "2" }; for (int Partido = 1; Partido <= 14; Partido++) { Var.SetValue(string.Format("Partido {0:00}:..... {1}", Partido, Signo[Rand.Next (0, 3)]), Partido); } for (int Partido = 1; Partido <= 2; Partido++) { P15.SetValue(Convert.ToString(Rand.Next(0, 4)).Replace("3", "M"), Partido); } Console.WriteLine(string.Format("{0}{1}{1}[P15]{1}Equipo A: {2}{1}Equipo B: {3}", string.Join(Environment.NewLine, Var), Environment.NewLine, P15[1], P15[2])); Console.ReadLine();
Citar
Advierto que es puramente aleatorio , este programa no hace milagros . Está pensado especialmente para personas que no sepan programar y quieran hacer la quinela al azar, como con los dados, pero usando el ordenador.
Pues nada, suerte y que toque
Personalmente considero que las Loterías y Apuestas del Estados son invento para recaudar dinero y quitárselo a los pobres.