@@ -34,33 +34,32 @@ public class Tile implements Comparable<Tile> {
3434 private Tile cameFrom ;
3535 private boolean removeAntImg ;
3636 private static Color boardDefaultColor = Color .WHITE ;
37- private Image antImage ;
38- private Image foodImg ;
39- private Image grasslandImg ;
40- private Image swamplandImg ;
41- private Image obstacleImg ;
4237
4338 public Tile (int x , int y ) {
4439 this .x = x ;
4540 this .y = y ;
46-
41+
4742 this .cost = COST_OPEN_TERRAIN ;
4843 isOpenTerrain = true ;
4944 this .cameFrom = null ;
5045 }
5146
5247 public void draw (Graphics g ) {
48+
49+ g .setColor (boardDefaultColor );
50+ g .fillRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ()); // draw the tile background
51+
5352 if (isObstacle ) {
5453 drawObstacleImage (g );
5554 } else if (isStart ) {
5655 if (removeAntImg ) {
5756 g .setColor (Color .LIGHT_GRAY );
5857 g .fillRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ());
5958 } else {
60- drawAntImage (g );
59+ drawAntImg (g );
6160 }
6261 } else if (isGoal ) {
63- drawFoodImage (g );
62+ drawFoodImg (g );
6463 } else if (isGrassland ) {
6564 drawGrassland (g );
6665 } else if (isSwampland ) {
@@ -71,78 +70,48 @@ public void draw(Graphics g) {
7170 g .fillRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ());
7271 }
7372
74- // if((!isStart || removeAntImg) && !isGoal){
75-
76- // }
77-
7873 g .setColor (Color .BLACK );
7974 g .drawRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ());
8075
8176 }
8277
8378 private void drawObstacleImage (Graphics g ) {
84- try {
85- if (obstacleImg == null ){
86- obstacleImg = ImageIO .read (getClass ().getResource ("/assets/images/obstacle.png" ));
87- }
88- g .setColor (boardDefaultColor );
89- g .fillRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ());
90- g .drawImage (obstacleImg , getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
91- } catch (IOException e ) {
92- e .printStackTrace ();
79+ if (Game .getObstacleImg () != null ) {
80+ g .drawImage (Game .getObstacleImg (), getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
81+ } else {
82+ System .out .println ("Obstacle image is null" );
9383 }
9484 }
9585
9686 private void drawSwampland (Graphics g ) {
97- try {
98- if (swamplandImg == null ){
99- swamplandImg = ImageIO .read (getClass ().getResource ("/assets/images/swampland.png" ));
100- }
101- g .setColor (boardDefaultColor );
102- g .fillRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ());
103- g .drawImage (swamplandImg , getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
104- } catch (IOException e ) {
105- e .printStackTrace ();
87+ if (Game .getSwamplandImg () != null ) {
88+ g .drawImage (Game .getSwamplandImg (), getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
89+ } else {
90+ System .out .println ("Swampland image is null" );
10691 }
10792 }
10893
10994 private void drawGrassland (Graphics g ) {
110- try {
111- if (grasslandImg == null ){
112- grasslandImg = ImageIO .read (getClass ().getResource ("/assets/images/grassland.png" ));
113- }
114- g .setColor (boardDefaultColor );
115- g .fillRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ());
116- g .drawImage (grasslandImg , getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
117- } catch (IOException e ) {
118- e .printStackTrace ();
95+ if (Game .getGrasslandImg () != null ) {
96+ g .drawImage (Game .getGrasslandImg (), getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
97+ } else {
98+ System .out .println ("Grassland image is null" );
11999 }
120-
121100 }
122101
123- private void drawFoodImage (Graphics g ) {
124- try {
125- if (foodImg == null ){
126- foodImg = ImageIO .read (getClass ().getResource ("/assets/images/food.png" ));
127- }
128- g .setColor (boardDefaultColor );
129- g .fillRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ());
130- g .drawImage (foodImg , getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
131- } catch (IOException e ) {
132- e .printStackTrace ();
102+ private void drawFoodImg (Graphics g ) {
103+ if (Game .getFoodImg () != null ) {
104+ g .drawImage (Game .getFoodImg (), getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
105+ } else {
106+ System .out .println ("Food image is null" );
133107 }
134108 }
135109
136- private void drawAntImage (Graphics g ) {
137- try {
138- if (antImage == null ){
139- antImage = ImageIO .read (getClass ().getResource ("/assets/images/ant.png" ));
140- }
141- g .setColor (boardDefaultColor );
142- g .fillRect (getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize ());
143- g .drawImage (antImage , getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
144- } catch (IOException e ) {
145- e .printStackTrace ();
110+ private void drawAntImg (Graphics g ) {
111+ if (Game .getAntImg () != null ) {
112+ g .drawImage (Game .getAntImg (), getXpixel (), getYpixel (), Game .getTileSize (), Game .getTileSize (), null );
113+ } else {
114+ System .out .println ("Ant image is null" );
146115 }
147116 }
148117
0 commit comments