我正在制作井字游戏,并且我的代码比我的输入语句所能处理的复杂。
这是我班上的一个项目,我做了一些研究。对我而言没有任何意义,所以我来到了这里。我试图使其变得不那么复杂,但是没有什么可以解决的。波纹管代码只是结果的一小部分。
while while_statement == 3:
X_variables = input('where do you place your X player1. {use (X , Y)}. ')
if X_variables == '(1 , 1)':
game = [[1 , 0 , 0],
[0 , 0 , 0],
[0 , 0 , 0]]
print('|' , 'X' , '|' , ' ' , '|' , ' ' , '|')
print('-------------')
print('|' , ' ' , '|' , ' ' , '|' , ' ' , '|')
print('-------------')
print('|' , ' ' , '|' , ' ' , '|' , ' ' , '|')
elif X_variables == '(1 , 2)':
game = [[0 , 0 , 0],
[1 , 0 , 0],
[0 , 0 , 0]]
print('|' , ' ' , '|' , ' ' , '|' , ' ' , '|')
print('-------------')
print('|' , 'X' , '|' , ' ' , '|' , ' ' , '|')
print('-------------')
print('|' , ' ' , '|' , ' ' , '|' , ' ' , '|')
我希望这段代码会继续在游戏中使用,但实际结果将是X_variables输入语句中的错误。
答案 0 :(得分:0)
您的代码可以清理干净以确保输入方面的灵活性。 该代码假定输入有效,您以后可能要处理异常
class Board:
def __init__(self,count):
self.count = count
self.game = [[0 for _ in range(count)] for _ in range(count)]
def __repr__(self):
line = "\n"+"- "*self.count+"\n"
return line.join(["|".join([ 'X' if y == 1 else ' ' for y in x ]) for x in self.game])
def place(self,x,y):
self.game[x][y] = 1
.
.
.
board = Board(5)
.
.
.
while while_statement == 3:
row,col = map(int,tuple(input("Input here:(format row,col)").split(',')))
board.place(row,col)
print(board)