פנה בעזרת החצים
שיעור 21 מתוך 40 בקורס יוצרים משחקים עם Pygame של Coddy.
הנחש פונה פעם אחת בכל לחיצה על מקש, לכן קראו את החצים מתוך אירועי KEYDOWN. מילון ממפה כל מקש חץ לכיוון שלו:
TURNS = {
pygame.K_LEFT: (-1, 0),
pygame.K_RIGHT: (1, 0),
pygame.K_UP: (0, -1),
pygame.K_DOWN: (0, 1),
}event.key in TURNS הוא true עבור ארבעת החצים, ו-TURNS[event.key] הוא הכיוון החדש. בדיקה אחת מחליפה ארבע פקודות if:
elif event.type == pygame.KEYDOWN and event.key in TURNS:
direction = TURNS[event.key]למעלה הוא (0, -1): השורות נספרות כלפי מטה בחלון, כמו פיקסלים.
אתגר
קל- מעל
pygame.init(), הוסף את המילוןTURNSעבור ארבעת החצים. - בלולאת האירועים, כאשר המקש של אירוע KEYDOWN נמצא ב-
TURNS, הגדר אתdirectionלערך שלו.
נסו בעצמכם
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()
def draw_cell(cell, color):
col, row = cell
pygame.draw.rect(screen, color, (col * CELL + 1, row * CELL + 1, CELL - 2, CELL - 2))
head = (5, 9)
direction = (1, 0)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
head = (head[0] + direction[0], head[1] + direction[1])
screen.fill((30, 30, 46))
draw_cell(head, (180, 255, 160))
pygame.display.flip()
clock.tick(10)
pygame.quit()
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יוצרים משחקים עם Pygame
3רשתות ורשימות
רשת של תאיםצעד אחר צעדתרגלו בעצמכם: Pygame אונליין