Un nuevo proyecto – Piedra, papel, tijera, lagarto, Spock

Bien, vamos a comenzar hoy un nuevo proyecto. Se trata de una versión ampliada del famoso piedra, papel y tijera, que todos hemos usado alguna vez. La lògica original es muy simple.El papel cubre la roca, la tijera corta el papel y la roca rompe la tijera. Aquì, al haber cinco posibles elecciones, es un poco màs complejo, pero no tanto. Vamos a auxiliarnos de siguiente esquema:
PPTLS

Como podemos ver, cada uno vence a los dos que tiene en sentido inverso a las agujas del reloj y le gana a los dos que tiene en sentido directo.Resumiendo,èstas son las posibles situaciones:
1-Tijera corta papel
2-Papel cubre piedra
3-Piedra mata lagarto
4-Lagarto envenena Spock
5-Spock rompe tijeras
6-Tijera decapita lagarto
7-Lagarto come papel
8-Papel desaprueba Spock
9-Spock vaporiza la piedra

Este proyecto forma parte del curso de Python que brinda coursera(https://www.coursera.org/course/interactivepython) y es una implementación en Gambas del mismo, y si bien se basa en las mismas reglas, la implementación es absolutamente distinta. Incluso en el curso, al ser el primer proyecto carece de interactividad y puntaje. O sea, que tomando como base su explicación, tomada casi en forma literal, vamos a arrancarlo en nuestro ide de manera independiente.
Para empezar, deberemos crear un procedimiento que en forma aleatoria realizará la elección por parte del PC. Y como esas variables las vamos a usar en todo el formulario, que además será el único, vamos a declararlas como private al principio del formulario para poder usarla en todos los procedimientos y funciones del mismo.

Private piedra As String
Private papel As String
Private tijera As String
Private lagarto As String
Private Spock As String
Private compu As String
Private n As Integer

Y este es el primer procedimiento a crear:

Public Sub elige()

n = Rnd(1, 6)
If n = 1 Then
compu = “Spock”
Else If n = 2 Then
compu = “lagarto”
Else If n = 3 Then
compu = “tijera”
Else If n = 4 Then
compu = “piedra”
Else If n = 5
compu = “papel”
End If

End

Donde n=Rnd nos elige al azar un número entre uno y cinco, y luego mientra una serie de condicionales if…then, else if…then, else….then, end if,asignamos a la variable compu la cadena correspondiente según el número sorteado.

Hasta el próximo post.

Anuncios
Esta entrada fue publicada en programación y etiquetada , , , . Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s