0

皆さんなら、この件について頭を悩ませるのを手伝ってくれるかもしれないと思いました。四角形を生成し、それらの四角形に画像を割り当てられるようにしたいと考えています。私はプロジェクト全体でこれを行ってきましたが、それほど難しくありません。ここで難しいのは、この特定の関数が必要な数の異なる四角形を生成できるようにすることです。このプロジェクトは、チェス盤のようなゲームです。私は、すべての単一スペースに対して if ステートメントのように書くことができると考えており、関数内に生成される四角形と場所を指示する無数のパラメーターを持っていますが、誰かがよりエレガントなソリューションを考えられることを望んでいました。

4

2 に答える 2

1

ネストされた 2 つの「for」ループを使用できます --

def make_chessboard(upper_x=0, upper_y=0, size=30):
    chessboard = []

    for y in range(8):
        row = []
        for x in range(8):
            coords = (upper_x + x * size, upper_y + y * size)
            row.append(pygame.Rect(coords, (size, size)))
        chessboard.append(row)
    return chessboard

次に、左上隅にある四角形を取得するには、chessboard[0][0]. 右上隅にある四角形を取得するには、次のようにしますchessboard[0][7]

各四角形に明示的に名前を付けることはできませんが、実際にはそうする必要はありません。

注: ある種の四角形のチェス盤のようなパターンを作成したいと想定しています。あなたがやろうとしていることを具体的に詳述すれば、質問を編集できます。

于 2013-09-17T18:48:48.723 に答える