Massor små ändringar...
[AntiTD.git] / src / se / umu / cs / dit06ajnajs / ATDModel.java
blobf56b9895a12b26912a6d504681cb9563a7405436
1 package se.umu.cs.dit06ajnajs;
3 import java.awt.Dimension;
4 import java.awt.Image;
5 import java.awt.Point;
6 import java.util.ArrayList;
7 import java.util.List;
8 import se.umu.cs.dit06ajnajs.agent.Agent;
9 import se.umu.cs.dit06ajnajs.agent.Tower;
10 import se.umu.cs.dit06ajnajs.map.Map;
11 import se.umu.cs.dit06ajnajs.map.MapBuilder;
12 import se.umu.cs.dit06ajnajs.map.MapSquare;
13 import se.umu.cs.dit06ajnajs.map.PathSquare;
14 import se.umu.cs.dit06ajnajs.map.TowerSquare;
16 public class ATDModel {
17 Player player;
18 List<Agent> agents;
19 List<Map> maps;
20 Map currentMap;
22 public ATDModel(List<Map> maps) {
23 this.agents = new ArrayList<Agent>();
24 this.maps = maps;
25 this.currentMap = maps.get(0); //MapBuilder.createMap();
28 public void addTower(Tower t) {
29 TowerSquare square = currentMap.getRandomFreeTowerSquare();
30 if (square != null) {
31 // If there is a free square, place tower
32 Point p = square.getPosition();
33 t.setPostition(p);
34 square.setTower(t);
36 //Register as observer for the neighbours in range
37 int shootRange = t.getRange();
38 int squareRange =
39 (int) Math.ceil((shootRange - AntiTD.SQUARE_SIZE*0.5)
40 / (AntiTD.SQUARE_SIZE));
42 List<MapSquare> neighbours
43 = this.currentMap.getNeighbours(square, squareRange);
44 for (MapSquare neighbour: neighbours) {
45 if(neighbour instanceof PathSquare) {
46 neighbour.addObserver(square);
49 agents.add(t);
50 } else {
51 System.out.println("No available towersquares");
57 public void addAgent(Agent agent) {
58 // TODO Auto-generated method stub
59 agents.add(agent);
62 public List<Agent> getAgents() {
63 // TODO Auto-generated method stub
64 return this.agents;
67 public Map getMap() {
68 return this.currentMap;
71 public Image getMapImage() {
72 return currentMap.getMapImage();
75 public Dimension getMapDimension() {
76 return currentMap.getDimension();