私はメモリゲームに取り組んでいます。私はカードの画像を2列に表示したい。 2番目の行の最初のカードを除いて、すべてのカードが正しく表示されます。このコードを実行するには、CodeSkulptorを使用する必要があります。プログラム全体はここにある: http://www.codeskulptor.org/#user41_a22429Vx58_2.py最初のコードを除く、すべての画像でコードが機能するのはなぜですか?
def draw(canvas):
global deck, cards, WIDTH, HEIGHT
num_start = 10
w = 67
h = 100
center_source = [w // 2, h // 2]
center_dest = [w // 2, h // 2]
for c in deck:
for card in cards:
if card == c:
if center_dest[0] <= WIDTH:
canvas.draw_image(cards[card], (center_source), (w , h), (center_dest), (w, h))
center_dest[0] += w + 2
elif center_dest[0] > WIDTH:
center_dest = [w // 2, h // 2 + h]
canvas.draw_image(cards[card], (center_source), (w , h), (center_dest), (w, h *2))
center_dest[0] += w + 2
リンクを – njzk2
が動作していないので、あなたが引き分けを複製していない次のようにもロジックを再構築でき'if card == c:'なぜ? – njzk2
@ njzk2リスト**デッキ**がシャッフルされているためです。プレイヤーがゲームを開始するたびに異なる位置にカードを置く必要があります。カードは辞書のキーです。 – Ekaterina1234