Untitled
unknown
plain_text
2 years ago
2.1 kB
8
Indexable
from random import randint
unused_cell = [1, 2, 3, 4, 5, 6, 7, 8, 9]
play_ground = [['1', '2', '3'],
['4', '5', '6'],
['7', '8', '9']]
player = input("Вы хотите играть крестиком? Ответьте y/n")
if player == 'y':
player = 'x'
comp = 'o'
else:
player = 'o'
comp = 'x'
turn = randint(0, 8)
play_ground[turn//3][turn % 3] = 'x' #Первый ход компьютера
unused_cell.remove(turn + 1)
#Игра продолжается пока не наступит чья-то победа, или ничья
def nobody_win():
for line in play_ground:
if line[0] == line[1] == line[2] != '.':
print(line[0], "победили!")
return False
for i in range(3):
if play_ground[0][i] == play_ground[1][i] == play_ground[2][i] != '.':
print(play_ground[0][i], "победили!")
return False
if play_ground[0][0] == play_ground[1][1] == play_ground[2][2] != '.' or play_ground[0][2] == play_ground[1][1] == play_ground[2][0] != '.':
print(play_ground[1][1], "победили!")
return False
if len(unused_cell) <= 0:
print("Ничья, ходов нет!")
return False
return True
#Основной цикл игры
while nobody_win():
#Отображение поля
for line in play_ground:
print(*line)
#Ход игрока
turn = int(input("На какую клетку будете ходить?"))
while turn not in unused_cell:
turn = int(input("На эту клетку сходить нельзя.\nНа какую клетку будете ходить?"))
else:
unused_cell.remove(turn)
play_ground[(turn-1)//3][(turn-1) % 3] = player
#Ход компьютера
if len(unused_cell) >= 1:
turn = unused_cell[randint(0, len(unused_cell) - 1)]
unused_cell.remove(turn)
play_ground[(turn-1)//3][(turn-1) % 3] = comp
for line in play_ground:
print(*line)Editor is loading...
Leave a Comment