-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlesson8.py
More file actions
58 lines (44 loc) · 1.46 KB
/
lesson8.py
File metadata and controls
58 lines (44 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# # Алгоритм **игры** крестики-нолики
# 1. Рисуется **поле** [создается пустая матрица]
# 2. Пока **игра** не закончена:
# 2. **Игрок** выбирает куда поставить **символ**
# 3. Проверить занята ли **клетка** \ валидный ли **ход**
# 3. Рисуется обновленное **поле**
# 4. Проверить победное **условия** \ окончания **игры**
# 5. Ход переходить другому **игроку**
# 6. Пишем кто победил
#
class Game:
def __init__(self, field_size=3):
self.field = Field(field_size)
self.player_1 = Player('X')
self.player_2 = Player('O')
self.actual_player = self.player_1
def start(self):
pass
def is_running(self):
pass
def switch_turn(self):
pass
def check_winning_condition(self):
pass
# композиция # агрегация
class Field:
def __init__(self):
pass
# def _check_if_cell_is_empty(self, coordinate):
# pass
def set_symbol(self, symbol, coordinate):
pass
def print(self):
pass
# class Cell:
# pass
class Player:
def __init__(self, symbol):
self.symbol = symbol
def make_turn(self):
pass
if __name__ == "__main__":
game = Game()
game.start()