Rastgele Sayılar
Coddy'nin Pygame Journey'sinin Oyun Penceresinde Python bölümünün bir parçası. Ders 28 / 32.
Python'ın random modülü sayıları rastgele seçer. Programın başında, import pygame satırının üstüne veya altına içe aktarın:
import randomrandom.randint(a, b), a ile b arasından (iki uç değer de dahil) bir tam sayı verir. random.choice(items), bir listeden bir öğe seçer:
x = random.randint(20, 620)
size = random.choice([3, 4, 5])Her çağrıda yeniden seçim yapılır; bu yüzden yeni bir değere ihtiyaç duyduğunuz anda çağırın. Space tuşuna basıldığında yerleştirilen bir yıldız:
if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
x = random.randint(20, 620)
y = random.randint(60, 300)
stars.append((x, y))stars.append((x, y)) içindeki çift parantezlere dikkat edin: append tek bir öğe alır ve bu öğe (x, y) demetidir. Bunun yerine oyun döngüsünden önce x ve y değerlerini bir kez seçerseniz, her yıldız aynı noktaya düşer.
Görev
OrtaBoşluk tuşuyla yıldızları saç:
- En üste
import randomekle. K_SPACEiçin birKEYDOWNolayı geldiğinde,x = random.randint(20, 620)vey = random.randint(60, 300)değerlerini seç ve(x, y)değerinistarslistesine ekle.- Tıklamalar, önceki gibi yıldız eklemeye devam etsin.
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 hazırlıkları burada yap.
stars = []
font = pygame.font.Font(None, 36)
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.MOUSEBUTTONDOWN:
stars.append(event.pos)
# Her karede değişiklikleri burada yap.
screen.fill((20, 24, 48))
# Ekranı doldurduktan sonra burada çizim yap.
for star in stars:
pygame.draw.circle(screen, (255, 255, 255), star, 5)
text = font.render(f"Stars: {len(stars)}", 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
6Şeylerin Listeleri
Yıldızların ListesiEklemek için Tıklalen ile SayBir Yıldızı KaldırRastgele SayılarKendi başına pratik yap: Pygame playground