Raih Poin dari Permata
Termasuk bagian Perulangan Game dalam perjalanan Pygame di Coddy. Pelajaran 15 dari 35.
Game membutuhkan skor. Simpan skor dalam variabel yang dibuat sebelum perulangan, score = 0, lalu tambahkan 1 dengan score += 1 setiap kali pemain menangkap permata.
Game ini menampilkan skor sebagai baris kotak-kotak kecil, satu untuk setiap poin. Perulangan for menggambar baris berisi apa pun: di sini, tiga lingkaran yang berjarak 30 piksel.
for i in range(3):
pygame.draw.circle(screen, (255, 200, 0), (20 + 30 * i, 20), 10)Pada iterasi pertama, i bernilai 0, lalu 1, lalu 2, sehingga setiap lingkaran berada 30 piksel lebih ke kanan. Dengan range(score), baris bertambah satu setiap kali skor bertambah.
Tantangan
MudahHitung permata dan tampilkan jumlahnya di bagian atas.
- Tambahkan
score = 0sebelum perulangan, lalu tambahkan 1 ke nilainya saat klik mengenai permata. - Setelah menggambar permata, untuk setiap
idalamrange(score), gambar rect berwarna merah muda(240, 110, 180)di(10 + 10 * i, 14, 8, 8).
Tekan tombol “Main” dan tangkap tiga permata: tiga tanda merah muda berbaris di kiri atas. Lalu tekan tombol “Periksa”.
Coba sendiri
import random
import pygame
pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Gem Hunt")
clock = pygame.time.Clock()
gx, gy = 225, 165
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
x, y = event.pos
if gx <= x <= gx + 30 and gy <= y <= gy + 30:
gx = random.randint(15, 435)
gy = random.randint(55, 315)
screen.fill((30, 30, 46))
gem_points = [(gx + 15, gy), (gx + 30, gy + 15), (gx + 15, gy + 30), (gx, gy + 15)]
pygame.draw.polygon(screen, (80, 220, 255), gem_points)
mouse_x, mouse_y = pygame.mouse.get_pos()
pygame.draw.circle(screen, (240, 240, 240), (mouse_x, mouse_y), 10, 2)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Semua pelajaran di Perulangan Game
1Gerakkan Persegi
Buka JendelaIsi Latar Belakang4Bergerak Berdasarkan Waktu
Delta WaktuPiksel per DetikVector2Percepatan dan GesekanBerputar Kembali di LayarLatihan sendiri: Playground Pygame