-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUnboundedMap.java
More file actions
89 lines (72 loc) · 1.95 KB
/
UnboundedMap.java
File metadata and controls
89 lines (72 loc) · 1.95 KB
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
package agh.cs.lab2;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class UnboundedMap extends AbstractWorldMap {
List<HayStack> siano = new ArrayList<>();
Map<Position, HayStack> sianoH = new HashMap<>();
public UnboundedMap(List<HayStack> x) {
for (HayStack s : x) {
sianoH.put(s.getPosition(), s);
}
}
@Override
public Object objectAt(Position position) {
if(sianoH.get(position)!=null) return sianoH.get(position);
Object object = super.objectAt(position);
return object;
}
public int smallx() {
int minx = 100;
for (HayStack s : sianoH.values()) {
if (minx > s.getPosition().getX())
minx = s.getPosition().getX();
}
for (Car car : hashMapa.values()) {
if (minx > car.getPosition().getX())
minx = car.getPosition().getX();
}
return minx;
}
public int smally() {
int miny = 100;
for (HayStack s : sianoH.values()) {
if (miny > s.getPosition().getY())
miny = s.getPosition().getX();
}
for (Car car : hashMapa.values()) {
if (miny > car.getPosition().getY())
miny = car.getPosition().getY();
}
return miny;
}
public int largx() {
int minx = -100;
for (HayStack s : sianoH.values()) {
if (minx < s.getPosition().getX())
minx = s.getPosition().getX();
}
for (Car car : hashMapa.values()) {
if (minx < car.getPosition().getX())
minx = car.getPosition().getX();
}
return minx;
}
public int largy() {
int miny = -100;
for (HayStack s : sianoH.values()) {
if (miny < s.getPosition().getY())
miny = s.getPosition().getX();
}
for (Car car : hashMapa.values()) {
if (miny < car.getPosition().getY())
miny = car.getPosition().getY();
}
return miny;
}
public String toString() {
return new MapVisualizer().dump(this, new Position(smallx(), smally()),
new Position(largx(), largy()));
}
}