You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.9 KiB
76 lines
1.9 KiB
# Pyxel Studio |
|
# Importations ============================================================ |
|
|
|
import pyxel |
|
import random as rd |
|
|
|
# CONSTANTES et variables globales lues directement ========================= |
|
|
|
|
|
|
|
# Déclaration des classes |
|
class Chien : |
|
|
|
def __init__(self) -> None: |
|
self.x = 60 # coordonnée x du coin haut à gauche du carré |
|
self.y = 60 # coordonnée y du coin haut à gauche du carré |
|
|
|
def afficher(self:'Chien') -> None: |
|
"""Affiche le chien""" |
|
pyxel.blt(self.x, self.y, 0, 0, 0, 8, 8) |
|
|
|
class Joueur : |
|
|
|
def __init__(self,chien:'Chien') : |
|
self.chien = chien |
|
|
|
|
|
class Maitre : |
|
def __init__(self) : |
|
self.posx = rd.randint(0,XMAX) |
|
self.posy = rd.randint(0,YMAX) |
|
self.ori = |
|
|
|
class Poule : |
|
pass |
|
|
|
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="Projet chien") |
|
pyxel.load("res.pyxres") |
|
|
|
self.chien = Chien() |
|
self.joueur = Joueur |
|
pyxel.run(self.controler, self.afficher) |
|
|
|
def controler(self:'Jeu') -> None: |
|
"""déplacement avec les touches de directions""" |
|
|
|
self.se_deplacer() |
|
|
|
self.croc() |
|
self.deplacer_ennemis() |
|
self.supprimer_ennemis_touches() |
|
|
|
def se_deplacer(self:'Jeu')->None : |
|
if pyxel.btn(pyxel.KEY_RIGHT) : |
|
self.chien.set_x(2) |
|
if pyxel.btn(pyxel.KEY_LEFT) : |
|
self.chien.set_x(-2) |
|
if pyxel.btn(pyxel.KEY_DOWN) : |
|
self.chien.set_y(2) |
|
if pyxel.btn(pyxel.KEY_TOP) : |
|
self.chien.set_y(-2) |
|
|
|
def afficher(self:'Jeu') : |
|
|
|
pyxel.cls(0) # efface le contenu de la fenetre |
|
|
|
self.chien.afficher() |
|
|
|
# Programme Principal ! |
|
|
|
application = Jeu() |