Skip to content

Instantly share code, notes, and snippets.

@luxu
Created March 2, 2022 10:42
Show Gist options
  • Save luxu/83786c81b26120d0fc0ac507ef85fe64 to your computer and use it in GitHub Desktop.
Save luxu/83786c81b26120d0fc0ac507ef85fe64 to your computer and use it in GitHub Desktop.
Jogo da Serpente
# from ast import Break, Continue
# from msilib.schema import Class
# from statistics import variance
import random
class Escadaseespadas:
def __init__(self):
self.dict_escadas = {
'3': 37,
'6': 16,
'14': 32,
'27': 55,
'39': 43,
'41': 85,
'69': 87,
'89': 91
}
self.dict_serpentes = {
'15': 9,
'39': 17,
'49': 12,
'57': 46,
'75': 47,
'88': 36,
'97': 65,
'89': 91
}
def passosdados(self, numjogadores):
return {''.join(('passosdados', str(nro + 1))): 0 for nro in range(numjogadores)}
def definir_jogadores(self, qt_jogadores):
return {''.join(('jogador', str(nro + 1))): 0 for nro in range(qt_jogadores)}
def escadas(self, valor):
resposta = [info[1] for info in self.dict_escadas.items() if info[0] == str(valor)]
return resposta or valor
def serpentes(self, valor):
resposta = [info[1] for info in self.dict_serpentes.items() if info[0] == str(valor)]
return resposta or valor
def linhadechegada(self, dict_passosdados):
for item in dict_passosdados.items():
if int(item[1]) > 100:
print(f'{item[0]}. Voce ganhou com {item[1]} pontos.')
return True
return False
def teste(self, dict_passosdados):
return escadaeespadas.linhadechegada(dict_passosdados)
def sorteio_dos_dados(self):
return random.randint(1, 6)
if '__main__' == __name__:
numjogadores = int(input('Quantos Jogadores irão jogar? de 2 a 4 '))
escadaeespadas = Escadaseespadas()
dict_passosdados = escadaeespadas.passosdados(numjogadores)
jogadores = escadaeespadas.definir_jogadores(numjogadores)
while True:
if numjogadores == 2:
dict_passosdados['passosdados1'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
dict_passosdados['passosdados2'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
# SERPENTES
n = escadaeespadas.serpentes(dict_passosdados['passosdados1'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados1'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.serpentes(dict_passosdados['passosdados2'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados2'] += n
if escadaeespadas.teste(dict_passosdados):
break
# ESCADAS
n = escadaeespadas.escadas(dict_passosdados['passosdados1'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados1'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.escadas(dict_passosdados['passosdados2'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados2'] += n
if escadaeespadas.teste(dict_passosdados):
break
elif numjogadores == 3:
dict_passosdados['passosdados1'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
dict_passosdados['passosdados2'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
dict_passosdados['passosdados3'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
# SERPENTES
n = escadaeespadas.serpentes(dict_passosdados['passosdados1'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados1'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.serpentes(dict_passosdados['passosdados2'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados2'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.serpentes(dict_passosdados['passosdados3'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados3'] += n
if escadaeespadas.teste(dict_passosdados):
break
# ESCADAS
n = escadaeespadas.escadas(dict_passosdados['passosdados1'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados1'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.escadas(dict_passosdados['passosdados2'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados2'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.escadas(dict_passosdados['passosdados3'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados3'] += n
if escadaeespadas.teste(dict_passosdados):
break
elif numjogadores == 4:
dict_passosdados['passosdados1'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
dict_passosdados['passosdados2'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
dict_passosdados['passosdados3'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
dict_passosdados['passosdados4'] += escadaeespadas.sorteio_dos_dados()
if escadaeespadas.teste(dict_passosdados):
break
# SERPENTES
n = escadaeespadas.serpentes(dict_passosdados['passosdados1'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados1'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.serpentes(dict_passosdados['passosdados2'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados2'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.serpentes(dict_passosdados['passosdados3'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados3'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.serpentes(dict_passosdados['passosdados4'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados4'] += n
if escadaeespadas.teste(dict_passosdados):
break
# ESCADAS
n = escadaeespadas.escadas(dict_passosdados['passosdados1'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados1'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.escadas(dict_passosdados['passosdados2'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados2'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.escadas(dict_passosdados['passosdados3'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados3'] += n
if escadaeespadas.teste(dict_passosdados):
break
n = escadaeespadas.escadas(dict_passosdados['passosdados4'])
if type(n) == list:
n = n[0]
dict_passosdados['passosdados4'] += n
if escadaeespadas.teste(dict_passosdados):
break
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment