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.
141 lines
4.3 KiB
141 lines
4.3 KiB
//==================================================================================================
|
|
// 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 //-------------------------------------------------------------------------------------------
|