2016-12-26 222 views
0

它目前在學期之間,我想做的第二個「最終項目」除了練習之外沒有別的。我決定用Python做一個跳棋遊戲。在Python中創建一個跳棋板

我正在使用圖形庫來做到這一點。我想要它的工作方式是使用正方形構建板,並且我想將它們標記爲它們自己的實體。我不知道這是否可行***,但我想創建一個字典來存儲每個矩形,並有一個值來顯示是否有一塊。到目前爲止,這是我要搭板....

def board(win,coordSys): 
     xRange = 'ABCDEFGH' 
     X = 0 
     for x in range(1,9): 
      for y in range(1,9): 
       Rec = Rectangle(Point(x,y),Point(x+1,y+1)) 

       if x%2 == 0 and y%2 == 0: 
        Rec.setFill('red') 
        coordSys[xRange[X]+str(y)] = 0 
       elif x%2 != 0 and y%2 != 0 : 
        Rec.setFill('red') 
        coordSys[xRange[X]+str(y)] = 0 
       else: 
        Rec.setFill('grey') 

       Rec.draw(win) 
      X+=1 

我在Python中相對較新的所以我想與我已經意識到現在的工具來做到這一點。我的問題是,如何在字典中使用A1-H8格式存儲單個矩形,以便我可以擁有{A1:0等..},並且能夠檢查A1的值以查看是否有任何內容已被更改在A1的矩形?

+0

沒有你做那了? – mic4ael

+0

它創建一個正確座標的字典,但座標和正方形之間沒有關聯。如果我嘗試調用例A1,它只是一個字符串,並不指向平方A1 –

+0

'coordSys [xRange [X] + str(y)] = Rec'? – mic4ael

回答

0

如果你想要的是一本字典,其值是有問題的矩形,它聽起來就像你在找什麼東西像

for x in range(1, 9): 
    for y in range(1, 9): 
     rec = Rectangle(Point(x, y), Point(x+1, y+1)) 
     coordSys[xRange[x-1] + str(y)] = rec 
     rec.draw(win) 
+0

首先感謝您的迴應! –

+0

然後我必須使用第二個字典將字典中的每個矩形與0,1或2的值相關聯。每個有1的方格都有一個黑色塊,每個2有一個紅色等......我不知道這是否有道理。如果不是,請告訴我,我會盡力澄清。 –