רשת של תאים
שיעור 19 מתוך 40 בקורס יוצרים משחקים עם 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: הקוד מסביר מה המשמעות שלהם, ושינוי של אחד מהם משנה את המשחק כולו.
אתגר
קל- מעל ללולאה, כתוב
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
תרגלו בעצמכם: Pygame אונליין