Open Stepas6ka opened 1 year ago
import random def victory(cell,th):
rowcol=((0,1,2),(3,4,5),(6,7,8),(0,3,6),(1,4,7),(2,5,8),(0,4,8),(2,4,6))
for i in rowcol:
if cell[i[0]]==cell[i[1]]==cell[i[2]]==th:
play_board(cell)
return True
return False
def play_board(cell):
print('-------------')
print(f'| {cell[0]} | {cell[1]} | {cell[2]} |')
print('-------------')
print(f'| {cell[3]} | {cell[4]} | {cell[5]} |')
print('-------------')
print(f'| {cell[6]} | {cell[7]} | {cell[8]} |')
print('-------------')
def rang(k):
if k.isdigit():
if int(k) in range(9):
return int(k)
else:
return(-1)
else:
return(-1)
def test(k,cell):
if cell[k]!='x':
if cell[k]!='o':
return int(k)
else:
return -2
else:
return -2
cell=[' ',' ',' ',' ',' ',' ',' ',' ',' '] free=[0,1,2,3,4,5,6,7,8] print("Привіт! Граємо в крестики-нулики) Чур я нулик. Введи цифру від 0 до 8 аби походити") gg=False while gg==False: play_board(cell) n=input("Ходи хутчіше: ") k=rang(n) if k!=-1: k=test(k,cell) while k==-1 or k==-2: n=input("Давай іншу цифру: ") k=rang(n) k=test(k,cell) cell[k]='x' gg=victory(cell,'x') if gg==True: print("Ти мене обіграв, майстер!") play_board(cell) break free.remove(k)
if len(free)==0:
print("Всі клітинки заповнені, давай заново?")
play_board(cell)
break
while True:
k1=random.randint(0,8)
if k1 in free:
cell[k1]='o'
free.remove(k1)
break
gg=victory(cell,'o')
if gg==True:
print("Ха! Я переміг! Давай ще)")
play_board(cell)
break
That is my end work on ''Python for beginners'' course A code for Python: everyone know this game...TIC-TAC-TOE!!! :3