Menu
CoddyTech

شبكة من الخلايا

الدرس 19 من 41 في دورة اصنع ألعابًا باستخدام Pygame على Coddy.

تتحرك الأفعى على شبكة. تتكون النافذة من 24 عمودًا و18 صفًا من الخلايا، طول ضلع كل منها 20 بكسلًا، وتتحرك الأفعى خلية كاملة في كل مرة.

اعمل باستخدام الخلايا، وحوّلها إلى بكسلات للرسم فقط. تبدأ الخلية (col, row) عند البكسل (col * 20, row * 20). إن رسم كل خلية أصغر بمقدار 2 بكسل، مع إزاحتها بمقدار 1 بكسل إلى الداخل من كل جانب، يترك فجوة رفيعة بين الخلايا المتجاورة، لتتمكن من رؤية أجزاء الأفعى.

def draw_cell(cell, color):
    col, row = cell
    pygame.draw.rect(screen, color, (col * CELL + 1, row * CELL + 1, CELL - 2, CELL - 2))

يفك col, row = cell الصف إلى متغيرين. أبقِ الأرقام في ثوابت مثل CELL وCOLS وROWS: يوضح الكود ما تعنيه هذه القيم، وتغيير إحداها يغيّر اللعبة بأكملها.

challenge icon

التحدي

سهل

ارسم رأس الثعبان على شبكة من الخلايا.

  1. فوق الحلقة، اكتب draw_cell(cell, color)، التي ترسم خلية واحدة على بُعد بكسل واحد من كل جانب، كما سبق.
  2. عيّن head = (5, 9).
  3. بعد التعبئة، ارسم الرأس باستخدام draw_cell(head, (180, 255, 160)).

اضغط على «العب»: ستظهر خلية خضراء عند يسار الصف 9. ثم اضغط على «تحقق».

جرّب بنفسك

import pygame

CELL = 20
COLS, ROWS = 24, 18

pygame.init()
screen = pygame.display.set_mode((COLS * CELL, ROWS * CELL))
pygame.display.set_caption("Snake")
clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((30, 30, 46))
    pygame.display.flip()
    clock.tick(10)

pygame.quit()

جميع دروس اصنع ألعابًا باستخدام Pygame

تدرّب بنفسك: Playground لـ Pygame