Nombres entiers et décimaux
Fait partie de la section Python dans une fenêtre de jeu du Journey Pygame de Coddy. Leçon 9 sur 32.
Python a deux types de nombres. Un int est un nombre entier : 3, -40, 640. Un float comporte un point décimal : 0.5, 2.0, 107.25.
Un pixel par image, cela fait 60 pixels par seconde. Pour ralentir le mouvement, ajoute un float :
moon_x = moon_x + 0.5Maintenant, moon_x prend les valeurs 100, 100.5, 101.0, 101.5. pygame dessine aux pixels entiers, donc la lune se déplace d’un pixel toutes les deux images : une lente dérive de 30 pixels par seconde.
Un int plus un float donne un float, et un float affiche toujours son point décimal, comme 101.0. int() transforme un float en int en supprimant ce qui se trouve après le point :
int(101.5) # 101Défi
MoyenFais dériver la lune lentement :
- Dans la partie consacrée aux changements, ajoute
0.5àmoon_xà chaque image. - Affiche l’étiquette sous forme de nombre entier :
f"Moon x: {int(moon_x)}".
Essayez vous-même
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Initialisez les éléments ici, avant la boucle du jeu.
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
# Modifiez les éléments ici, une fois par image.
screen.fill((20, 24, 48))
# Dessinez ici, après le remplissage de l’écran.
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()
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Python dans une fenêtre de jeu
1Votre première fenêtre
Votre premier programmeAfficher un messageLes couleurs en nombresDessiner la Lune2Nombres et variables
Nommer une valeurFaire des calculsDéplacer à chaque imageDes mots à l’écranNombres entiers et décimauxEntraînez-vous par vous-même : Playground Pygame