Skip to main content

Bibliothèque graphique extrêmement simplifliée en français à des fins éducative, basée sur pyray

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adndpg-0.3.0.tar.gz (7.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adndpg-0.3.0-py3-none-any.whl (7.2 MB view details)

Uploaded Python 3

File details

Details for the file adndpg-0.3.0.tar.gz.

File metadata

  • Download URL: adndpg-0.3.0.tar.gz
  • Upload date:
  • Size: 7.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for adndpg-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1ddd33940340a94d2f0d5f17b565e60ea16046f74fb85727c03a71a5b4586d76
MD5 e0e2fa8b4939addce7949f690a5c5ac6
BLAKE2b-256 0261a7a5963be52ea26144062f4d4dc0b3218cfb15a5e7f87277058da7eea5c3

See more details on using hashes here.

File details

Details for the file adndpg-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: adndpg-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for adndpg-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 19b5a50b81f01bc48f56a4069377939147f61650dd272694369fc8e7ba513a07
MD5 b5c11faf0a3dfef21485611a9db3c48b
BLAKE2b-256 360517a4ccacf4ddffca030b2856a23463d33517f25bb02a45092aa9d4e4c69c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page