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.5Artı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) # 101Görev
OrtaAyın yavaşça kaymasını sağla:
- Değişim bölümünde, her karede
moon_xdeğerine0.5ekle. - 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()
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
2Sayılar ve Değişkenler
Bir Değere İsim VerMatematik İşlemlerini YapHer Karede Hareket EtEkrandaki SözcüklerTam ve Ondalıklı SayılarKendi başına pratik yap: Pygame playground