Browse Source

Mise à jour de 'README.md'

master
EnoxX-FiRe 2 months ago
parent
commit
c8edadf8d6
  1. 190
      README.md

190
README.md

@ -1,104 +1,96 @@
# ProjetPyxel2 ##PYTHON##
''' ''' Programme pyxel inspiré d'un tutoriel en ligne de "la Nuit du Code" https://nuit-du-code.forge.apps.education.fr/DOCUMENTATION/PYTHON/01-presentation/ https://www.cahiernum.net/KV8H5B Licence GNU (https://github.com/nuitducode/DOCUMENTATION/blob/main/LICENSE)
Programme pyxel inspiré d'un tutoriel en ligne de "la Nuit du Code"
https://nuit-du-code.forge.apps.education.fr/DOCUMENTATION/PYTHON/01-presentation/ Module basé sur une architecture MVC (modèle-vue-controleur) globale et également intégrée aux objets.
https://www.cahiernum.net/KV8H5B
Licence GNU (https://github.com/nuitducode/DOCUMENTATION/blob/main/LICENSE) '''
Module basé sur une architecture MVC (modèle-vue-controleur) globale et également intégrée aux objets. #Importation
import pyxel
''' import random
# Importation #Constantes
COULEUR_PERE_NOEL = 1
import pyxel COULEUR_TIR = 10
import random COULEUR_ENNEMI = 8
#Déclaration des classes
# Constantes
COULEUR_PERE_NOEL = 1
COULEUR_TIR = 10
COULEUR_ENNEMI = 8
# Déclaration des classes
class Perenoel:
"""Classe intégrant la gestion du Modèle et de la Vue relative au Perenoel du joueur.""" """Classe intégrant la gestion du Modèle et de la Vue relative au Perenoel du joueur."""
class Perenoel:
def __init__(self, couleur:int=COULEUR_PERE_NOEL) -> None:
self.x = 60 # coordonnée x du coin haut à gauche du carré def __init__(self, couleur:int=COULEUR_PERE_NOEL) -> None:
self.y = 60 # coordonnée y du coin haut à gauche du carré self.x = 60 # coordonnée x du coin haut à gauche du carré
self.couleur = couleur # couleur du vaisseau à l'écran self.y = 60 # coordonnée y du coin haut à gauche du carré
self.couleur = couleur # couleur du vaisseau à l'écran
def set_x(self:'Perenoel', dx:int) -> None:
"""Déplace le Perenoel à gauche si dx positif, à droite si négatif""" def set_x(self:'Perenoel', dx:int) -> None:
self.x = self.x + dx """Déplace le Perenoel à gauche si dx positif, à droite si négatif"""
if self.x < 0: self.x = self.x + dx
self.x = 0 if self.x < 0:
elif self.x >= 120: self.x = 0
self.x = 120 elif self.x >= 120:
self.x = 120
def set_y(self:'Perenoel', dy:int) -> None:
"""Déplace le Perenoel en bas si dy positif, en haut si négatif""" def set_y(self:'Perenoel', dy:int) -> None:
self.y = self.y + dy """Déplace le Perenoel en bas si dy positif, en haut si négatif"""
if self.y < 0: self.y = self.y + dy
self.y = 0 if self.y < 0:
elif self.y >= 120: self.y = 0
self.y = 120 elif self.y >= 120:
self.y = 120
def get_coord(self:'Perenoel') -> tuple[int, int]:
"""Renvoie le couple (x, y) qui contient les coordonnées (du coin haut gauche) du Perenoel"""
return (self.x, self.y)
def afficher(self:'Perenoel') -> None:
"""Affiche le Perenoel"""
pyxel.blt(self.x, self.y, 23, 68, 0, 15, 25)
# (..., 0, 0, 0, 8, 8) car Image 0 à partir de (0;0) de taille 8*8
class Joueur:
"""Classe intégrant la gestion du Modèle relative au joueur."""
def __init__(self, perenoel:'Perenoel', vies:int) -> None:
self.vies = vies # A 0, le joueur a perdu
self.perenoel = perenoel # L'instance de Vaisseau du joueur
def est_vivant(self:'Joueur') -> bool:
"""Prédicat qui renvoie vrai si le joueur a encore des vies"""
return self.vies > 0
def get_vies(self:'Joueur') -> int:
"""Renvoie le nombre de vies du joueur"""
return self.vies
def perd_une_vie(self:'Joueur') -> None:
"""Fait perdre une vie au joueur mais en imposant un minimum de 0"""
self.vies = self.vies - 1
if self.vies < 0:
self.vies = 0
class Jeu:
"""Classe intégrant la gestion du jeu."""
def __init__(self) -> None:
# Création de la fenêtre graphique
pyxel.init(128, 128, title="Nuit du c0de")
pyxel.load("bjr.pyxres")
# Initialisation des données du jeu
self.perenoel = Perenoel()
self.joueur = Joueur(self.Perenoel, 4)
self.tirs = [] # Tableau des tirs
self.ennemis = [] # Tableau des ennemis présents
self.explosions = [] # Tableau des explosions
# Lancement de l'alternance 30x par seconde entre controleur et vue
pyxel.run(self.controler, self.afficher)
def get_coord(self:'Perenoel') -> tuple[int, int]:
"""Renvoie le couple (x, y) qui contient les coordonnées (du coin haut gauche) du Perenoel"""
return (self.x, self.y)
def afficher(self:'Perenoel') -> None:
"""Affiche le Perenoel"""
pyxel.blt(self.x, self.y, 0, 23, 68, 16, 25)
print("bonjour")
# (..., 0, 0, 0, 8, 8) car Image 0 à partir de (0;0) de taille 8*8)
"""Classe intégrant la gestion du Modèle relative au joueur."""
class Joueur:
def __init__(self, perenoel:'Perenoel', vies:int) -> None:
self.vies = vies # A 0, le joueur a perdu
self.perenoel = perenoel # L'instance de Vaisseau du joueur
def est_vivant(self:'Joueur') -> bool:
"""Prédicat qui renvoie vrai si le joueur a encore des vies"""
return self.vies > 0
def get_vies(self:'Joueur') -> int:
"""Renvoie le nombre de vies du joueur"""
return self.vies
def perd_une_vie(self:'Joueur') -> None:
"""Fait perdre une vie au joueur mais en imposant un minimum de 0"""
self.vies = self.vies - 1
if self.vies < 0:
self.vies = 0
"""Classe intégrant la gestion du jeu."""
class Jeu:
def __init__(self) -> None:
# Création de la fenêtre graphique
pyxel.init(128, 128, title="Nuit du c0de")
pyxel.load("bjrr.pyxres")
# Initialisation des données du jeu
self.perenoel = Perenoel()
self.joueur = Joueur(self.perenoel, 4)
self.tirs = [] # Tableau des tirs
self.ennemis = [] # Tableau des ennemis présents
self.explosions = [] # Tableau des explosions
# Lancement de l'alternance 30x par seconde entre controleur et vue
pyxel.run(self.controler, self.afficher)
def controler(self):
pass
def afficher(self:'Jeu') -> None: def afficher(self:'Jeu') -> None:
self.perenoel.afficher() self.perenoel.afficher()
j = Jeu()
application = Jeu()

Loading…
Cancel
Save