tic-tac-toe in python

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Cloud Rocket
Seçkin Üye
Katılım
13 Ağu 2022
Mesajlar
385
Çözümler
8
Tepki puanı
88
Ödüller
3
3 HİZMET YILI
Python tic-tac-toe to play

- Import Libraries:

* team
* random
* sys

Sem título.png


################################################ ##### PROGRAMADO POR: ETTORE PIOTTO BORIES ##### ################################################ from time import sleep from random import randint import sys pts_jogador = 0 pts_pc = 0 while True: j = '' primeiro = '' p1, p2, p3, p4, p5, p6, p7, p8, p9 = ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' lv = 'livre' pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9 = lv, lv, lv, lv, lv, lv, lv, lv, lv jogada = 0 jog_adv = 0 jogada_aleatoria = 0 turnos = 1 vencedor = '' tabuleiro_inicial = ''' --- COMO JOGAR --- Quando for sua vez, digite o número correspondente à posição no tabuleiro para fazer sua jogada nela. Por exemplo, digamos que você queira jogar no centro, então você digita 5. | | 1 | 2 | 3 _____|_____|_____ | | 4 | 5 | 6 _____|_____|_____ | | 7 | 8 | 9 | | ''' print(tabuleiro_inicial) print('Você quer ser o X (xis) ou a O (bola)?', end=' ') while j != 'O' and j != 'X': j = str(input('Digite X ou O e pressione Enter para escolher: ')).strip().upper() if j != 'O' and j != 'X': print('\nEscolha inválida!\n') if j == 'O': adv = 'X' print('\nEntão eu fico com o X.') elif j == 'X': adv = 'O' print('\nEntão eu fico com a O.') print('\nQuem joga primeiro?', end=' ') while primeiro != 'EU' and primeiro != 'PC': instr = 'Digite EU e pressione Enter para você começar, ou digite PC e pressione Enter para eu começar: ' primeiro = str(input(instr)).strip().upper() if primeiro != 'EU' and primeiro != 'PC': print('\nEscolha inválida!\n') if primeiro == 'EU': print('\nEntão você joga primeiro.\n') elif primeiro == 'PC': print('\nEntão eu jogo primeiro.\n') def atualizar_tabuleiro(): global p1, p2, p3, p4, p5, p6, p7, p8, p9 tabuleiro = ''' | | {} | {} | {} _____|_____|_____ | | {} | {} | {} _____|_____|_____ | | {} | {} | {} | | '''.format(p1, p2, p3, p4, p5, p6, p7, p8, p9) print(tabuleiro) def jogada_j1(): global jogada while True: try: jogada = int(input('Digite a posição da sua jogada (1 a 9) e pressione Enter: ')) break except ValueError: print('\nValor digitado inválido. Digite um número inteiro de 1 a 9!\n') def rotina_j1(): global jogada global pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9 msg_ocupado = '\nEste espaço já está ocupado!\n' jogada_j1() while jogada not in range(1, (9 + 1)): jogada_j1() if jogada not in range(1, (9 + 1)): print('\nNúmero inválido!\n') while jogada == 1 and pos1 == 'ocupada' or \ jogada == 2 and pos2 == 'ocupada' or \ jogada == 3 and pos3 == 'ocupada' or \ jogada == 4 and pos4 == 'ocupada' or \ jogada == 5 and pos5 == 'ocupada' or \ jogada == 6 and pos6 == 'ocupada' or \ jogada == 7 and pos7 == 'ocupada' or \ jogada == 8 and pos8 == 'ocupada' or \ jogada == 9 and pos9 == 'ocupada': print(msg_ocupado) rotina_j1() def atualizar_jogadas_j1(): global jogada global p1, p2, p3, p4, p5, p6, p7, p8, p9 global pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9 if jogada == 1: p1 = j pos1 = 'ocupada' elif jogada == 2: p2 = j pos2 = 'ocupada' elif jogada == 3: p3 = j pos3 = 'ocupada' elif jogada == 4: p4 = j pos4 = 'ocupada' elif jogada == 5: p5 = j pos5 = 'ocupada' elif jogada == 6: p6 = j pos6 = 'ocupada' elif jogada == 7: p7 = j pos7 = 'ocupada' elif jogada == 8: p8 = j pos8 = 'ocupada' elif jogada == 9: p9 = j pos9 = 'ocupada' def atualizar_jogadas_j2(): global jogada, jogada_aleatoria, adv global p1, p2, p3, p4, p5, p6, p7, p8, p9 global pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9 print('Deixe-me pensar na minha jogada...') sleep(1.5) jogada_aleatoria = randint(1, 9) while jogada_aleatoria == 1 and pos1 == 'ocupada' or \ jogada_aleatoria == 2 and pos2 == 'ocupada' or \ jogada_aleatoria == 3 and pos3 == 'ocupada' or \ jogada_aleatoria == 4 and pos4 == 'ocupada' or \ jogada_aleatoria == 5 and pos5 == 'ocupada' or \ jogada_aleatoria == 6 and pos6 == 'ocupada' or \ jogada_aleatoria == 7 and pos7 == 'ocupada' or \ jogada_aleatoria == 8 and pos8 == 'ocupada' or \ jogada_aleatoria == 9 and pos9 == 'ocupada': jogada_aleatoria = randint(1, 9) print('\nEu jogo na posição {}!'.format(jogada_aleatoria)) if jogada_aleatoria == 1: p1 = adv pos1 = 'ocupada' elif jogada_aleatoria == 2: p2 = adv pos2 = 'ocupada' elif jogada_aleatoria == 3: p3 = adv pos3 = 'ocupada' elif jogada_aleatoria == 4: p4 = adv pos4 = 'ocupada' elif jogada_aleatoria == 5: p5 = adv pos5 = 'ocupada' elif jogada_aleatoria == 6: p6 = adv pos6 = 'ocupada' elif jogada_aleatoria == 7: p7 = adv pos7 = 'ocupada' elif jogada_aleatoria == 8: p8 = adv pos8 = 'ocupada' elif jogada_aleatoria == 9: p9 = adv pos9 = 'ocupada' def checar_vencedor(): global j, adv, turnos, vencedor, pts_jogador, pts_pc global p1, p2, p3, p4, p5, p6, p7, p8, p9 if p1 == j and p2 == j and p3 == j or \ p1 == j and p4 == j and p7 == j or \ p1 == j and p5 == j and p9 == j or \ p2 == j and p5 == j and p8 == j or \ p3 == j and p5 == j and p7 == j or \ p3 == j and p6 == j and p9 == j or \ p4 == j and p5 == j and p6 == j or \ p7 == j and p8 == j and p9 == j: print('VOCÊ GANHOU!\n') pts_jogador += 1 vencedor = 'EU' turnos = 10 if p1 == adv and p2 == adv and p3 == adv or \ p1 == adv and p4 == adv and p7 == adv or \ p1 == adv and p5 == adv and p9 == adv or \ p2 == adv and p5 == adv and p8 == adv or \ p3 == adv and p5 == adv and p7 == adv or \ p3 == adv and p6 == adv and p9 == adv or \ p4 == adv and p5 == adv and p6 == adv or \ p7 == adv and p8 == adv and p9 == adv: print('EU GANHEI!\n') pts_pc += 1 vencedor = 'PC' turnos = 10 def atualizar_tudo(): global jogada global turnos global vencedor if primeiro == 'EU': rotina_j1() atualizar_jogadas_j1() atualizar_tabuleiro() checar_vencedor() if turnos == 5: print('NÓS EMPATAMOS!\n') turnos = 10 vencedor = 'EMPATE' if vencedor == '': atualizar_jogadas_j2() atualizar_tabuleiro() checar_vencedor() elif primeiro == 'PC': atualizar_jogadas_j2() atualizar_tabuleiro() checar_vencedor() if turnos == 5: print('NÓS EMPATAMOS!\n') turnos = 10 vencedor = 'EMPATE' if vencedor == '': rotina_j1() atualizar_jogadas_j1() atualizar_tabuleiro() checar_vencedor() jogada = 0 turnos += 1 while turnos <= 5: atualizar_tudo() print('-------- PLACAR --------') print('Você: {} | Computador: {}'.format(pts_jogador, pts_pc)) print('------------------------') while True: reiniciar = input('\nQuer jogar de novo? Digite S para sim ou N para não: ').lower() if reiniciar in ('s', 'n', '"s"', '"n"'): break print('\nResposta inválida!') if reiniciar == 's' or reiniciar == '"s"': print('\n-----------------------------------------------------') continue else: sys.exit(0)
 
𝕄𝕒𝕤𝕥𝕖𝕣 𝕠𝕗 𝕎𝕒𝕥𝕔𝕙
Ultra Üye
Katılım
20 May 2020
Mesajlar
1,954
Tepki puanı
261
Ödüller
9
6 HİZMET YILI
hahaha thanks for that code brother it's so cool
 
Onaylı Üye
Katılım
30 Eyl 2022
Mesajlar
52
Tepki puanı
6
Ödüller
3
Yaş
22
3 HİZMET YILI
Actually a good starting project for python learners! :peepoNice:
 
Uzman Üye
Katılım
22 Ocak 2022
Mesajlar
215
Çözümler
2
Tepki puanı
17
Ödüller
2
Yaş
31
4 HİZMET YILI
Python tic-tac-toe to play

- Import Libraries:

* team
* random
* sys

Ekli dosyayı görüntüle 79181

################################################ ##### PROGRAMADO POR: ETTORE PIOTTO BORIES ##### ################################################ from time import sleep from random import randint import sys pts_jogador = 0 pts_pc = 0 while True: j = '' primeiro = '' p1, p2, p3, p4, p5, p6, p7, p8, p9 = ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' lv = 'livre' pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9 = lv, lv, lv, lv, lv, lv, lv, lv, lv jogada = 0 jog_adv = 0 jogada_aleatoria = 0 turnos = 1 vencedor = '' tabuleiro_inicial = ''' --- COMO JOGAR --- Quando for sua vez, digite o número correspondente à posição no tabuleiro para fazer sua jogada nela. Por exemplo, digamos que você queira jogar no centro, então você digita 5. | | 1 | 2 | 3 _____|_____|_____ | | 4 | 5 | 6 _____|_____|_____ | | 7 | 8 | 9 | | ''' print(tabuleiro_inicial) print('Você quer ser o X (xis) ou a O (bola)?', end=' ') while j != 'O' and j != 'X': j = str(input('Digite X ou O e pressione Enter para escolher: ')).strip().upper() if j != 'O' and j != 'X': print('\nEscolha inválida!\n') if j == 'O': adv = 'X' print('\nEntão eu fico com o X.') elif j == 'X': adv = 'O' print('\nEntão eu fico com a O.') print('\nQuem joga primeiro?', end=' ') while primeiro != 'EU' and primeiro != 'PC': instr = 'Digite EU e pressione Enter para você começar, ou digite PC e pressione Enter para eu começar: ' primeiro = str(input(instr)).strip().upper() if primeiro != 'EU' and primeiro != 'PC': print('\nEscolha inválida!\n') if primeiro == 'EU': print('\nEntão você joga primeiro.\n') elif primeiro == 'PC': print('\nEntão eu jogo primeiro.\n') def atualizar_tabuleiro(): global p1, p2, p3, p4, p5, p6, p7, p8, p9 tabuleiro = ''' | | {} | {} | {} _____|_____|_____ | | {} | {} | {} _____|_____|_____ | | {} | {} | {} | | '''.format(p1, p2, p3, p4, p5, p6, p7, p8, p9) print(tabuleiro) def jogada_j1(): global jogada while True: try: jogada = int(input('Digite a posição da sua jogada (1 a 9) e pressione Enter: ')) break except ValueError: print('\nValor digitado inválido. Digite um número inteiro de 1 a 9!\n') def rotina_j1(): global jogada global pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9 msg_ocupado = '\nEste espaço já está ocupado!\n' jogada_j1() while jogada not in range(1, (9 + 1)): jogada_j1() if jogada not in range(1, (9 + 1)): print('\nNúmero inválido!\n') while jogada == 1 and pos1 == 'ocupada' or \ jogada == 2 and pos2 == 'ocupada' or \ jogada == 3 and pos3 == 'ocupada' or \ jogada == 4 and pos4 == 'ocupada' or \ jogada == 5 and pos5 == 'ocupada' or \ jogada == 6 and pos6 == 'ocupada' or \ jogada == 7 and pos7 == 'ocupada' or \ jogada == 8 and pos8 == 'ocupada' or \ jogada == 9 and pos9 == 'ocupada': print(msg_ocupado) rotina_j1() def atualizar_jogadas_j1(): global jogada global p1, p2, p3, p4, p5, p6, p7, p8, p9 global pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9 if jogada == 1: p1 = j pos1 = 'ocupada' elif jogada == 2: p2 = j pos2 = 'ocupada' elif jogada == 3: p3 = j pos3 = 'ocupada' elif jogada == 4: p4 = j pos4 = 'ocupada' elif jogada == 5: p5 = j pos5 = 'ocupada' elif jogada == 6: p6 = j pos6 = 'ocupada' elif jogada == 7: p7 = j pos7 = 'ocupada' elif jogada == 8: p8 = j pos8 = 'ocupada' elif jogada == 9: p9 = j pos9 = 'ocupada' def atualizar_jogadas_j2(): global jogada, jogada_aleatoria, adv global p1, p2, p3, p4, p5, p6, p7, p8, p9 global pos1, pos2, pos3, pos4, pos5, pos6, pos7, pos8, pos9 print('Deixe-me pensar na minha jogada...') sleep(1.5) jogada_aleatoria = randint(1, 9) while jogada_aleatoria == 1 and pos1 == 'ocupada' or \ jogada_aleatoria == 2 and pos2 == 'ocupada' or \ jogada_aleatoria == 3 and pos3 == 'ocupada' or \ jogada_aleatoria == 4 and pos4 == 'ocupada' or \ jogada_aleatoria == 5 and pos5 == 'ocupada' or \ jogada_aleatoria == 6 and pos6 == 'ocupada' or \ jogada_aleatoria == 7 and pos7 == 'ocupada' or \ jogada_aleatoria == 8 and pos8 == 'ocupada' or \ jogada_aleatoria == 9 and pos9 == 'ocupada': jogada_aleatoria = randint(1, 9) print('\nEu jogo na posição {}!'.format(jogada_aleatoria)) if jogada_aleatoria == 1: p1 = adv pos1 = 'ocupada' elif jogada_aleatoria == 2: p2 = adv pos2 = 'ocupada' elif jogada_aleatoria == 3: p3 = adv pos3 = 'ocupada' elif jogada_aleatoria == 4: p4 = adv pos4 = 'ocupada' elif jogada_aleatoria == 5: p5 = adv pos5 = 'ocupada' elif jogada_aleatoria == 6: p6 = adv pos6 = 'ocupada' elif jogada_aleatoria == 7: p7 = adv pos7 = 'ocupada' elif jogada_aleatoria == 8: p8 = adv pos8 = 'ocupada' elif jogada_aleatoria == 9: p9 = adv pos9 = 'ocupada' def checar_vencedor(): global j, adv, turnos, vencedor, pts_jogador, pts_pc global p1, p2, p3, p4, p5, p6, p7, p8, p9 if p1 == j and p2 == j and p3 == j or \ p1 == j and p4 == j and p7 == j or \ p1 == j and p5 == j and p9 == j or \ p2 == j and p5 == j and p8 == j or \ p3 == j and p5 == j and p7 == j or \ p3 == j and p6 == j and p9 == j or \ p4 == j and p5 == j and p6 == j or \ p7 == j and p8 == j and p9 == j: print('VOCÊ GANHOU!\n') pts_jogador += 1 vencedor = 'EU' turnos = 10 if p1 == adv and p2 == adv and p3 == adv or \ p1 == adv and p4 == adv and p7 == adv or \ p1 == adv and p5 == adv and p9 == adv or \ p2 == adv and p5 == adv and p8 == adv or \ p3 == adv and p5 == adv and p7 == adv or \ p3 == adv and p6 == adv and p9 == adv or \ p4 == adv and p5 == adv and p6 == adv or \ p7 == adv and p8 == adv and p9 == adv: print('EU GANHEI!\n') pts_pc += 1 vencedor = 'PC' turnos = 10 def atualizar_tudo(): global jogada global turnos global vencedor if primeiro == 'EU': rotina_j1() atualizar_jogadas_j1() atualizar_tabuleiro() checar_vencedor() if turnos == 5: print('NÓS EMPATAMOS!\n') turnos = 10 vencedor = 'EMPATE' if vencedor == '': atualizar_jogadas_j2() atualizar_tabuleiro() checar_vencedor() elif primeiro == 'PC': atualizar_jogadas_j2() atualizar_tabuleiro() checar_vencedor() if turnos == 5: print('NÓS EMPATAMOS!\n') turnos = 10 vencedor = 'EMPATE' if vencedor == '': rotina_j1() atualizar_jogadas_j1() atualizar_tabuleiro() checar_vencedor() jogada = 0 turnos += 1 while turnos <= 5: atualizar_tudo() print('-------- PLACAR --------') print('Você: {} | Computador: {}'.format(pts_jogador, pts_pc)) print('------------------------') while True: reiniciar = input('\nQuer jogar de novo? Digite S para sim ou N para não: ').lower() if reiniciar in ('s', 'n', '"s"', '"n"'): break print('\nResposta inválida!') if reiniciar == 's' or reiniciar == '"s"': print('\n-----------------------------------------------------') continue else: sys.exit(0)
Lmao haha, funny
 
mad scientist
Süper Üye
Katılım
15 Eki 2020
Mesajlar
613
Çözümler
3
Tepki puanı
45
Ödüller
4
5 HİZMET YILI
caralho que pica Kkkk
 
ABOBA
Seçkin Üye
Katılım
22 Mar 2022
Mesajlar
302
Çözümler
3
Tepki puanı
11
Ödüller
3
4 HİZMET YILI
I think it's a good job for students, maybe it will even pass for a term paper, hehe, thank you:peepoBusiness:
 
Onaylı Üye
Katılım
28 Eyl 2022
Mesajlar
54
Tepki puanı
4
3 HİZMET YILI
wow thanks for the code this is simple, but very cool!
 
Üye
Katılım
24 Haz 2022
Mesajlar
7
Tepki puanı
0
Ödüller
2
Yaş
27
3 HİZMET YILI
i did not understand but it seems fun i will try it
Thanks for the effort thought
 
FAST
Onaylı Üye
Katılım
18 Eyl 2021
Mesajlar
77
Tepki puanı
13
Ödüller
5
Yaş
26
4 HİZMET YILI
good starting project for python learners! i made something like this when i was starting with python
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst