1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| import java.awt.Graphics;
public class Jeu {
protected Pacman pac;
protected Labyrinthe terrain;
protected int score;
protected VisuPacman vp;
protected VisuFantome vf;
protected boolean bouge;
ListeFantomes liste;
public Jeu(){
liste= new ListeFantomes(this);
pac= new Pacman (this);
terrain = new Labyrinthe();
score = 0;
this.vp = new VisuPacman (this);
bouge = false;
}
public float abscissePacman(){
return pac.getAbscisse();
}
public float ordonneePacman(){
return pac.getOrdonnee();
}
public int getScore(){
return score;
}
public void setScore(int val){
score=val;
}
public boolean testRencontreFantome(){
double distanceAbscisse[]= new double[4];
double distanceOrdonnee[]= new double[4];
int ctr=0;
for(Node n=liste.getFirst(); n!=null; n=n.getNext()){
distanceAbscisse[ctr]=Math.pow(n.getFantome().getAbscisse()-pac.getAbscisse(), 2);
distanceOrdonnee[ctr]=Math.pow(n.getFantome().getOrdonnee()-pac.getOrdonnee(), 2);
ctr++;
}
return ((distanceAbscisse[0]<0.0025 && distanceOrdonnee[0]<0.0025)||(distanceAbscisse[1]<0.0025 && distanceOrdonnee[1]<0.0025)||(distanceAbscisse[2]<0.0025 && distanceOrdonnee[2]<0.0025)||(distanceAbscisse[3]<0.0025 && distanceOrdonnee[3]<0.0025));
}
public boolean testMurHP(){
return (terrain.getValeur(pac.getAbscisseEntier(), pac.getOrdonneeEntier()-1)!='X');
}
public boolean testMurBP(){
return (terrain.getValeur(pac.getAbscisse(), pac.getOrdonnee()+1)!='X');
}
public boolean testMurGP(){
return (terrain.getValeur(pac.getAbscisse()-1, pac.getOrdonnee())!='X');
}
public boolean testMurDP(){
return (terrain.getValeur(pac.getAbscisse()+1, pac.getOrdonnee())!='X');
}
public boolean testPetitePastille(){
return (terrain.getValeur(pac.getAbscisse(), pac.getOrdonnee())=='P');
}
public void mangePetitePastille (){
if (testPetitePastille()){
terrain.setValeur(abscissePacman(), ordonneePacman(),' ');
score+=50;
}
System.out.println (score);
}
public boolean testGrossePastille(){
return terrain.getValeur(pac.getAbscisse(), pac.getOrdonnee())=='G' ;
}
public void mangeGrossePastille (){
if (testGrossePastille()){
terrain.setValeur(abscissePacman(), ordonneePacman(),' ');
score+=100;
}
System.out.println (score);
}
public int grossePastille(){
return (pac.getR());
}
public void demarrage(){
for (Node n=liste.getFirst(); n!=null; n=n.getNext())
n.getFantome().start();
pac.start();
}
public void affiche (Graphics g ){
vp.affiche(g);
for (Node n=liste.getFirst(); n!=null; n=n.getNext())
n.getFantome().getVisu().affiche(g);
}
} |
Partager