3 public int[] pacMenX;
\r
4 public int[] pacMenY;
\r
5 public int[] ghostsX;
\r
6 public int[] ghostsY;
\r
7 public int[] targets;
\r
10 public Ghost[] ghosts;
\r
11 public Pacman[] pacmen;
\r
13 public int nrofghosts;
\r
14 public int nrofpacs;
\r
15 private int nrofblocks;
\r
16 //public boolean toupdate;
\r
17 public int ghostcount;
\r
18 public int paccount;
\r
19 public int deathcount;
\r
23 public Map(int nrofpacs, int nrofghosts) {
\r
24 //System.printString("step 1\n");
\r
25 this.nrofblocks = 15;
\r
26 this.map = new int[this.nrofblocks*this.nrofblocks];
\r
27 this.nrofpacs = nrofpacs;
\r
28 this.nrofghosts = nrofghosts;
\r
29 this.pacMenX = new int[this.nrofpacs];
\r
30 this.pacMenY = new int[this.nrofpacs];
\r
31 this.ghostsX = new int[this.nrofghosts];
\r
32 this.ghostsY = new int[this.nrofghosts];
\r
33 this.targets = new int[this.nrofghosts];
\r
34 this.desX = new int[this.nrofpacs];
\r
35 this.desY = new int[this.nrofpacs];
\r
36 this.ghosts = new Ghost[this.nrofghosts];
\r
37 this.pacmen = new Pacman[this.nrofpacs];
\r
38 //this.toupdate = false;
\r
39 this.ghostcount = 0;
\r
41 this.deathcount = 0;
\r
42 this.r = new Random();
\r
44 //System.printString("step 2\n");
\r
45 for(int i = 0; i < this.nrofpacs; i++) {
\r
46 this.pacMenX[i] = this.pacMenY[i] = -1;
\r
47 this.desX[i] = this.desY[i] = -1;
\r
48 this.pacmen[i] = null;
\r
50 //System.printString("step 3\n");
\r
51 for(int i = 0; i < this.nrofghosts; i++) {
\r
52 this.ghostsX[i] = this.ghostsY[i] = -1;
\r
53 this.targets[i] = -1;
\r
54 this.ghosts[i] = null;
\r
56 //System.printString("step 4\n");
\r
59 public void init() {
\r
61 this.map[i++]=3;this.map[i++]=10;this.map[i++]=10;this.map[i++]=6;this.map[i++]=9;this.map[i++]=12;this.map[i++]=3;this.map[i++]=10;this.map[i++]=6;this.map[i++]=9;this.map[i++]=12;this.map[i++]=3;this.map[i++]=10;this.map[i++]=10;this.map[i++]=6;
\r
62 this.map[i++]=5;this.map[i++]=11;this.map[i++]=14;this.map[i++]=1;this.map[i++]=10;this.map[i++]=10;this.map[i++]=4;this.map[i++]=15;this.map[i++]=1;this.map[i++]=10;this.map[i++]=10;this.map[i++]=4;this.map[i++]=11;this.map[i++]=14;this.map[i++]=5;
\r
63 this.map[i++]=1;this.map[i++]=10;this.map[i++]=10;this.map[i++]=4;this.map[i++]=11;this.map[i++]=6;this.map[i++]=1;this.map[i++]=10;this.map[i++]=4;this.map[i++]=3;this.map[i++]=14;this.map[i++]=1;this.map[i++]=10;this.map[i++]=10;this.map[i++]=4;
\r
64 this.map[i++]=5;this.map[i++]=3;this.map[i++]=6;this.map[i++]=9;this.map[i++]=6;this.map[i++]=5;this.map[i++]=5;this.map[i++]=7;this.map[i++]=5;this.map[i++]=5;this.map[i++]=3;this.map[i++]=12;this.map[i++]=3;this.map[i++]=6;this.map[i++]=5;
\r
65 this.map[i++]=5;this.map[i++]=9;this.map[i++]=8;this.map[i++]=14;this.map[i++]=5;this.map[i++]=13;this.map[i++]=5;this.map[i++]=5;this.map[i++]=5;this.map[i++]=13;this.map[i++]=5;this.map[i++]=11;this.map[i++]=8;this.map[i++]=12;this.map[i++]=5;
\r
66 this.map[i++]=9;this.map[i++]=2;this.map[i++]=10;this.map[i++]=2;this.map[i++]=8;this.map[i++]=2;this.map[i++]=12;this.map[i++]=5;this.map[i++]=9;this.map[i++]=2;this.map[i++]=8;this.map[i++]=2;this.map[i++]=10;this.map[i++]=2;this.map[i++]=12;
\r
67 this.map[i++]=6;this.map[i++]=5;this.map[i++]=7;this.map[i++]=5;this.map[i++]=7;this.map[i++]=5;this.map[i++]=11;this.map[i++]=8;this.map[i++]=14;this.map[i++]=5;this.map[i++]=7;this.map[i++]=5;this.map[i++]=7;this.map[i++]=5;this.map[i++]=3;
\r
68 this.map[i++]=4;this.map[i++]=5;this.map[i++]=5;this.map[i++]=5;this.map[i++]=5;this.map[i++]=5;this.map[i++]=10;this.map[i++]=10;this.map[i++]=10;this.map[i++]=5;this.map[i++]=5;this.map[i++]=5;this.map[i++]=5;this.map[i++]=5;this.map[i++]=1;
\r
69 this.map[i++]=12;this.map[i++]=5;this.map[i++]=13;this.map[i++]=5;this.map[i++]=13;this.map[i++]=5;this.map[i++]=11;this.map[i++]=10;this.map[i++]=14;this.map[i++]=5;this.map[i++]=13;this.map[i++]=5;this.map[i++]=13;this.map[i++]=5;this.map[i++]=9;
\r
70 this.map[i++]=3;this.map[i++]=8;this.map[i++]=10;this.map[i++]=8;this.map[i++]=10;this.map[i++]=0;this.map[i++]=10;this.map[i++]=2;this.map[i++]=10;this.map[i++]=0;this.map[i++]=10;this.map[i++]=8;this.map[i++]=10;this.map[i++]=8;this.map[i++]=6;
\r
71 this.map[i++]=5;this.map[i++]=3;this.map[i++]=2;this.map[i++]=2;this.map[i++]=6;this.map[i++]=5;this.map[i++]=15;this.map[i++]=5;this.map[i++]=15;this.map[i++]=5;this.map[i++]=3;this.map[i++]=2;this.map[i++]=2;this.map[i++]=6;this.map[i++]=5;
\r
72 this.map[i++]=5;this.map[i++]=9;this.map[i++]=8;this.map[i++]=8;this.map[i++]=4;this.map[i++]=1;this.map[i++]=10;this.map[i++]=8;this.map[i++]=10;this.map[i++]=4;this.map[i++]=1;this.map[i++]=8;this.map[i++]=8;this.map[i++]=12;this.map[i++]=5;
\r
73 this.map[i++]=1;this.map[i++]=10;this.map[i++]=10;this.map[i++]=6;this.map[i++]=13;this.map[i++]=5;this.map[i++]=11;this.map[i++]=2;this.map[i++]=14;this.map[i++]=5;this.map[i++]=13;this.map[i++]=3;this.map[i++]=10;this.map[i++]=10;this.map[i++]=4;
\r
74 this.map[i++]=5;this.map[i++]=11;this.map[i++]=14;this.map[i++]=1;this.map[i++]=10;this.map[i++]=8;this.map[i++]=6;this.map[i++]=13;this.map[i++]=3;this.map[i++]=8;this.map[i++]=10;this.map[i++]=4;this.map[i++]=11;this.map[i++]=14;this.map[i++]=5;
\r
75 this.map[i++]=9;this.map[i++]=10;this.map[i++]=10;this.map[i++]=12;this.map[i++]=3;this.map[i++]=6;this.map[i++]=9;this.map[i++]=10;this.map[i++]=12;this.map[i++]=3;this.map[i++]=6;this.map[i++]=9;this.map[i++]=10;this.map[i++]=10;this.map[i++]=12; // 15*15
\r
78 public void placePacman(Pacman t) {
\r
79 this.pacMenX[t.index] = t.x;
\r
80 this.pacMenY[t.index] = t.y;
\r
81 //this.map[t.y * this.nrofblocks + t.x - 1] |= 16;
\r
85 public void placeGhost(Ghost t) {
\r
86 this.ghostsX[t.index] = t.x;
\r
87 this.ghostsY[t.index] = t.y;
\r
88 //this.map[t.y * this.nrofblocks + t.x - 1] |= 32;
\r
92 public boolean check(Pacman t) {
\r
93 boolean death = false;
\r
95 while((!death) && (i < this.nrofghosts)) {
\r
96 if((t.x == this.ghostsX[i]) && (t.y == this.ghostsY[i])) {
\r
101 if((!death) && (t.x == t.tx) && (t.y == t.ty)) {
\r
102 // reach the destination
\r
103 //System.printString("Hit destination!\n");
\r
107 // pacman caught by ghost
\r
108 // set pacman as death
\r
111 //this.map[t.y * this.nrofblocks + t.x - 1] -= 16;
\r
113 this.pacMenX[t.index] = -1;
\r
114 this.pacMenY[t.index] = -1;
\r
119 public boolean isfinish() {
\r
120 return nrofpacs == 0;
\r