170039ca3a80876e18e439399ca753181c00e3f0
[IRC.git] / Robust / src / Benchmarks / MMG / Java / MMG.java
1 public class MMG {\r
2     public MMG() {}\r
3     \r
4     public static void main(String[] args) {\r
5         MMG mmg = new MMG();\r
6         \r
7         //System.printString("Startup\n");\r
8         int nrofpacs = 4;\r
9         int nrofghosts = 8;\r
10         Map map = new Map(nrofpacs, nrofghosts);\r
11         \r
12         // Initiate the map\r
13         map.init();\r
14             \r
15         int i = 0;\r
16         // create ghosts\r
17         for(i = 0; i < map.nrofghosts; i++) {\r
18             Ghost ghost = new Ghost(7, 7, map);\r
19             ghost.setTarget(i%map.nrofpacs);\r
20             ghost.index = i;\r
21             map.placeGhost(ghost);\r
22             map.targets[i] = ghost.target;\r
23             map.ghosts[i] = ghost;\r
24         }\r
25         // create pacmen\r
26         int tx = 14;\r
27         int ty = 14;\r
28         for(i = 0; i < map.nrofpacs; i++) {\r
29             Pacman pacman = new Pacman(5, 7, map);\r
30             pacman.setTarget(tx*(i/2), ty*(i%2));\r
31             pacman.index = i;\r
32             map.placePacman(pacman);\r
33             map.desX[i] = tx*(i/2);\r
34             map.desY[i] = ty*(i%2);\r
35             map.pacmen[i] = pacman;\r
36             //System.printString("destination: " + map.desX[i] + "," + map.desY[i] + "\n");\r
37         }\r
38 \r
39         map.ghostcount = 0;\r
40         map.paccount = 0;\r
41         \r
42         while(map.nrofpacs > 0) {\r
43             // try to move ghost\r
44             for(i = 0; i < map.nrofghosts; i++) {\r
45                 map.ghosts[i].tryMove();\r
46             }\r
47             // try to move pacmen\r
48             for(i = 0; i < map.nrofpacs; i++) {\r
49                 map.pacmen[i].tryMove();\r
50             }\r
51             \r
52             // update ghosts\r
53             for(i = 0; i < map.nrofghosts; i++) {\r
54                 map.ghosts[i].doMove();\r
55                 map.placeGhost(map.ghosts[i]);\r
56             }\r
57             /*for(i = 0; i < map.nrofghosts; i++) {\r
58                 System.printString("(" + map.ghostsX[i] + "," + map.ghostsY[i] + ") ");\r
59             }\r
60             System.printString("\n");*/\r
61             // update pacmen\r
62             for(i = 0; i < map.nrofpacs; i++) {\r
63                 map.pacmen[i].doMove();\r
64                 map.placePacman(map.pacmen[i]);\r
65                 //System.printString("Pacman " + map.pacmen[i].index + ": (" + map.pacMenX[map.pacmen[i].index] + "," + map.pacMenY[map.pacmen[i].index] + ")\n");\r
66                 boolean death = map.check(map.pacmen[i]);\r
67                 /*if(death) {\r
68                     System.printString("Pacman " + map.pacmen[i].index + " caught!\n");\r
69                 }*/\r
70             }\r
71             map.nrofpacs -= map.deathcount;\r
72             //System.printString(map.nrofpacs + " pacmen left. \n");\r
73             \r
74             // reset for next run\r
75             map.paccount = 0;\r
76             map.deathcount = 0;\r
77         }\r
78         \r
79         System.printString("Finish\n");\r
80     }\r
81 }