Skip to content

Commit 0560160

Browse files
committed
visibility and map updated
1 parent 61569e6 commit 0560160

File tree

5 files changed

+60
-18
lines changed

5 files changed

+60
-18
lines changed

src/main/java/Main.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
public class Main {
99
public static void main(String[] args) {
1010

11-
Game.getGame().startNewGame( new ArrayList<User>() );
12-
GameMenuController gameMenuController = new GameMenuController();
13-
gameMenuController.showMap();
11+
// Game.getGame().startNewGame( new ArrayList<User>() );
12+
// GameMenuController gameMenuController = new GameMenuController();
13+
// gameMenuController.showMap();
1414
Controller controller = new Controller();
1515
controller.run();
1616
}

src/main/java/controller/GameMenuController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -210,12 +210,12 @@ public String showMap() {
210210
for (int z = y - l; z <= y + l; z++) {
211211
if (z == y - l) printMap[x - k][z - 1] = "/";
212212
if (z == y + l) printMap[x - k][z + 1] = "\\";
213-
printMap[x - k][z] = GlobalThings.RED + '█';
214-
printMap[x + k][z] = GlobalThings.RED + '█';
213+
printMap[x - k][z] = GlobalThings.GREEN + '█';
214+
printMap[x + k][z] = GlobalThings.GREEN + '█';
215215
}
216216
}
217217
}
218-
printMap[x + 1][y - 2] = "RI";
218+
printMap[x + 1][y - 2] = GlobalThings.BLUE+ "RI";
219219
printMap[x + 1][y - 1] = "";
220220
printMap[x + 1][y] = ":";
221221
if (Game.getGame().map.get(i / 2).get(2 * j + i % 2).doesHaveRiver())
@@ -224,13 +224,13 @@ public String showMap() {
224224
printMap[x + 1][y + 1] = "no";
225225
printMap[x + 1][y + 2] = "";
226226

227-
printMap[x][y - 2] = GlobalThings.BLUE + "T";
227+
printMap[x][y - 2] = GlobalThings.YELLOW +"T";
228228
printMap[x][y - 1] = "R";
229229
printMap[x][y] = ":";
230230
printMap[x][y + 1] = Game.getGame().map.get(i / 2).get(2 * j + i % 2).getTerrain().name.substring(0, 1);
231231
printMap[x][y + 2] = Game.getGame().map.get(i / 2).get(2 * j + i % 2).getTerrain().name.substring(1, 2);
232232

233-
printMap[x - 1][y - 2] = "FE";
233+
printMap[x - 1][y - 2] = GlobalThings.RED + "FE";
234234
printMap[x - 1][y - 1] = "";
235235
printMap[x - 1][y] = ":";
236236
printMap[x - 1][y + 1] = Game.getGame().map.get(i / 2).get(2 * j + i % 2).getFeature().name.substring(0, 1);

src/main/java/model/City.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package model;
22

3+
import java.util.ArrayList;
34
import java.util.HashMap;
45

56
public class City {
@@ -14,8 +15,8 @@ public class City {
1415
private int productionPerTurn;
1516
private int goldPerTurn;
1617
private int sciencePerTurn;
17-
//private ArrayList<Hex> cityHexes = new ArrayList<>();
18-
//hex not added
18+
private final ArrayList<Hex> cityHexes = new ArrayList<>();
19+
1920
private RangedMilitary cityUnit;
2021
//rangedmilitary not added
2122

@@ -24,4 +25,7 @@ public City(String name, int x, int y) {
2425
// complete coordinate
2526
}
2627

28+
public ArrayList<Hex> getCityHexes() {
29+
return cityHexes;
30+
}
2731
}

src/main/java/model/Civilization.java

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
package model;
22

3-
import enums.HexVisibility;
4-
import enums.Resource;
5-
import enums.Technology;
6-
import enums.UnitName;
3+
import enums.*;
74

85
import java.util.ArrayList;
96

107
public class Civilization {
118
private User user;
129
private boolean isYourTurn;
13-
private ArrayList<ArrayList<HexVisibility>> visibilityMap ;
10+
private ArrayList<ArrayList<HexVisibility>> visibilityMap;
1411
private ArrayList<Technology> technologies = new ArrayList<>();
1512
private Technology technologyInProgress;
1613
private ArrayList<UnitName> openedUnits = new ArrayList<>();
@@ -28,7 +25,7 @@ public Civilization(User user) {
2825
this.user = user;
2926
}
3027

31-
public void deleteUnit(Unit unit){
28+
public void deleteUnit(Unit unit) {
3229
units.remove(unit);
3330
}
3431

@@ -45,9 +42,48 @@ public void setGoldStorage(int goldStorage) {
4542
}
4643
// TODO: 4/20/2022 getmap()
4744

48-
public void adjustVisibility(){
45+
public void adjustVisibility() {
4946

47+
for (int i = 0; i < visibilityMap.size(); i++) {
48+
for (int j = 0; j < visibilityMap.get(0).size(); j++) {
49+
if (visibilityMap.get(i).get(j) != HexVisibility.FOG_OF_WAR) {
50+
visibilityMap.get(i).set(j, HexVisibility.DETERMINED);
51+
}
52+
}
53+
}
54+
adjustVisibilityUnits();
55+
adjustVisibilityCities();
5056
}
5157

58+
private void adjustVisibilityCities() {
59+
for (City city : cities) {
60+
for (Hex cityHex : city.getCityHexes()) {
61+
seeNeighbors(cityHex.getCoordinates().get('x'), cityHex.getCoordinates().get('y'));
62+
}
63+
}
64+
}
65+
66+
private void adjustVisibilityUnits() {
67+
68+
for (Unit unit : units) {
69+
int x = unit.coordinates.get('x');
70+
int y = unit.coordinates.get('y');
71+
visibilityMap.get(x).set(y, HexVisibility.TRANSPARENT);
72+
seeNeighbors(x, y);
73+
for (NeighborHex neighborHex : NeighborHex.values()) {
74+
if (!(Game.getGame().map.get(x).get(y).getTerrain().name.equals(Terrain.HILL.name) ||
75+
Game.getGame().map.get(x).get(y).getTerrain().name.equals(Terrain.MOUNTAIN.name) ||
76+
Game.getGame().map.get(x).get(y).getFeature().name.equals(Feature.JUNGLE.name) ||
77+
Game.getGame().map.get(x).get(y).getFeature().name.equals(Feature.DENSE_FOREST.name)))
78+
seeNeighbors(x + neighborHex.xDiff, y + neighborHex.yDiff);
79+
}
80+
}
81+
}
82+
83+
private void seeNeighbors(int x, int y) {
84+
for (NeighborHex neighborHex : NeighborHex.values()) {
85+
visibilityMap.get(x + neighborHex.xDiff).set(y + neighborHex.yDiff, HexVisibility.TRANSPARENT);
86+
}
87+
}
5288

5389
}

src/main/java/model/GlobalThings.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@ public class GlobalThings {
55
public static int mapWidth = 220;
66
public static int lengthOfGrid = 16;
77
public static int widthOfGrid = 8;
8+
public static final String RESET = "\033[0m";
9+
810
public static final String BLACK = "\u001B[30m";
911
public static final String RED = "\u001B[31m";
10-
public static final String BLUE = "\u001B[34m";
12+
public static final String BLUE = "\033[0;36m";
1113
public static final String GREEN = "\033[0;32m";
1214
public static final String YELLOW = "\033[0;33m";
1315
public static final String WHITE = "\033[0;37m";

0 commit comments

Comments
 (0)