2016-08-02 168 views
0

我有一个名为甲板,其中有104个元素。我想创建一个for循环,在一个简单的GUI在画布上显示的图像(即只能在CodeSkulptor运行时,链接到我的计划是在这里: http://www.codeskulptor.org/#user41_kgywoL4h56_1.pyFor循环应该打印4行。它只打印一个

循环只打印第一行,我认为我更新图像中心的坐标是我的代码有什么问题。

if center_d[0] >= WIDTH: 
     center_s[1] += height 
     center_d[1] += height 

整个循环的下面,如果你需要更多的上下文,请访问我的程序,我上面提供的链接。谢谢!

def draw(canvas): 
    global deck, cards, WIDTH, HEIGHT 
    width = 70 
    height = 106 
    center_s = [41, 59] 
    center_d = [41, 59] 
    for card in deck: 
     canvas.draw_image(deck_img, center_s, (width, height), center_d, (width, height)) 
     center_s[0] += 70 
     center_d[0] += 70 
     if center_d[0] >= WIDTH: 
      center_s[1] += height 
      center_d[1] += height 
+0

'center_s [1] + = height'底部重复两次。我觉得你真的不想说 – norok2

+0

谢谢,我知道修正它,仍然是相同的结果... – Ekaterina1234

回答

2

你忘了你的center_s[0]center_s[0]坐标。他们不断增长。 您需要将其设置为0,例如像这样:

if center_d[0] >= WIDTH: 
    center_s[0] = 41 
    center_d[0] = 41 
    center_s[1] += height 
    center_d[1] += height