Class GameEngine
- java.lang.Object
-
- GameEngine
-
public class GameEngine extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private intaCounterRequestMaxprivate intaCounterRequestMaxTotalprivate intaCounterRequestPourcentageprivate java.util.DateaDateprivate java.lang.StringaDateActualStringprivate java.lang.StringaDateBeginStringprivate intaDateEndHoursprivate intaDateEndMinprivate java.lang.StringaDateEndStringprivate UserInterfaceaGuiprivate intaModeJeuprivate ParseraParserprivate PlayeraPlayerprivate java.text.SimpleDateFormataSHoursprivate java.text.SimpleDateFormataSMinprivate java.text.SimpleDateFormataSTimeprivate intaTempsModeJeu1private intaTempsModeJeu2private intaTempsModeJeu3private intbprivate intgprivate intr
-
Constructor Summary
Constructors Constructor Description GameEngine(java.lang.String pNomJoueur, int pModeJeu)Constructeur d'objets de la classe GameEngine
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidback(Command pDirection)Permet de retourner en arrière.private voidcharge(Command pCommand)Permet de charger le beamer.private voidcounterone()Procédure permettant d'incrémenter de 1 le nombre de requêtes qu'a effectué le joueur.private voidcreateRooms()Crée toutes les rooms, initialise leurs images et lie leurs sorties.private voiddrop(Command pCommand)Permet de lacher l'objet attrapé.private voideat(Command pCommand)Pour manger un magiccookie ou un objet.private voidendGame()Arret du jeu : affichage d'un message d'au revoir et arrêt de l'interface graphique.private java.lang.StringendHour(int pMinConseille)endHour pour calculer l'heure finale à partie de l'heure actuelle.private voidenigmes()Permet d'afficher les énigmes présentes dans chaque pièce.private voidgoRoom(Command pCommand)Essaye d'aller dans une direction.voidinterpretCommand(java.lang.String pCommandLine)Prend une commande en paramètre et traite, exécute la commande.voidinventaire()Permet d'afficher l'inventaire des items attrapés et mangés et de leur poids sous forme de liste.private voidlook()Permet d'afficher la description de la pièce courante et d'afficher le nombre de requêtes effectuées (timelimit)private voidprintHelp()Afficher des informations d'aide.private voidprintLocationInfo()Print location info Pour afficher la description de la piece courante dans laquelle se situe le joueur.private voidprintWelcome()Afficher le message de bienvenue au joueur avec toutes les informations nécessaires : - Présentation du jeu et objectifvoidsetGUI(UserInterface pUserInterface)SetGUIprivate voidtake(Command pCommand)Permet de prendre un item.private voidteleport(Command pCommand)Teleportprivate voidtest(Command pCommandFichier)Utilisation de fichiers de test .txt pour vérifier le bon fonctionnement du jeu.private booleantimelimit()Permet de compter le nombre de requetes effectuées par le joueur et d'alerter le joueur lorsqu'il a utilisé plus d'1/3 des commandes et d'arrêter le jeu lorsque le nombre maximal de requêtes autorisées est dépassé.private voidwin()Permet de vérifier si le joueur à gagné ou non et si oui d'afficher un message et d'arrêter le jeu.
-
-
-
Field Detail
-
aGui
private UserInterface aGui
-
aCounterRequestMax
private int aCounterRequestMax
-
aCounterRequestMaxTotal
private int aCounterRequestMaxTotal
-
aCounterRequestPourcentage
private int aCounterRequestPourcentage
-
aModeJeu
private int aModeJeu
-
r
private int r
-
g
private int g
-
b
private int b
-
aSMin
private java.text.SimpleDateFormat aSMin
-
aSHours
private java.text.SimpleDateFormat aSHours
-
aSTime
private java.text.SimpleDateFormat aSTime
-
aDate
private java.util.Date aDate
-
aDateEndMin
private int aDateEndMin
-
aDateEndHours
private int aDateEndHours
-
aDateBeginString
private java.lang.String aDateBeginString
-
aDateEndString
private java.lang.String aDateEndString
-
aDateActualString
private java.lang.String aDateActualString
-
aTempsModeJeu1
private int aTempsModeJeu1
-
aTempsModeJeu2
private int aTempsModeJeu2
-
aTempsModeJeu3
private int aTempsModeJeu3
-
-
Constructor Detail
-
GameEngine
public GameEngine(java.lang.String pNomJoueur, int pModeJeu)
Constructeur d'objets de la classe GameEngine- Parameters:
pNomJoueur- (string)pModeJeu- (int)
-
-
Method Detail
-
setGUI
public void setGUI(UserInterface pUserInterface)
SetGUI
-
printWelcome
private void printWelcome()
Afficher le message de bienvenue au joueur avec toutes les informations nécessaires : - Présentation du jeu et objectif. - Nombre de requêtes maximales (time limit) et temps maximal. - Pièce de départ et commandes.
-
printLocationInfo
private void printLocationInfo()
Print location info Pour afficher la description de la piece courante dans laquelle se situe le joueur.
-
createRooms
private void createRooms()
Crée toutes les rooms, initialise leurs images et lie leurs sorties. Déclaration des items, magiccookies ainsi que du lieu de départ.
-
interpretCommand
public void interpretCommand(java.lang.String pCommandLine)
Prend une commande en paramètre et traite, exécute la commande.- Parameters:
pCommandLine- pour la commande saisie.
-
printHelp
private void printHelp()
Afficher des informations d'aide. Ici nous affichons du texte d'aide ainsi que la liste des mots commande.
-
goRoom
private void goRoom(Command pCommand)
Essaye d'aller dans une direction. S'il y a une sortie, on entre dans la nouvelle pièce, sinon, on affiche un message d'erreur.
-
endGame
private void endGame()
Arret du jeu : affichage d'un message d'au revoir et arrêt de l'interface graphique.
-
back
private void back(Command pDirection)
Permet de retourner en arrière. Vérifie également la présence de trapdoor et bloque le retour en arrière dans ce cas.- Parameters:
pDirection-
-
test
private void test(Command pCommandFichier)
Utilisation de fichiers de test .txt pour vérifier le bon fonctionnement du jeu. Lecture du fichier et exécution des actions résultantes aux instructions du fichier.- Parameters:
pCommandFichier-
-
take
private void take(Command pCommand)
Permet de prendre un item. Vérifie si l'item est bien présent dans la pièce avant de le prendre.- Parameters:
pCommand-
-
drop
private void drop(Command pCommand)
Permet de lacher l'objet attrapé. Appelle les méthodes d'éxécution dans player et affichage.- Parameters:
pCommand-
-
look
private void look()
Permet d'afficher la description de la pièce courante et d'afficher le nombre de requêtes effectuées (timelimit)
-
inventaire
public void inventaire()
Permet d'afficher l'inventaire des items attrapés et mangés et de leur poids sous forme de liste. Affiche également le poids total du joueur + des items cumulés.
-
eat
private void eat(Command pCommand)
Pour manger un magiccookie ou un objet.- Parameters:
pCommand- l'instruction saisie.
-
timelimit
private boolean timelimit()
Permet de compter le nombre de requetes effectuées par le joueur et d'alerter le joueur lorsqu'il a utilisé plus d'1/3 des commandes et d'arrêter le jeu lorsque le nombre maximal de requêtes autorisées est dépassé.
-
counterone
private void counterone()
Procédure permettant d'incrémenter de 1 le nombre de requêtes qu'a effectué le joueur. Permet d'éviter la diplication de code dans interpretCommand().
-
charge
private void charge(Command pCommand)
Permet de charger le beamer.- Parameters:
pCommand- pour l'instruction saisie par le joueur.
-
teleport
private void teleport(Command pCommand)
Teleport- Parameters:
pCommand- pour l'instruction saisie par le joueur.
-
enigmes
private void enigmes()
Permet d'afficher les énigmes présentes dans chaque pièce.
-
win
private void win()
Permet de vérifier si le joueur à gagné ou non et si oui d'afficher un message et d'arrêter le jeu. Prend en compte deux conditions : le nombre de requêtes ainsi que le temps passé sur le jeu.
-
endHour
private java.lang.String endHour(int pMinConseille)
endHour pour calculer l'heure finale à partie de l'heure actuelle.- Parameters:
pMinConseille- un entier qui correspond au temps imparti en minutes.
-
-