Teoria dos jogos ou Teoria de jogos é um ramo da matemática aplicada que estuda situações estratégicas onde jogadores escolhem diferentes ações na tentativa de melhorar seu retorno.
https://pt.wikipedia.org/wiki/Teoria_dos_jogos
O Nim é um jogo que foi originado na antiga China para dois jogadores. Foi o primeiro jogo a ser estudado matematicamente.
https://pt.wikipedia.org/wiki/Nim_(jogo)
Esse material foi escrito com o objetivo de organizar o estudo
para alunos da disciplina Introdução à Computação em Python.
https://panda.ime.usp.br/aulasPython/static/aulasPython/index.html
Curso de Introdução à Ciência da Computação destinado aos alunos
regulares da Universidade de São Paulo e a todos os demais interessados
em aprender não só a programar em Python mas também os conceitos básicos
da Ciência da Computação!
https://www.coursera.org/learn/ciencia-computacao-python-conceitos
https://docs.python.org/pt-br/3/library/index.html
#Jogo do NIM - Python 3 - USP Coursera Week6
def computador_escolhe_jogada(n,m):
tirou = 1
while tirou != m:
if (n - tirou) % (m+1) == 0:
return tirou
else:
tirou += 1
return tirou
def usuario_escolhe_jogada(n,m):
jogada = False
while not jogada:
tira=int(input('\nQuantas peças você vai tirar?'))
if tira < 1 or tira > m:
print('\nOops! Jogada inválida! Tente de novo.')
else:
jogada = True
return tira
def partida():
n=int(input('Quantas peças?'))
m=int(input('Limite de peças por jogada?'))
comp = False
if n % (m+1) == 0:
print('\nVoce começa!')
else:
print('\nComputador começa!')
comp = True
while n > 0:
if comp:
tirou = computador_escolhe_jogada(n,m)
n -= tirou
if tirou == 1:
print('\nO computador tirou uma peça')
else:
print('\nO computador tirou',tirou,'peças')
comp = False
else:
tira = usuario_escolhe_jogada(n,m)
n -= tira
if tira == 1:
print('\nVocê tirou uma peça.')
else:
print('Você tirou',tira, 'peças.')
comp = True
if n == 1:
print('Agora resta apenas uma peça no tabuleiro.')
elif n != 0:
print ('Agora restam,', n, 'peças no tabuleiro.')
print('Fim do jogo! O computador ganhou!')
def campeonato():
rodada = 1
while rodada <= 3:
print("\n**** Rodada",rodada,"****\n")
partida()
rodada += 1
print("\n**** Final do campeonato! ****")
print("\nPlacar: Você 0 X 3 Computador")
print("Bem-vindo ao jogo do NIM! Escolha:\n")
print("1 - para jogar uma partida isolada")
escolha=int(input("2 - para jogar um campeonato"))
if escolha == 1:
partida()
elif escolha == 2:
print("\nVoce escolheu um campeonato!")
campeonato()
Obrigado a ajuda:https://gist.github.com/hbenevides/d08965aa89d02c5b139635f0bb851368
Dicas,dúvidas e sugestões deixe abaixo nos comentários. 👇
hehehe....da até pra criar um joguinho em meu amigo?
ResponderExcluirOla Marcos, e o Fabricio né, eu estava cometendo o erro de fazer as funcoes se alternar e já retornar as var m e n, e tinha que ser tudo dentro da função partida. lol
ResponderExcluir