miércoles, 23 de julio de 2014

Groovy ... en ejemplos no. 3

Vamos hacer un sencillo ejemplo, consiste en simular el lanzamiento de 3 monedas, con dos caras: ÁGUILA y SOL.

Tres jóvenes lanzan (cada uno) una moneda, si todas son iguales nadie ganará. El ganador es quien tenga la moneda que cae con un resultado distinto a las otras dos.

Ejemplo.
          Juan   |     Miguel     |      Omar       |  Ganador
ÁGUILA           SOL            ÁGUILA            Miguel

Juan   |     Miguel     |      Omar       |  Ganador
                                       SOL           SOL            SOL           Nadie gana, las monedas son iguales

Una vez entendido el problema se procede a definir las variables y funciones.

Necesito definir a la moneda con dos caras:
def moneda=["SOL","AGUILA"]# índice 0 :SOL  , índice 1: AGUILA

También necesito una forma de generar un resultado aleatorio (SOL o ÁGUILA), para ello nenecitola clase Random  de Java
import java.util.Random

También necesito tres variables para guardar los resultados:
def juan=""
def miguel=""
def omar=""

¿Cómo genero al guardo el  resultado ?
def juan=moneda[new Random()nextInt(2)] //para que sea de 0 a 1

Finalmente tenemos:  aleatorio.groovy

import java.util.Random
//para limpiar pantalla, solo plataformas Linux
println "clear".execute().text

def moneda=["SOL","AGUILA"]
def juan=""
def miguel=""
def omar=""

println "Turno de Juan"

juan=moneda[new Random().nextInt(2)]
println "$juan"

println "Turno de Miguel:"
miguel=moneda[new Random().nextInt(2)]
println "$miguel"

println "Turno de Omar:"

omar=moneda[new Random().nextInt(2)]
println "$omar"

def ganador=""

if(juan.equals(miguel) && juan.equals(omar)){
    ganador="Las tres monedas son iguales, No hay ganador"
}else if(!juan.equals(miguel) && !juan.equals(omar)){
    ganador="El ganador es Juan"
}else if(!miguel.equals(omar) && !miguel.equals(juab)){
    ganador="El ganador es Miguel"
}else{
    ganador="El ganador es Omar"
}

println "$ganador"


Listo.

No hay comentarios:

Publicar un comentario

Vibe Coding (la programación vía IA): ¿el futuro de la programación?

Vibe Coding es un nuevo paradigma de programación, una nueva forma de crear código. Es un enfoque emergente en el desarrollo de sof...

Etiquetas

Archivo del blog