Menu
CoddyTech

Số nguyên và số thực

Thuộc phần Python trong cửa sổ trò chơi trong hành trình Pygame của Coddy. Bài học 10 trên 33.

Python có hai loại số. int là số nguyên: 3, -40, 640. float có dấu thập phân: 0.5, 2.0, 107.25.

Mỗi khung hình di chuyển một pixel tương đương 60 pixel mỗi giây. Để di chuyển chậm hơn, hãy cộng thêm một số thực:

moon_x = moon_x + 0.5

Lúc này, moon_x lần lượt nhận các giá trị 100, 100.5, 101.0, 101.5. pygame vẽ ở các tọa độ pixel nguyên, nên mặt trăng di chuyển một pixel sau mỗi hai khung hình: trôi chậm, 30 pixel mỗi giây.

Cộng một số nguyên với một số thực sẽ cho ra một số thực, và số thực luôn hiển thị dấu thập phân, chẳng hạn như 101.0. int() chuyển số thực thành số nguyên bằng cách bỏ phần sau dấu thập phân:

int(101.5)   # 101
challenge icon

Thử thách

Trung bình

Hãy làm cho mặt trăng trôi chậm.

  1. Trong phần thay đổi, cộng thêm 0.5 vào moon_x sau mỗi khung hình.
  2. Hiển thị nhãn dưới dạng số nguyên: f"Moon x: {int(moon_x)}".

Nhấn Chơi: mặt trăng trôi và nhãn hiển thị các số nguyên. Sau đó nhấn Kiểm tra.

Tự làm thử

import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()

# Thiết lập mọi thứ ở đây, trước vòng lặp trò chơi.
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

    # Thay đổi mọi thứ ở đây sau mỗi khung hình.

    screen.fill((20, 24, 48))
    # Vẽ ở đây, sau khi tô nề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 iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Python trong cửa sổ trò chơi

Tự luyện tập: Playground Pygame