Menu
CoddyTech

Mücevherleri Puanla

Coddy'nin Pygame Journey'sinin Oyun Döngüsü bölümünün bir parçası. Ders 15 / 35.

Bir oyunun puana ihtiyacı vardır. Puanı döngüden önce oluşturulan bir değişkende tut: score = 0 ve oyuncu her mücevher yakaladığında score += 1 ile 1 ekle.

Bu oyun, puanı her puan için bir tane olmak üzere küçük karelerden oluşan bir sıra halinde gösterir. Bir for döngüsü, herhangi bir şeyden oluşan bir sıra çizer: burada, aralarında 30 piksel olan üç daire.

for i in range(3):
    pygame.draw.circle(screen, (255, 200, 0), (20 + 30 * i, 20), 10)

İlk yinelemede i 0, sonra 1, ardından 2 olur; böylece her daire bir öncekinden 30 piksel daha sağda yer alır. range(score) kullanıldığında puan her arttığında sıra da bir kare büyür.

challenge icon

Görev

Kolay

Elmasları say ve sayıyı üstte göster.

  1. Döngüden önce score = 0 ekle ve tıklama elmasa isabet ettiğinde bu değeri 1 artır.
  2. Elması çizdikten sonra, range(score) içindeki her i için (10 + 10 * i, 14, 8, 8) konumunda pembe (240, 110, 180) bir dikdörtgen çiz.

“Oyna” düğmesine bas ve üç elmas yakala: sol üstte üç pembe işaret sıralanır. Ardından “Kontrol et” düğmesine bas.

Kendin dene

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()

Oyun Döngüsü bölümündeki tüm dersler

Kendi başına pratik yap: Pygame playground