While ile Say
Coddy'nin Pygame Journey'sinin Oyun Penceresinde Python bölümünün bir parçası. Ders 19 / 32.
while döngüsü, koşulu doğru olduğu sürece yinelenir. Kaç kez döneceğini önceden bilmiyorsan bunu kullan:
radius = 200
rings = 0
while radius > 10:
pygame.draw.circle(screen, (150, 190, 255), (320, 240), radius, 2)
radius = radius // 2
rings = rings + 1Yarıçap her seferinde yarıya iner: 200, 100, 50, 25, 12. // böler ve ondalık noktadan sonrasını atar; bu yüzden 25 // 2, 12'dir. Sonra değer 6 olur, koşul yanlış hâle gelir ve döngü 5 halkadan sonra sona erer. rings bunları sayar. Daire çağrısındaki beşinci sayı olan 2, dolu bir daire yerine 2 piksel genişliğinde bir dış çizgi çizer.
Oyun döngüsü de bir while döngüsüdür; pencereyi kapatana kadar çalışır. Bir karenin içindeki while döngüsü hızlıca sona ermelidir, yoksa kare hiç bitmez. Yarıçapı yarıya indiren satırı çıkarırsan koşul sonsuza dek doğru kalır: oyun donar ve Check, oyunun ilk karesine hiç ulaşmadığını söyler.
Görev
OrtaÇizim bölümünde tek halkayı bir while döngüsüyle değiştir:
radius = 200verings = 0ile başla.radius > 10olduğu sürece: rengi(150, 190, 255)olan, genişliği 2 olan ve merkezi (320, 240) noktasında bulunan bir halka dış çizgisi çiz; yarıçapı//ile yarıya indir;ringsdeğerini 1 artır.- Döngüden sonra
f"Rings: {rings}"metnini (20, 20) noktasında göster. Bu,Rings: 5olarak okunur.
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.
font = pygame.font.Font(None, 36)
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.
screen.fill((20, 24, 48))
# Ekranı doldurduktan sonra burada çizim yap.
pygame.draw.circle(screen, (150, 190, 255), (320, 240), 200, 2)
text = font.render("Rings: 1", True, (230, 230, 240))
screen.blit(text, (20, 20))
pygame.display.flip()
clock.tick(60)
pygame.quit()
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Oyun Penceresinde Python bölümündeki tüm dersler
4Çizen Döngüler
For ile TekrarlaBaşlangıç, Bitiş ve AdımDöngü Değişkenini Kullanİç İçe DöngüWhile ile SayKendi başına pratik yap: Pygame playground