Menu
CoddyTech

Tam ve Ondalıklı Sayılar

Coddy'nin Pygame Journey'sinin Oyun Penceresinde Python bölümünün bir parçası. Ders 9 / 32.

Python'da iki tür sayı vardır. Bir int tam sayıdır: 3, -40, 640. Bir float ondalık ayırıcı içerir: 0.5, 2.0, 107.25.

Kare başına bir piksel, saniyede 60 pikseldir. Daha yavaş hareket ettirmek için bir float ekle:

moon_x = moon_x + 0.5

Artık moon_x 100, 100.5, 101.0, 101.5 değerlerini alır. pygame tam piksel konumlarında çizim yapar; bu yüzden ay her iki karede bir piksel hareket eder: saniyede 30 piksel hızında yavaş bir kayma.

Bir int ile bir float'ın toplamı bir float verir ve float her zaman 101.0 gibi ondalık ayırıcısını gösterir. int(), noktadan sonrasını atarak bir float'ı int'e dönüştürür:

int(101.5)   # 101
challenge icon

Görev

Orta

Ayın yavaşça kaymasını sağla:

  1. Değişim bölümünde, her karede moon_x değerine 0.5 ekle.
  2. Etiketi tam sayı olarak göster: f"Moon x: {int(moon_x)}".

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ın.
moon_x = 100
moon_y = 200
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ın.

    screen.fill((20, 24, 48))
    # Ekranı doldurduktan sonra çizimi burada yapın.
    pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
    text = font.render(f"Moon x: {moon_x}", True, (230, 230, 240))
    screen.blit(text, (20, 20))

    pygame.display.flip()
    clock.tick(60)

pygame.quit()
quiz iconKendini test et

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

Kendi başına pratik yap: Pygame playground