//================================================================================================== // ANIMATION AVEC TYPESCRIPT Jeu.ts //================================================================================================== // Classe J e u //--------------------------------------------------------------------------------- class Jeu extends Scene { //----------------------------------------------------------------------------------------Attributs /* Declarer ici les attributs de la scene. */ public joueur_ : Joueur; public start_ : Start; public regles_ : Regles; public shop_ : Shop; public objet_ : Objet; public intervalFruit: number; public intervalPoison: number; public intervalPlante: number; public intervalCollision: number; private compteurScore : number; private compteurMonnaie : number; public score_ : Sprite; public monnaie_ : Sprite; private zoneDeJeu_ : Sprite; //-------------------------------------------------------------------------------------Constructeur public constructor(element : HTMLElement) { super(element,false); /* Ecrire ici le code qui initialise la scene. */ //Création de la zone de jeu this.zoneDeJeu_= new Sprite (document.getElementById("jeu")); this.zoneDeJeu_.setWidth(this.getWidth()); this.zoneDeJeu_.setHeight(this.getHeight()); //Gestion des stats this.score_ = new Sprite (document.getElementById("score")); this.compteurScore = 0; this.monnaie_ = new Sprite (document.getElementById("monnaie")); this.compteurMonnaie = 0; } //--------------------------------------------------------------------------------------------start public override start() { /* Ecrire ici le code qui demarre la scene. */ this.start_ = new Start (document.getElementById("starting"), this); } public partieCommencer() { this.creerJoueur(); this.afficherRegles(); this.afficherShop(); this.creerObject(); } public creerJoueur() { this.joueur_ = new Joueur (document.createElement("img"),this); this.joueur_.setImage("img/joe.png",60,80); this.joueur_.setX(this.zoneDeJeu_.getWidth()/2 - this.joueur_.getWidth()/2); this.joueur_.setY(this.zoneDeJeu_.getHeight()/2 - this.joueur_.getHeight()/2); this.appendChild(this.joueur_); this.joueur_.animer(); } public afficherRegles() { this.regles_ = new Regles(document.getElementById("regles"), this); } public afficherShop() { this.shop_ = new Shop(document.getElementById("Shop"), this); } //Création des objets public creerObject() { this.objet_ = new Objet (document.createElement("img"),this); this.intervalFruit = setInterval(() => {this.objet_.creerFruit();}, 3000); this.intervalPoison = setInterval(() => {this.objet_.creerPoison();}, 3000); this.intervalPlante = setInterval(() => {this.objet_.creerPlante();}, 3000); this.intervalCollision = setInterval(() => {this.joueur_.collisionObjet();}, 1000 / 144); } public figerObjet() { clearInterval(this.intervalFruit); clearInterval(this.intervalPoison); clearInterval(this.intervalPlante); clearInterval(this.intervalCollision); } public augmenterScore() { this.compteurScore += 100; this.score_.getElement().textContent = "" + this.compteurScore; console.log(this.compteurScore); } public reduireScore() { this.compteurScore -= 200; this.score_.getElement().textContent = "" + this.compteurScore; console.log(this.compteurScore); } public augmenterMonnaie() { this.compteurMonnaie +=25; this.monnaie_.getElement().textContent = "" + this.compteurMonnaie; console.log(this.compteurMonnaie); } //--------------------------------------------------------------------------------------------pause public override pause() { /* Ecrire ici le code qui met la scene en pause. */ } //------------------------------------------------------------------------------------------unpause public override unpause() { /* Ecrire ici le code qui sort la scene de la pause. */ } //--------------------------------------------------------------------------------------------clean public override clean() { /* Ecrire ici le code qui nettoie la scene en vue d'un redemarrage. */ } } // Fin //-------------------------------------------------------------------------------------------