Skip to content

Um simples jogo de Pedra, Papel e tesoura criando em Python

Notifications You must be signed in to change notification settings

igorgp06/JoKenPo-v1.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Um simples jogo de Jo Ken Pô criado em python.

3027818-pedra-papel-tesoura-gesto-com-a-mao-gratis-vetor

Um jogo que usa como pricipal forma de sorteio o termo RANDINT da biblioteca RANDOM. E as funções IF, ELIF e ELSE para comparar as escolhas e decidir um vencedor.

Desenvoldido por Igorgp06.

Nova versão 2.0 em breve.

Como funciona?

  • Importe os termos básicos da biblioteca:

from random import randint
from time import sleep

Usaremos o RANDIT para fazer a máquina escolher um item aleatório dentro da lista que mostrarei a seguir. O termo SLEEP serve como uma decoração, dando uma certa imersão ao jogo, isto o torna um elemento opcional ao nosso código, fica ao seu críterio alterá-lo ou não.

  • Defina uma váriavel para cores:

cor = {'nocolor': '\033[m',
       'preto': '\033[30m',
       'vermlho': '\033[31m',
       'azul': '\033[34m',
       'verde': '\033[32m',
       'amarelo': '\033[33m',
       'branco': '\033[97m',
       'roxo': '\033[35m'}

Aqui atribuimos uma váriavel COR, ela será responsável por fazer com que nosso programa fique mais organizado e visualmente bonito.

  • Definina as funções básicas, sendo elas:

opcoes = ('Pedra', 'Papel', 'Tesoura')
escolhas = randint(0, 2)

Atribuimos as opções a uma lista e em seguida fazemos com que as escolhas escolham aleatóriamente um item dentro desta mesma lista.

  • Atribua váriaveis para encurtar o código:

empate = f'\033[1m{cor["amarelo"]}EMPATE{cor["nocolor"]}'
vitplayer = f'\033[1m{cor["verde"]}Você ganhou!{cor["nocolor"]}'
derrota = f'\033[1m{cor["vermlho"]}Você perdeu!{cor["nocolor"]}'
joginva = f'\033[1m{cor["vermlho"]}JOGADA INVÁLIDA!{cor["nocolor"]}'

Atribuimos diversas váriaveis a palavras que vamos usar mais para frente. Fazemos isto para que nosso código não tenha tanta poluição visual quando formos inserir cores em nosso algoritimo.

  • Apresente as escolhas que o jogador tem:

print(f"""\033[1mEscolha alguma destas opções para jogar:
[0] Pedra
[1] Papel
[2] Tesoura{cor['nocolor']}""")
player = int(input(f'Escreva aqui {cor["azul"]}sua escolha: {cor["nocolor"]}'))

Aqui atribuimos a váriavel PLAYER a um número que o jogador deverá escolher para jogar, ou seja, o número que o jogador escolher ficara salva dentro da veriável PLAYER.

  • Decoração usando o SLEEP:

print(f'\033[1mJO{cor["nocolor"]}')
sleep(0.7)
print(f'\033[1mKEN{cor["nocolor"]}')
sleep(0.7)
print(f'\033[1mPÔ{cor["nocolor"]}')

Parte decorativa que irá escrever o que foi designado no PRINT dentro de 0.7 segundos, isto ocorrerá duas vezes.

  • Apresente o que a máquina escolheu e o que o jogador escolheu:

print(f'{cor["roxo"]}-----{cor["nocolor"]}' * 10)
print(f'\033[1mO computador {cor["amarelo"]}escolheu {opcoes[escolhas]}{cor["nocolor"]}')
print(f'\033[1mO jogador {cor["azul"]}escolheu {opcoes[player]}{cor["nocolor"]}')
print(f'{cor["roxo"]}-----{cor["nocolor"]}' * 10)

Esta parte apresenta o que o jogador e a máquina escolheram em forma de Pedra, Papel ou Tesoura, isto só é possível se as váriaveis OPCOES e ESCOLHAS forem definidas corretamente. Caso contrário, o código não funcionária.

  • Sistema de escolhas usando IF, ELIF E ELSE:

if escolhas == 0:                # pedra
    if player == 0:
        print(empate)
    elif player == 1:
        print(vitplayer)
    elif player == 2:
        print(derrota)
    else:
        print(joginva)
elif escolhas == 1:              # papel
    if player == 0:
        print(derrota)
    elif player == 1:
        print(empate)
    elif player == 2:
        print(vitplayer)
    else:
        print(joginva)
elif escolhas == 2:              # tesoura
    if player == 0:
        print(vitplayer)
    elif player == 1:
        print(derrota)
    elif player == 2:
        print(empate)
    else:
        print(joginva)
else:
    print(joginva)

Aqui fuciona da seguinte maneira, a máquina escolheu um número, caso tenha sido o número 1 o segundo ELIF irá entrar em ação, comparando a escolha do jogador com as da máquina. Se o jogador tiver escolhido o número 0 ele irá perder, pois o número 0 tem a equivalência a PEDRA e como a máquina escolheu o número 1 que equivale ao PAPEL ela sairá vitoriosa. Agora se o jogador tivesse escolhido o número 2 que equivale a TESOURA ele teria ganhado da máquina, o mesmo se aplica para o resto do Sistemas de escolhas. Resumidamente, ele pega a jogada da máquina e compara com as do jogador, decidindo assim, quem ganhou e quem perdeu.

Como iniciar o programa:

Infelizmente a versão 1.0 do jogo não possui uma tela dedicada, ou seja, o jogo deve ser iniciado num executor de códigos capaz de rodar a linguagem Python. Para isto devemos copiar e colar o código num executor para rodarmos o jogo no terminal do executor.
Estou trabalhando em alguns ajustes, em algum tempo uma nova atualização deverá surgir com melhorias e correções de bugs, então aguarde pequenas alterações no código até o lançamento da versão 2.0.

O que foi usado:

VER 3.12.4 VER 1.99.0

Minhas redes sociais:

About

Um simples jogo de Pedra, Papel e tesoura criando em Python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages