Código simple para hacer La Quiniela (VBScript,VB, VB.Net, C#)

Iniciado por okik, 10 Diciembre 2016, 15:43 PM

0 Miembros y 1 Visitante están viendo este tema.

okik

Hola amigos

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

   
        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 apuesta columna.

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:

   
        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 (vb) [Seleccionar]

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 (vbnet) [Seleccionar]
 
        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 (csharp) [Seleccionar]

            string[] Signo = { "1", "X", "2" };
           string[] P15 = new string[3];
           string[] Var = new string[15];
           Random Rand = new Random();
           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  :xD. 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  :D




Personalmente considero que las Loterías y Apuestas del Estados son invento para recaudar dinero y quitárselo a los pobres.