Menu
CoddyTech

רשת של תאים

חלק מהיחידה פרויקטים במסלול ה-Pygame של Coddy. שיעור 1 מתוך 31.

הנחש נע על גבי רשת. החלון מורכב מ־24 עמודות ו־18 שורות של תאים, שכל אחד מהם ריבוע בגודל 20 פיקסלים, והנחש נע בכל פעם תא שלם אחד.

עובדים עם תאים וממירים אותם לפיקסלים רק לצורך ציור. התא (col, row) מתחיל בפיקסל (col * 20, row * 20). ציור כל תא כשהוא קטן ב־2 פיקסלים, עם מרווח של פיקסל אחד מכל צד, משאיר רווח דק בין התאים הסמוכים, כך שאפשר לראות את מקטעי הנחש.

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)).

נסו בעצמכם

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 אונליין