我有这段代码:
def makeBoard():
squareX = 0
squareY = 0
squareType = "dark"
darkSquare = imageLoader("darkBrownSquare.png")
lightSquare = imageLoader("lightBrownSquare.png")
for x in range(8):
for y in range(8):
if squareType == "dark":
MAIN_SURF.blit(darkSquare, (squareX, squareY))
squareType = "light"
elif squareType == "light":
MAIN_SURF.blit(lightSquare, (squareX, squareY))
squareType = "dark"
squareY += 64
squareX += 64
这是为了画一个棋盘图案,但我只是得到了这个: 我认为这是因为for循环,以及它们是嵌套的事实,但除此之外,我不知道。
答案 0 :(得分:1)
完成循环后你需要将squareY归零。
所以
之后squareX +=64
添加
squareY = 0
此外,如果使用范围函数步骤参数并使用x和y而不是squareX和squareY(这也将处理此错误),您可以编写更易读的代码。
答案 1 :(得分:0)
摆脱squareX
和squareY
内容,只需从头开始创建x
和y
的正确值:
for x in range(0, 64, 8):
for y in range(0, 64, 8):
或者将它们乘以8
:
MAIN_SURF.blit(darkSquare, (8 * x, 8 * y))