SE-ENTÃO: Criando um jogo de Jackpot

Todos nós de certa forma estamos familiarizados com as expressões raciocínio lógico, pensamento lógico ou conclusão lógica. Naturalmente que cada um de nós tentará explicar estas expressões da sua própria forma. Mas possivelmente todas as explicações tenderão a chegar a um mesmo entendimento. Ou seja, serão diferentes formas de expressar a mesma ideia.

 A preocupação com o pensamento, raciocínio e linguagem vem de a muito tempo. Não podemos atribuir a nenhum ser humano a criação da linguagem, do raciocínio, ou mesmo da lógica. São elementos que fazem parte da nossa constituição humana. Entretanto podemos identificar algumas pessoas que de forma proeminente se dedicaram ao seu estudo. Aristóteles foi uma delas.

Seu trabalho sobre a lógica formal foi muito importante para o desenvolvimento de estudos na área da argumentação, matemática e computação. Os argumentos SE-ENTÃO, também conhecidos como argumentos condicionais ou silogismos hipotéticos são a base da lógica dedutiva.

SE p ENTÃO q, é a forma padrão de se representar um argumento SE-ENTÃO, onde p é conhecido como antecedente e q como consequente. Ou seja, q só acontece quando p é verdadeiro:

SE não chover (p) ENTÃO João vai ao trabalho (q).

João vai ao trabalho em consequência de p.

Esta estrutura lógica ajuda a concluir que:

João não foi ao trabalho, logo choveu.

Este pequeno exemplo nos ajuda visualizar como um argumento SE-ENTÃO pode ser empregado. Este tipo de argumento é amplamente utilizado em computação. Ele é muito utilizado na construção de circuitos elétricos que são a base do que chamamos de hardware. Também é amplamente utilizado pelas diversas linguagens de programação utilizadas para construção de programas ou software, essenciais para o funcionamento e operação do hardware.

Uma das coisas que torna um computador superior a uma calculadora comum é sua capacidade de tomar decisões. E isto é feito por meio do argumento SE-ENTÃO em uma estrutura de controle. Esta estrutura permite que um programa se ramifique em diferentes direções, executando diferentes instruções de acordo com resultado de um teste específico.

Em Python usamos IF para criar esta estrutura de controle. Veja o exemplo abaixo:

if RENDA > 5000:
  print("Credito aprovado")

Observe no exemplo dado que o consequente (q), neste caso ter o crédito aprovado, depende a renda seja maior do que cinco mil, esta condição que verifica a renda é o antecedente (p).  Este tipo de estrutura de controle condicional com o uso de IF, onde o programa decide seguir numa direção ou outra é muito comum.

Este programa pode ser melhorado com o uso de IF-ELSE, que determina que um bloco de comando ou outro seja executado de acordo com a condição. Veja o exemplo abaixo:

if RENDA > 5000:
  print("Credito aprovado")
else:
  print("Credito reprovado")

No caso deste segundo exemplo, se a condição RENDA > 5000 for verdadeira, então a mensagem “Crédito aprovado” é impressa, caso contrário é impresso a mensagem “Crédito reprovado”.

Em Python é possível usar o comando IF de diversas maneiras e combinar o uso de condições com operadores para torná-lo mais eficiente.

Vamos criar um pequeno jogo de Jackpot para exemplificar isto. O nosso jogo segue as seguintes regras:

  • Você inicia com um crédito de R$ 10,00
  • Você precisar puxar a manivela da máquina para girar 3 roletas internas
  • Cada uma das roletas possui 6 frutas
  • O resultado de cada uma das roletas é mostrado no painel da máquina, são três mostradores
  • Se ao término do giro das roletas cada um dos mostradores do painel mostrar a mesma fruta você ganha mais R$ 10,00
  • No caso de os dois primeiros mostradores ou os dois últimos mostradores do painel mostrarem a mesma fruta você ganha R$ 2,00
  • Caso cada um dos mostradores mostrem uma fruta diferente você perde R$ 1,00

Segue abaixo o código final do jogo. Observe que estamos fazendo uso da biblioteca random que foi discutida num outro artigo.

import random

credito = 10
jogar = True
frutas = ["laranja","abacaxi","morango","uva","banana","melancia"]

while jogar:
  
  m1 = random.choice(frutas)
  m2 = random.choice(frutas)
  m3 = random.choice(frutas)
  
  print("Creditos:",credito)
  print("--------------------")
  print(m1,m2,m3)
  print("--------------------")

  if m1 == m2 and m2 == m3:
    print("Uau! Voce bateu o Jackpot e ganhou +R$10,00")
    credito+=10
  elif (m1 == m2 or m2 == m3) and m1 <> m3:
    print("Parabens! Voce ganhou +R$2,00")
    credito+=2
  else:
    print("Sem sorte desta vez! Voce perdeu -R$1,00")
    credito-=1
    
  if credito <= 0 or input("Deseja jogar mais uma rodada S/N?") not in "Ss":
    jogar = False

print("Fim de Jogo")
print("Total-->",credito)

Aproveite para testar o programa no meu ambiente Python e fazer as modificações que quiser. Se ainda não conhece a linguagem Python e gostaria de aprender, dê uma olhada no meu curso Formação Desenvolvedor Python.