2016-12-26 25 views
0

現在、学期に入っています。練習以外の目的で2番目の「最終プロジェクト」をやりたかったのです。私は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:0等..}を持つことができるように辞書のA1 - H8形式を使用して個々の四角形を格納することができ、私は何かが変更されているかどうかを確認するA1の値を確認することができますA1の長方形に?

+0

のようなものは、あなたはすでにそれを行っていないのですか? – mic4ael

+0

正しい座標で辞書を作成しますが、座標と正方形の間には相関はありません。例A1を試してみると、それは単なる文字列であり、角を指しません。A1 –

+0

'coordSys [xRange [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の値に関連付けるために2番目の辞書を使用する必要がありますか?1を持つすべての四角形に黒い部分があり、2つに赤があります...それは意味があるかどうかわかりません。そうでない場合は教えてください。 –

関連する問題