2010-01-24 41 views
1

現在我正在開發一個俄羅斯方塊遊戲(sorta,我在網站上發現了一個用於Python的俄羅斯方塊示例,我一直在複製它,但添加了一些我自己的東西),並且剛寫完所有的代碼,有幾個語法錯誤。我已經能夠解決所有這些問題,但這最後的語法錯誤令我感到困惑。Python語法錯誤,但看起來很好。幫幫我?

def pieceDropped(self): 
     for i in range(4): 
      x = self.curX + self.curPiece.x(i) 
      y = self.curY - self.curPiece.y(i) 
      self.setShapeAt(x, y, self.curPiece.shape() 

     self.removeFullLines() 

特定的語法錯誤是在函數的最後一行,我不明白爲什麼,縮進和空白都似乎是正確的。那麼有人可以解釋這是一個語法錯誤嗎?

+0

請記住選擇一個答案。^_- – 2010-01-24 16:48:27

回答

7

您沒有關閉self.setShapeAt的括號。

+0

啊。謝謝。沒有看到 – 2010-01-24 16:28:15

+2

一直髮生在我身上。首先,在實際的錯誤之後,發生在行*上的異常令人困惑,但這是可以理解的,因爲未封閉的括號隱式地用作行連續符。 – 2010-01-24 16:34:03

+0

現在有道理。感謝您的解釋 – 2010-01-24 22:44:42

0

最後一行有一個額外的空白 - 前面self.removeFullLines()。因此它的縮進不同於for行的縮進。編輯:似乎現在得到糾正。

始終使用相同的縮進順序 - 選擇標籤或n個空格。但要一致。有些編輯器(例如VIM)只要點擊標籤就可以插入適當數量的空格。

相關問題