Kenardan Sarma
Coddy'nin Pygame Journey'sinin Oyun Penceresinde Python bölümünün bir parçası. Ders 10 / 32.
Bir if, satırlarını yalnızca bir koşul doğru olduğunda çalıştırır:
if comet_x > 640:
comet_x = 0Koşul iki noktayla biter. Altındaki satırlar 4 boşluk girintilidir: if bloğuna aittirler. Python, koşulu her karede denetler. Kuyruklu yıldız pencerenin içindeyken koşul yanlıştır ve hiçbir şey olmaz. Kuyruklu yıldız sağ kenarı geçtiğinde koşul doğru olur ve kuyruklu yıldız sola geri döner.
Bir karşılaştırma ya True ya da False sonucunu verir. > büyüktür, < küçüktür anlamına gelir ve == iki değerin eşit olup olmadığını sorar. Tek bir = değer atar; iki tanesi karşılaştırma yapar.
> 640 gibi bir aralığı denetle, tek bir kesin değeri değil. Kuyruklu yıldız 50'den başlar ve her karede 3 piksel ilerler: 635, 638, 641. Hiçbir zaman 640'a ulaşmaz; bu yüzden comet_x == 640 hiçbir zaman doğru olmaz.
Görev
KolayKuyruklu yıldızı hareket ettiren satırdan sonra bir if ekle: comet_x, 640 değerinden büyük olduğunda comet_x değerini 0 olarak ayarla. Böylece kuyruklu yıldız pencerede tekrar tekrar uçar.
Kendin dene
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Oyun döngüsünden önce gerekli ayarları burada yap.
moon_x = 160
moon_y = 120
comet_x = 50
comet_y = 200
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Her karede bir kez değişiklikleri burada yap.
comet_x = comet_x + 3
screen.fill((20, 24, 48))
# Ekranı doldurduktan sonra burada çizim yap.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.draw.circle(screen, (120, 200, 255), (comet_x, comet_y), 8)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Oyun Penceresinde Python bölümündeki tüm dersler
Kendi başına pratik yap: Pygame playground