PR3S02 : PROJET JEU D’AVENTURE Evaluation finale MAISONNEUVE Frederic SEBBAHB Benjamin PREZAT Fabien EXERCICES Chapitre 7 7.27 : 7.28 : 7.38 : La fonction transporter le joueur dans une pièce aléatoirement a été implémentée dans GameEngine : /* * Permet d'aller dans une pièce au hasard */ public void randomRoomPlayer(){ int rd=randroom.nextInt(10); if(rd==0) player.setCurrentRoom(chambre); if(rd==1) player.setCurrentRoom( sallebain); if(rd==2) player.setCurrentRoom(escaliers); if(rd==3) player.setCurrentRoom(ascenseur); if(rd==4) player.setCurrentRoom(rue); if(rd==5) player.setCurrentRoom(accident); if(rd==6) player.setCurrentRoom(cirque); if(rd==7) player.setCurrentRoom( bouchon); if(rd==8) player.setCurrentRoom(bar); if(rd==9) player.setCurrentRoom(mairie); //on tire un nombre aléatoirement //à chaque nombre on associe une pièce gui.println(player.getCurrentRoom().getLongDescription()); if(player.getCurrentRoom().getImageName() != null) gui.showImage(player.getCurrentRoom().getImageName()); pile.clear(); //interdiction de faire demi-tour gui.getNav().update(); //mise à jour du navigateur } 7.39 : 7.42 : Il y a quatre méthodes qui permettent d’obtenir le max de deux valeurs. Celles-ci dépendent du type choisi pour les paramètres d’entrées : _double _float _int _long import java.lang.Math Méthode : public static int max(int a,int b) signature static int 7.43 : 7.44 : import java.lang.System; import java.util.*; public class howLong { private int A; private int B; public howLong() { A = 0; B = 0; } public long timeMeasure() { long debut; debut = System.currentTimeMillis(); for(int i=0;i<100000000;i++){A=A+B;} long fin; fin=System.currentTimeMillis(); return fin-debut; //dans cet exemple retourne 235 millisecondes } } currentTimeMillis() retourne la différence , mesurée en millisecondes ,entre l’heure courante et minuit, Janvier 1, 1970 UTC. Il s’agit donc de réaliser la différence entre le currentTimeMillis d’entrée et de sortie de boucle.