Advertisement
DomMisterSoja

Uno-Incompleto 2.0

Dec 26th, 2018
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.14 KB | None | 0 0
  1. '''This code uses this : https://pastebin.com/Hab1ssUA'''
  2. import random
  3. x = 0
  4. c = 0
  5. cartas=[]
  6. nomes=[]
  7. njogadores=0
  8. MatDoJogadores=[]
  9.  
  10. def lendocartas (n):
  11.     arquivo = open('Cartas','r')
  12.     for i in arquivo:
  13.         i= i.split(',')
  14.         for j in i:
  15.             if j== "\n":
  16.                 a=0
  17.             else:
  18.                 cartas.append(j)
  19.     print(cartas)
  20.     arquivo.close()
  21.     c=qjogadores(x)
  22.     deckJogadores(c)
  23.     partida(c)
  24.  
  25. def qjogadores(n):
  26.     global njogadores
  27.     njogadores = int(input("Quantos pessoas irão jogar ?\nObs: Min: 2 jogadores.\nMax: 10 jogadores.\n"))
  28.     while(njogadores<2 or njogadores>10):
  29.         njogadores = int(input("Quantos pessoas irão jogar ?\nObs: Min: 2 jogadores.\nMax: 10 jogadores.\n"))
  30.     for i in range(njogadores):
  31.         nomedeles = input(f'Qual nome dos jogador {i+1} :\n')
  32.         nomes.append(nomedeles)
  33.     return  njogadores
  34.  
  35. def deckJogadores(n):
  36.     for i in range(n):
  37.         deck=[]
  38.         for j in range(7):
  39.             x = random.choice(cartas)
  40.             cartas.remove(x)
  41.             deck.append(x)
  42.         MatDoJogadores.append(deck)
  43.  
  44. def partida (x):
  45.     global MatDoJogadores
  46.     cartasUsadas = []
  47.     cartapassada = []
  48.     enquantomais = False
  49.     contEnqMais = 0
  50.     jogoganho = False
  51.     reverso = False
  52.     pula = False
  53.     c = 0
  54.     while(jogoganho==False):
  55.         print(f'Cartas do Jogador {c+1}: {MatDoJogadores[c]}')
  56.         if (cartapassada == []):
  57.             a=vazio(cartasUsadas)
  58.             cartapassada=a
  59.             print(f'{cartasUsadas}')
  60.         elif (cartapassada != []):
  61.             a,b,d=rodada2(cartapassada,cartasUsadas,c,reverso,pula)
  62.             cartapassada = a
  63.             reverso = b
  64.             pula = d
  65.  
  66.         if reverso == True:
  67.             if pula==True:
  68.                 c+= -2
  69.                 if c<0:
  70.                     c=x-2
  71.                 pula=False
  72.             else:
  73.                 c+= -1
  74.                 if c < 0:
  75.                     c = x-1
  76.         else:
  77.             if pula==True:
  78.                 c+= +2
  79.                 if c>x:
  80.                     c=1
  81.                 pula=False
  82.             else:
  83.                 c+=1
  84.                 if c == x:
  85.                     c=0
  86. def vazio(n2):
  87.     global MatDoJogadores,c
  88.     escolha = 99
  89.     print(f'{nomes[c]} pode jogar qualque carta.\nObs:Cartas de efeito não funcionaram.')
  90.     while(escolha > len(MatDoJogadores[c])):
  91.         escolha = int(input(f"Qual carta será jogada, {nomes[c]}\n"))
  92.     escolha1=MatDoJogadores[c][escolha - 1].split(' ')
  93.     n2.append(escolha1)
  94.     del MatDoJogadores[c][escolha-1]
  95.     return escolha1
  96.  
  97.  
  98.  
  99. def rodada2(n1,n2,n3,n4,n5):
  100.     global MatDoJogadores
  101.     cores=['vermelho','verde','amarelo','azul']
  102.     zero=0
  103.     escolha= 99
  104.     cor = 99
  105.     confirme = False
  106.     while(confirme == False):
  107.         print(f'A carta passada passada : {n1}')
  108.         while(escolha > len(MatDoJogadores[n3])):
  109.             escolha = int(input(f"Qual carta será jogada, {nomes[n3]}\nObs: 0 para pegar carta e 0 denovo para pular\n"))
  110.             if (escolha == 0):
  111.                 escolha,zero,confirme,n2=pegacartapula(escolha,zero,n3,confirme,n2)
  112.         if escolha != 0:
  113.             escolha1 = MatDoJogadores[n3][escolha - 1].split(' ')
  114.             if(escolha1 == n1):
  115.                 confirme = True
  116.                 n4,n5=pulareverso(escolha1,n4,n5)
  117.             elif(escolha1[0] in n1):
  118.                 confirme = True
  119.                 n4, n5 = pulareverso(escolha1, n4, n5)
  120.             elif(escolha1[1] in n1):
  121.                 if(escolha1[1]==n1[1]):
  122.                     print(f"A cor foi trocada para : {escolha1[0]}")
  123.                     n4, n5 = pulareverso(escolha1, n4, n5)
  124.                 confirme = True
  125.             elif(escolha1[0] == 'coringa'):
  126.                 cor=0
  127.                 print(f'Escolha um nova cor de {cores}')
  128.                 while (cor > 4 or cor < 1):
  129.                     cor = int(input("De acordo com ordem das cores escolha :\n"))
  130.                 print(f"A cor foi trocada para {cores[cor-1]}")
  131.                 escolha1[0] = cores[cor-1]
  132.                 escolha1[1] = n1[1]
  133.                 confirme = True
  134.     if(escolha!=0):
  135.         n2.append(escolha1)
  136.         del MatDoJogadores[n3][escolha - 1]
  137.         return escolha1,n4,n5
  138.     else:
  139.         escolha1 = n1
  140.         return escolha1, n4, n5
  141.  
  142. def pegacartapula(esc,n2,n3,n4,n5):
  143.     global cartas
  144.     esc = 99
  145.     if(len(cartas)!=0):
  146.         ncarta=cartas
  147.     else:
  148.         ncarta=n5
  149.     if (n2 == 0):
  150.         n2 += 1
  151.         novacarta = random.choice(ncarta)
  152.         MatDoJogadores[n3].append(novacarta)
  153.         print(f'As carta : {MatDoJogadores[n3]}')
  154.         ncarta.remove(novacarta)
  155.         if (len(cartas) != 0):
  156.             cartas = ncarta
  157.         else:
  158.             n5 = ncarta
  159.     elif (n2 > 0):
  160.         esc = 0
  161.         n4 = True
  162.     return esc,n2,n4,n5
  163.  
  164. def pulareverso(esc,rev,pul):
  165.     if(esc[1] == 'reverso'):
  166.         if (rev == False):
  167.             rev = True
  168.         else:
  169.             rev = False
  170.     elif(esc[1]=='cancela'):
  171.         pul = True
  172.     return rev,pul
  173.  
  174. def maiscarta()
  175.  
  176.  
  177.  
  178.  
  179.  
  180. lendocartas(x)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement