Menu
CoddyTech

Grid Sel

Pelajaran 19 dari 40 dalam kursus Buat Game dengan Pygame di Coddy.

Snake bergerak di atas grid. Jendelanya memiliki 24 kolom dan 18 baris sel, masing-masing berukuran 20 piksel persegi, dan snake bergerak satu sel penuh setiap kali.

Gunakan sel, lalu ubah menjadi piksel hanya untuk menggambar. Sel (col, row) dimulai pada piksel (col * 20, row * 20). Menggambar setiap sel dengan ukuran 2 piksel lebih kecil, berjarak 1 piksel dari setiap sisi, menyisakan celah tipis antara sel-sel tetangga sehingga kamu bisa melihat segmen snake.

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 membongkar tuple menjadi dua variabel. Simpan angka dalam konstanta seperti CELL, COLS, dan ROWS: kode menunjukkan artinya, dan mengubah salah satunya akan mengubah seluruh game.

challenge icon

Tantangan

Mudah
  1. Di atas perulangan, tulis draw_cell(cell, color), yang menggambar satu sel dengan jarak 1 piksel dari setiap sisi, seperti di atas.
  2. Tetapkan head = (5, 9).
  3. Setelah pengisian, gambar kepala dengan draw_cell(head, (180, 255, 160)).

Coba sendiri

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()
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Buat Game dengan Pygame

Latihan sendiri: Playground Pygame