Menu
CoddyTech

רשת של תאים

שיעור 19 מתוך 41 בקורס צרו משחקים עם Pygame של Coddy.

הנחש נע על גבי רשת. החלון מורכב מ־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)).

לחצו על "שחק": תא ירוק מופיע בצד שמאל של שורה 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

תרגלו בעצמכם: Pygame אונליין