-
Notifications
You must be signed in to change notification settings - Fork 0
/
KarboniteLocation.java
82 lines (73 loc) · 1.62 KB
/
KarboniteLocation.java
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
import bc.*;
public class KarboniteLocation {
MapLocation mapLocation;
GameController gc;
long karboniteAmount;
long lastVisited;
/**
* Constructor for karbonite locations. This sets the amount of of karbonite, and when it
* was last visited.
*
* @param mapLocation
* @param gc
*/
public KarboniteLocation(MapLocation mapLocation, GameController gc) {
this.mapLocation = mapLocation;
this.gc = gc;
if(gc.planet() == Planet.Earth){
karboniteAmount = Path.earth.initialKarboniteAt(mapLocation);
} else {
karboniteAmount = Path.mars.initialKarboniteAt(mapLocation);
}
lastVisited = gc.round();
}
/**
* getter method for the location of the karbonite
*
* @return
*/
public MapLocation getMapLocation(){
return mapLocation;
}
/**
* a method that will calculate the distance between this karbonite
* and another location
*
* @param currentLocation
* @return
*/
public long getDistance(MapLocation currentLocation){
return currentLocation.distanceSquaredTo(mapLocation);
}
/**
* setter method for the amount of karbonite left at this spot
*
* @param amount
*/
public void setKarbonite(long amount){
karboniteAmount = amount;
}
/**
* getter method for the amount of karbonite left
* at this location
*
* @return
*/
public long getKarbonite(){
return karboniteAmount;
}
/**
* setter method for when this location was last visited.
*/
public void setLastVisited(){
lastVisited = gc.round();
}
/**
* getter method for when this location was last visited.
*
* @return
*/
public long getLastVisited(){
return lastVisited;
}
}