Grid Petak
Termasuk bagian Proyek dalam perjalanan Pygame di Coddy. Pelajaran 1 dari 31.
Snake bergerak di atas grid. Jendela ini terdiri dari 24 kolom dan 18 baris sel, masing-masing berukuran 20 piksel persegi, dan Snake bergerak satu sel penuh setiap kali.
Kerjakan dalam satuan sel dan ubah menjadi piksel hanya untuk menggambar. Sel (col, row) dimulai pada piksel (col * 20, row * 20). Dengan menggambar setiap sel 2 piksel lebih kecil dan memberi jarak 1 piksel dari setiap sisi, akan tersisa celah tipis di antara sel-sel yang bersebelahan sehingga kamu dapat 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-angka dalam konstanta seperti CELL, COLS dan ROWS: kode ini menjelaskan arti konstanta tersebut, dan mengubah salah satunya akan mengubah seluruh game.
Tantangan
Mudah- Di atas perulangan, tulis
draw_cell(cell, color), yang menggambar satu sel dengan jarak 1 piksel dari setiap sisi, seperti di atas. - Tetapkan
head = (5, 9). - 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()
Semua pelajaran di Proyek
Latihan sendiri: Playground Pygame