adndpg
Bibliothèque graphique simplifiée pour apprendre la programmation d'application et de jeux en Python.
Installation
pip install adndpg
Fenêtre
| Fonction / Membre | Description |
|---|---|
ouvrir_fenetre(titre) |
Ouvre la fenêtre de jeu |
fermer_fenetre() |
Ferme définitivement la fenêtre |
fenetre_est_ouverte() |
True tant que la fenêtre n'est pas fermée |
effacer_ecran(couleur) |
Nettoie l'écran avec une couleur de fond |
redimensionner_fenetre(l, h) |
Change la taille de la fenêtre |
definir_images_par_seconde(fps) |
Change la vitesse de rafraîchissement |
obtenir_temps() |
Donne le nombre de secondes depuis le début |
obtenir_delta() |
Donne le temps écoulé depuis la dernière image |
obtenir_largeur_fenetre() |
Donne la largeur actuelle de l'écran |
obtenir_hauteur_fenetre() |
Donne la hauteur actuelle de l'écran |
Exemple
from adndpg import *
ouvrir_fenetre("Ma Super App")
while fenetre_est_ouverte():
effacer_ecran(BLEU)
# Ton code ici...
fermer_fenetre()
Couleurs
| Fonction / Membre | Description |
|---|---|
ROUGE, BLEU, VERT, JAUNE, NOIR, BLANC, GRIS, ORANGE, VIOLET, ROSE, MARRON, CYAN, TRANSPARENT |
Couleurs prédéfinies |
couleur_aleatoire() |
Choisit une couleur au hasard parmi la liste |
Couleur(r, v, b, a) |
Crée une couleur personnalisée (Rouge, Vert, Bleu, Alpha) de 0 à 255 |
Exemple
from adndpg import *
ma_couleur = Couleur(100, 200, 50, 255)
couleur_du_fond = couleur_aleatoire()
Le Carré
| Fonction / Membre | Description |
|---|---|
Carre(x, y, taille, couleur) |
Crée un nouveau carré |
x, y |
Position du coin haut-gauche |
taille |
Longueur des côtés |
couleur |
Couleur du carré |
rotation |
Angle de rotation en degrés |
visible |
True pour l'afficher, False pour le cacher |
dessiner() |
Affiche le carré à l'écran |
deplacer(dx, dy) |
Fait bouger le carré |
aller_a(x, y) |
Déplace le carré à une position précise |
redimensionner(taille) |
Change la taille |
orienter(degres) |
Change l'angle de rotation |
est_survole() |
True si la souris est sur le carré |
est_clique() |
True si on clique sur le carré |
touche(autre) |
True si le carré touche un autre objet |
Exemple
from adndpg import *
ouvrir_fenetre()
joueur = Carre(100, 100, 40, ROUGE)
while fenetre_est_ouverte():
effacer_ecran(BLANC)
joueur.deplacer(2, 0) # Le carré avance
joueur.rotation += 1 # Le carré tourne sur lui-même
joueur.dessiner()
Le Rectangle
| Fonction / Membre | Description |
|---|---|
Rectangle(x, y, l, h, couleur) |
Crée un nouveau rectangle |
x, y |
Position du coin haut-gauche |
largeur, hauteur |
Dimensions du rectangle |
couleur, rotation, visible |
Style et visibilité |
dessiner(), deplacer(), aller_a() |
Fonctions d'affichage et mouvement |
redimensionner(l, h) |
Change la largeur et la hauteur |
orienter(degres) |
Change l'angle |
est_survole(), est_clique() |
Interactions avec la souris |
touche(autre) |
Détection de collision |
Exemple
from adndpg import *
plateforme = Rectangle(200, 400, 400, 20, GRIS)
while fenetre_est_ouverte():
effacer_ecran(BLANC)
plateforme.dessiner()
if plateforme.est_clique():
plateforme.couleur = VERT
Le Cercle
| Fonction / Membre | Description |
|---|---|
Cercle(x, y, rayon, couleur) |
Crée un nouveau cercle |
x, y |
Position du centre du cercle |
rayon |
Taille du cercle |
couleur, visible |
Style et visibilité |
dessiner(), deplacer(), aller_a() |
Fonctions d'affichage et mouvement |
redimensionner(rayon) |
Change le rayon |
est_survole(), est_clique() |
Interactions avec la souris |
touche(autre) |
Détection de collision |
Exemple
from adndpg import *
balle = Cercle(400, 300, 20, JAUNE)
while fenetre_est_ouverte():
effacer_ecran(NOIR)
balle.aller_a(position_souris()[0], position_souris()[1])
balle.dessiner()
Le Texte
| Fonction / Membre | Description |
|---|---|
Texte(message, x, y, taille, couleur) |
Crée un texte |
contenu |
Le message à afficher (doit être une chaîne de caractères) |
x, y |
Position |
taille |
Taille de la police |
largeur |
(Lecture seule) Largeur du texte en pixels |
dessiner(), deplacer(), aller_a() |
Fonctions d'affichage et mouvement |
Exemple
from adndpg import *
score = 0
ma_bulle = Texte("Score: 0", 20, 20, 30, NOIR)
# Pour changer le texte plus tard :
score += 10
ma_bulle.contenu = "Score: " + str(score)
L'Image
| Fonction / Membre | Description |
|---|---|
Image(chemin, x, y) |
Charge une image depuis ton ordinateur |
x, y |
Position |
largeur, hauteur |
(Lecture seule) Taille originale de l'image |
echelle |
Zoom de l'image (1.0 = normal, 2.0 = double) |
rotation, visible |
Style et visibilité |
dessiner(), deplacer(), aller_a(), orienter() |
Fonctions d'affichage et mouvement |
redimensionner(echelle) |
Change l'échelle de l'image |
est_survole(), est_clique(), touche() |
Interactions et collisions |
Exemple
from adndpg import *
image = Image("assets/image.png", 400, 300)
image.redimensionner(0.5) # Image deux fois plus petite
while fenetre_est_ouverte():
effacer_ecran(BLANC)
image.dessiner()
Clavier et Souris
| Fonction | Description |
|---|---|
touche_appuyee(T) |
True une seule fois quand on appuie sur la touche |
touche_enfoncee(T) |
True tout le temps où la touche est maintenue |
touche_relachee(T) |
True une seule fois quand on relâche la touche |
position_souris() |
Donne les coordonnées (x, y) de la souris |
clic() |
True une seule fois quand on clique (gauche) |
bouton_enfonce(B) |
True tant qu'on maintient le bouton (BOUTON_GAUCHE, BOUTON_DROIT) |
bouton_relache(B) |
True quand on relâche le bouton |
molette() |
Donne le mouvement de la molette (positif ou négatif) |
Exemple
from adndpg import *
while fenetre_est_ouverte():
if touche_enfoncee(DROITE):
print("Tu vas à droite !")
x, y = position_souris()
if clic():
print("Clic en", x, y)
Audio
| Fonction / Membre | Description |
|---|---|
Son(chemin) |
Charge un bruitage court |
Musique(chemin) |
Charge une musique longue |
jouer() |
Démarre la lecture |
arreter() |
Arrête la lecture |
mettre_en_pause() |
(Musique) Suspend la lecture |
reprendre() |
(Musique) Relance après une pause |
continue_a_jouer() |
(Musique) Indispensable dans la boucle while |
est_en_boucle(v) |
(Musique) True pour répéter indéfiniment |
changer_volume(v) |
Change le volume (de 0.0 à 1.0) |
est_en_lecture() |
True si l'audio est en train de jouer |
Exemple
from adndpg import *
bruit = Son("saut.wav")
musique = Musique("fond.mp3")
musique.jouer()
while fenetre_est_ouverte():
musique.continue_a_jouer()
if touche_appuyee(ESPACE):
bruit.jouer()
Tu as tous les outils pour commencer ton programme. La section ci-dessous ne te concerne pas.
Guide de maintenance du paquet
Installation
pip install -e .
Lancer les tests visuels
python tests/lancer_tests.py
ESPACE = continuer | ECHAP = quitter
Pour publier une nouvelle version
Mettre à jour la version dans src/adndpg/__init__.py
__version__ = "X.X.X"
Sur Github, penser à faire une release manuellement pour lancer la CI qui publiera la version sur PyPi.
Metadata
Release files for adndpg 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| adndpg-0.3.0.tar.gz | 7.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| adndpg-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.5 MB
Release files / adndpg-0.3.0.tar.gz
| Download URL | adndpg-0.3.0.tar.gz |
|---|---|
| Size | 7.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1ddd33940340a94d2f0d5f17b565e60ea16046f74fb85727c03a71a5b4586d76
|
|
BLAKE2b-256 checksum How to use checksums |
0261a7a5963be52ea26144062f4d4dc0b3218cfb15a5e7f87277058da7eea5c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|
Release files / adndpg-0.3.0-py3-none-any.whl
| Download URL | adndpg-0.3.0-py3-none-any.whl |
|---|---|
| Size | 7.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
19b5a50b81f01bc48f56a4069377939147f61650dd272694369fc8e7ba513a07
|
|
BLAKE2b-256 checksum How to use checksums |
360517a4ccacf4ddffca030b2856a23463d33517f25bb02a45092aa9d4e4c69c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.14
|