这是一个使用一些OOP的井字游戏的开始。更新类的实例变量时遇到问题(如果我有我的术语)。当我经历while循环时,我不存储条目。OOP Python Tic Tac Toe更新班级板
我已经通读了文档,并且对OOP有一点经验,我尝试了其他一些方法,但是我不能分辨出我的前提是否错误,我需要朝另一个方向走,或者如果我离解决方案还有一段距离。 (我希望这种格式正确!)
class Board:
def __init__(self, square1=' ', square2=' ', square3=' ', square4=' ', square5=' ', square6=' ', square7=' ', square8=' ', square9=' '):
self.square1 = square1
self.square2 = square2
self.square3 = square3
self.square4 = square4
self.square5 = square5
self.square6 = square6
self.square7 = square7
self.square8 = square8
self.square9 = square9
self.grid = '\nSQUARES ARE 0-8, TOP LEFT TO BOTTOM RIGHT, TRAVEL HORIZONTALLY\n | | \n '+square1+' | '+square2+' | '+square3+' \n___|___|___\n | | \n '+square4+' | '+square5+' | '+square6+' \n___|___|___\n | | \n '+square7+' | '+square8+' | '+square9+' \n | | '
game=Board()
print(game.grid)
while True:
entry = input('Please enter a number\n')
if entry == '0':
update = Board(square1='X')
elif entry == '1':
update = Board(square2='X')
elif entry == '2':
update = Board(square3='X')
elif entry == '3':
update = Board(square4='X')
elif entry == '4':
update = Board(square5='X')
elif entry == '5':
update = Board(square6='X')
elif entry == '6':
update = Board(square7='X')
elif entry == '7':
update = Board(square8='X')
elif entry == '8':
update = Board(square9='X')
print(update.grid)
学习列表的概念。它会让你的问题更容易 –
有一个称为DRY的编程规则,用于“不要重复自己”。无论何时你发现自己写了一遍又一遍的非常类似的代码,这是一个标志,你的工作水平太低,需要向上移动。在这种情况下,您是否熟悉Python'list'和/或'dict'数据类型? – DSM