شبكة من الخلايا
الدرس 19 من 40 في دورة اصنع ألعابًا باستخدام 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: يوضح الكود ما تعنيه هذه القيم، وتغيير إحداها يغيّر اللعبة بأكملها.
التحدي
سهل- فوق الحلقة، اكتب
draw_cell(cell, color)، التي ترسم خلية واحدة على بُعد بكسل واحد من كل جانب، كما سبق. - عيّن
head = (5, 9). - بعد التعبئة، ارسم الرأس باستخدام
draw_cell(head, (180, 255, 160)).
جرّب بنفسك
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
3الشبكات والقوائم
شبكة من الخلاياخطوة بخطوةتدرّب بنفسك: Playground لـ Pygame