Microsoft Small Basic

Program Listing: WKK365
'defino e inicializo algunas variables aquí
el = "local" 'equipo local
pjel = 1 ' partidos jugados en casa del equipo local
gfel = 1 'goles a favor en casa el equipo local
gcel = 1 ' goles en contra en casa del equipo local

ev = "visitante" 'equipo visitante
pjev = 1 'partidos jugados fuera del equipo visitante
gfev = 1 'goles a favor fuera del equipo visitante
gcev = 1 'goles en contra fuera del equipo visitante
'hasta aquí definir e inicializar algunas variables. Más abajo defino más

'GraphicsWindow.Show()
'GraphicsWindow.ShowMessage("Hola", "BasicFútbol - R.G.I.")
basicfutbol() 'ejecuto el proceso 'basicfutbol' que es el núcleo de la App

Sub basicfutbol
TextWindow.Clear()
TextWindow.WriteLine ("BIENVENIDO A LA APP 'BasicFútbol' - ROBERTO GARCÍA IRIARTE - 2018")
TextWindow.WriteLine ("")
TextWindow.WriteLine ("Introduce los datos que te pediré y te daré el resultado más probable del partido; dichos datos pueden encontrarse en:")
TextWindow.WriteLine ("http://www.marca.com/futbol/primera-division/clasificacion.html")
TextWindow.WriteLine ("NOTA: Los algoritmos que realiza esta App resultarán fiables tras al menos 5 partidos jugados por ambos equipos.")
TextWindow.WriteLine ("")
TextWindow.WriteLine ("Empecemos, dime el equipo que juega en casa...")
el = TextWindow.Read()
TextWindow.Write ("¿Y el equipo visitante que jugará en el campo del ")
TextWindow.Write (el)
TextWindow.WriteLine ("?")
ev = TextWindow.Read()
TextWindow.Write ("Ok, gracias... :-) Pues veamos en qué resultará el ")
TextWindow.Write (el)
TextWindow.Write (" - ")
TextWindow.Write (ev)
TextWindow.Write (". ¿Cuántos partidos lleva jugados el ")
TextWindow.Write (el)
TextWindow.WriteLine (" en su estadio?")
pjel = TextWindow.Read()
TextWindow.Write ("¿Y el ")
TextWindow.Write (ev)
TextWindow.WriteLine (" como visitante?")
pjev = TextWindow.Read()
TextWindow.Write ("¿Cuántos goles a favor en casa lleva el ")
TextWindow.Write (el)
TextWindow.WriteLine ("?")
gfel = TextWindow.Read()
TextWindow.WriteLine ("¿Y en contra? ¿Cuántos ha encajado como local?")
gcel = TextWindow.Read()
TextWindow.WriteLine ("")
TextWindow.Write ("Y para ir acabando, ¿cuántos goles a favor como visitante lleva el ")
TextWindow.Write (ev)
TextWindow.WriteLine ("?")
gfev = TextWindow.Read()
TextWindow.WriteLine ("¿y en contra? Ojo, simpre como visitante.")
gcev = TextWindow.Read()

'algoritmos
gfelpp = gfel/pjel 'defino una nueva variable (gfelpp) donde obtengo media de goles a favor por partido jugado del equipo local solo como local
gcelpp = gcel/pjel 'defino una nueva variable (gcelpp) donde obtengo media de goles en contra por partido del equipo local solo como local

gfevpp = gfev/pjev 'defino una nueva variable (gfevpp) donde obtengo media de goles a favor por partido del equipo visitante solo como visitante
gcevpp = gcev/pjev 'defino una nueva variable (gcevpp) donde obtengo media de goles en contra por partido del equipo visitante solo como visitante

rgfel_decimales = (gfelpp + gcevpp) / 2 ' defino una nueva variable (rgfel_decimales) donde obtengo resultado de los goles que meterá el equipo local. Sumo gf del equipo local como local y gc del equipo visitante como visitante y divido entre 2.
rgfev_decimales = (gcelpp + gfevpp) / 2 ' defino una nueva variable (rgfev_decimales) donde obtengo resultado de los goles que meterá el equipo visitante. Sumo gf del equipo visitante como visitante y gc del equipo local como local y divido entre 2.

rgfel = Math.Round(rgfel_decimales) 'defino una nueva variable (rgfel) ya que como puede dar decimales, para dar un resultado real de partido de fútbol, redondeo. (p.ej. si da 2,4 o menos, quedará 2; si es 2,5 o más, quedará 3)
rgfev = Math.Round(rgfev_decimales) 'defino una nueva variable (rgfev) ya que como puede dar decimales, para dar un resultado real de partido de fútbol, redondeo. (p.ej. si da 2,4 o menos, quedará 2; si es 2,5 o más, quedará 3)

'fin algoritmos
TextWindow.Clear()
TextWindow.WriteLine ("BIENVENIDO A LA APP 'BasicFútbol' - ROBERTO GARCÍA IRIARTE - 2018")
TextWindow.WriteLine ("")
TextWindow.WriteLine ("Tras analizar los datos, paso a indicarte que el resultado será el siquiente:")
TextWindow.Write (el)
TextWindow.Write (" ")
TextWindow.Write (rgfel)
TextWindow.Write (" - ")
TextWindow.Write (ev)
TextWindow.Write (" ")
TextWindow.WriteLine (rgfev)
TextWindow.WriteLine ("")

If rgfel > rgfev Then 'pregunto si el resultado del equipo local es superior al del equipo visitante y, si es así, procedo:
TextWindow.Write ("Victoria por tanto del ")
TextWindow.Write (el)
TextWindow.WriteLine (" en su estadio. En la Quiniela sería un '1'.")
Else 'si el resultado del equipo local no es superior al del equipo visitante hago una nueva pregunta:
If rgfel = rgfev Then 'pregunto si el resultado de uno y de otro es igual y, si es así, procedo:
TextWindow.Write ("Partido muy igualado y que acabará en empate, una 'X' en la Quiniela.")
Else 'si tampoco es así, entonces necesariamente el resultado del equipo visitante es supeior al del local:
TextWindow.Write ("Derrota en su estadio del ")
TextWindow.Write (el)
TextWindow.Write (" ante el ")
TextWindow.Write (ev)
TextWindow.WriteLine (", por lo que has ir al '2' en la Quiniela.")
EndIf 'se cierra el segundo "if"
EndIf 'se cierra el primer "if"

TextWindow.WriteLine ("")
TextWindow.WriteLine ("¿Quieres pronóstico de otro partido?")
pregunta = TextWindow.Read()
If pregunta = "si" Or pregunta = "Si" Or pregunta = "sí" Or pregunta ="Sí" or pregunta = "s" or pregunta = "S" or pregunta = "SÍ" or pregunta = "SI" Then
basicfutbol()
Else
TextWindow.WriteLine ("")
TextWindow.WriteLine ("Muchas gracias por confiar en 'BasicFútbol'")
TextWindow.WriteLine ("roberto.garcia.iriarte@gmail.com")
EndIf
EndSub