about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/fourisland/frigidearth/Main.java19
-rw-r--r--src/com/fourisland/frigidearth/MapViewGameState.java66
2 files changed, 42 insertions, 43 deletions
diff --git a/src/com/fourisland/frigidearth/Main.java b/src/com/fourisland/frigidearth/Main.java index ca805df..89ed192 100644 --- a/src/com/fourisland/frigidearth/Main.java +++ b/src/com/fourisland/frigidearth/Main.java
@@ -28,9 +28,8 @@ import javax.swing.JFrame;
28 */ 28 */
29public class Main extends Canvas 29public class Main extends Canvas
30{ 30{
31 public static final int GAME_WIDTH = 636; 31 public static final int CANVAS_WIDTH = 636;
32 public static final int GAME_HEIGHT = 480; 32 public static final int CANVAS_HEIGHT = 480;
33 public static final int FPS = (1000 / 60); // 60 fps
34 33
35 private static JFrame mainWindow; 34 private static JFrame mainWindow;
36 private static Color[][] grid; 35 private static Color[][] grid;
@@ -47,8 +46,8 @@ public class Main extends Canvas
47 46
48 mainWindow = new JFrame(); 47 mainWindow = new JFrame();
49 mainWindow.setTitle("Frigid Earth"); 48 mainWindow.setTitle("Frigid Earth");
50 mainWindow.setSize(GAME_WIDTH*2, GAME_HEIGHT*2); 49 mainWindow.setSize(CANVAS_WIDTH*2, CANVAS_HEIGHT*2);
51 mainWindow.setLocation(GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint().x-GAME_WIDTH, GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint().y-GAME_HEIGHT); 50 mainWindow.setLocation(GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint().x-CANVAS_WIDTH, GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint().y-CANVAS_HEIGHT);
52 mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 51 mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
53 mainWindow.addKeyListener(new KeyListener() { 52 mainWindow.addKeyListener(new KeyListener() {
54 @Override 53 @Override
@@ -121,7 +120,7 @@ public class Main extends Canvas
121 GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); 120 GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
122 GraphicsDevice device = env.getDefaultScreenDevice(); 121 GraphicsDevice device = env.getDefaultScreenDevice();
123 GraphicsConfiguration config = device.getDefaultConfiguration(); 122 GraphicsConfiguration config = device.getDefaultConfiguration();
124 BufferedImage vImg = config.createCompatibleImage(GAME_WIDTH, GAME_HEIGHT, Transparency.TRANSLUCENT); 123 BufferedImage vImg = config.createCompatibleImage(CANVAS_WIDTH, CANVAS_HEIGHT, Transparency.TRANSLUCENT);
125 Graphics2D g = vImg.createGraphics(); 124 Graphics2D g = vImg.createGraphics();
126 125
127 for (Renderable renderable : renderables) 126 for (Renderable renderable : renderables)
@@ -131,10 +130,10 @@ public class Main extends Canvas
131 130
132 do { 131 do {
133 do { 132 do {
134 float wt = mainWindow.getWidth() / (float) GAME_WIDTH; 133 float wt = mainWindow.getWidth() / (float) CANVAS_WIDTH;
135 float ht = (mainWindow.getHeight() - mainWindow.getInsets().top) / (float) GAME_HEIGHT; 134 float ht = (mainWindow.getHeight() - mainWindow.getInsets().top) / (float) CANVAS_HEIGHT;
136 int renderWidth = Math.round(Math.min(wt, ht) * GAME_WIDTH); 135 int renderWidth = Math.round(Math.min(wt, ht) * CANVAS_WIDTH);
137 int renderHeight = Math.round(Math.min(wt, ht) * GAME_HEIGHT); 136 int renderHeight = Math.round(Math.min(wt, ht) * CANVAS_HEIGHT);
138 int renderX = (mainWindow.getWidth()/2)-(renderWidth/2); 137 int renderX = (mainWindow.getWidth()/2)-(renderWidth/2);
139 int renderY = ((mainWindow.getHeight()-mainWindow.getInsets().top)/2)-(renderHeight/2); 138 int renderY = ((mainWindow.getHeight()-mainWindow.getInsets().top)/2)-(renderHeight/2);
140 139
diff --git a/src/com/fourisland/frigidearth/MapViewGameState.java b/src/com/fourisland/frigidearth/MapViewGameState.java index b425f2b..c1caab0 100644 --- a/src/com/fourisland/frigidearth/MapViewGameState.java +++ b/src/com/fourisland/frigidearth/MapViewGameState.java
@@ -20,11 +20,11 @@ public class MapViewGameState implements GameState
20{ 20{
21 private final int TILE_WIDTH = 12; 21 private final int TILE_WIDTH = 12;
22 private final int TILE_HEIGHT = 12; 22 private final int TILE_HEIGHT = 12;
23 private final int GAME_WIDTH = 100; 23 private final int MAP_WIDTH = 100;
24 private final int GAME_HEIGHT = 100; 24 private final int MAP_HEIGHT = 100;
25 private final int MESSAGE_HEIGHT = 5; 25 private final int MESSAGE_HEIGHT = 5;
26 private final int VIEWPORT_WIDTH = Main.GAME_WIDTH / TILE_WIDTH; 26 private final int VIEWPORT_WIDTH = Main.CANVAS_WIDTH / TILE_WIDTH;
27 private final int VIEWPORT_HEIGHT = Main.GAME_HEIGHT / TILE_HEIGHT - MESSAGE_HEIGHT; 27 private final int VIEWPORT_HEIGHT = Main.CANVAS_HEIGHT / TILE_HEIGHT - MESSAGE_HEIGHT;
28 private final int MAX_ROOM_WIDTH = 13; 28 private final int MAX_ROOM_WIDTH = 13;
29 private final int MIN_ROOM_WIDTH = 7; 29 private final int MIN_ROOM_WIDTH = 7;
30 private final int MAX_ROOM_HEIGHT = 13; 30 private final int MAX_ROOM_HEIGHT = 13;
@@ -44,14 +44,14 @@ public class MapViewGameState implements GameState
44 44
45 public MapViewGameState() 45 public MapViewGameState()
46 { 46 {
47 grid = new Tile[GAME_WIDTH][GAME_HEIGHT]; 47 grid = new Tile[MAP_WIDTH][MAP_HEIGHT];
48 gridLighting = new boolean[GAME_WIDTH][GAME_HEIGHT]; 48 gridLighting = new boolean[MAP_WIDTH][MAP_HEIGHT];
49 49
50 for (int x=0; x<GAME_WIDTH; x++) 50 for (int x=0; x<MAP_WIDTH; x++)
51 { 51 {
52 for (int y=0; y<GAME_HEIGHT; y++) 52 for (int y=0; y<MAP_HEIGHT; y++)
53 { 53 {
54 if ((x == 0) || (x == GAME_WIDTH-1) || (y == 0) || (y == GAME_HEIGHT-1)) 54 if ((x == 0) || (x == MAP_WIDTH-1) || (y == 0) || (y == MAP_HEIGHT-1))
55 { 55 {
56 grid[x][y] = Tile.StoneWall; 56 grid[x][y] = Tile.StoneWall;
57 } else { 57 } else {
@@ -60,7 +60,7 @@ public class MapViewGameState implements GameState
60 } 60 }
61 } 61 }
62 62
63 makeRoom(GAME_WIDTH/2, GAME_HEIGHT/2, Direction.getRandomDirection()); 63 makeRoom(MAP_WIDTH/2, MAP_HEIGHT/2, Direction.getRandomDirection());
64 64
65 int currentFeatures = 1; 65 int currentFeatures = 1;
66 int objects = 300; 66 int objects = 300;
@@ -79,8 +79,8 @@ public class MapViewGameState implements GameState
79 Direction validTile = null; 79 Direction validTile = null;
80 for (int testing = 0; testing < 1000; testing++) 80 for (int testing = 0; testing < 1000; testing++)
81 { 81 {
82 newx = Functions.random(1, GAME_WIDTH-1); 82 newx = Functions.random(1, MAP_WIDTH-1);
83 newy = Functions.random(1, GAME_HEIGHT-1); 83 newy = Functions.random(1, MAP_HEIGHT-1);
84 validTile = null; 84 validTile = null;
85 85
86 if ((grid[newx][newy] == Tile.DirtWall) || (grid[newx][newy] == Tile.Corridor)) 86 if ((grid[newx][newy] == Tile.DirtWall) || (grid[newx][newy] == Tile.Corridor))
@@ -159,8 +159,8 @@ public class MapViewGameState implements GameState
159 { 159 {
160 for (int testing = 0; testing < 1000; testing++) 160 for (int testing = 0; testing < 1000; testing++)
161 { 161 {
162 newx = Functions.random(1, GAME_WIDTH-1); 162 newx = Functions.random(1, MAP_WIDTH-1);
163 newy = Functions.random(1, GAME_HEIGHT-2); 163 newy = Functions.random(1, MAP_HEIGHT-2);
164 ways = 4; 164 ways = 4;
165 165
166 for (Direction dir : Direction.values()) 166 for (Direction dir : Direction.values())
@@ -231,14 +231,14 @@ public class MapViewGameState implements GameState
231 231
232 for (int ytemp=room.getY(); ytemp < room.getY()+room.getHeight(); ytemp++) 232 for (int ytemp=room.getY(); ytemp < room.getY()+room.getHeight(); ytemp++)
233 { 233 {
234 if ((ytemp < 0) || (ytemp > GAME_HEIGHT)) 234 if ((ytemp < 0) || (ytemp > MAP_HEIGHT))
235 { 235 {
236 return false; 236 return false;
237 } 237 }
238 238
239 for (int xtemp=room.getX(); xtemp < room.getX()+room.getWidth(); xtemp++) 239 for (int xtemp=room.getX(); xtemp < room.getX()+room.getWidth(); xtemp++)
240 { 240 {
241 if ((xtemp < 0) || (xtemp > GAME_WIDTH)) 241 if ((xtemp < 0) || (xtemp > MAP_WIDTH))
242 { 242 {
243 return false; 243 return false;
244 } 244 }
@@ -295,7 +295,7 @@ public class MapViewGameState implements GameState
295 switch (direction) 295 switch (direction)
296 { 296 {
297 case North: 297 case North:
298 if ((x < 0) || (x > GAME_WIDTH)) 298 if ((x < 0) || (x > MAP_WIDTH))
299 { 299 {
300 return false; 300 return false;
301 } else { 301 } else {
@@ -304,7 +304,7 @@ public class MapViewGameState implements GameState
304 304
305 for (ytemp = y; ytemp > (y-length); ytemp--) 305 for (ytemp = y; ytemp > (y-length); ytemp--)
306 { 306 {
307 if ((ytemp < 0) || (ytemp > GAME_HEIGHT)) 307 if ((ytemp < 0) || (ytemp > MAP_HEIGHT))
308 { 308 {
309 return false; 309 return false;
310 } 310 }
@@ -323,7 +323,7 @@ public class MapViewGameState implements GameState
323 break; 323 break;
324 324
325 case East: 325 case East:
326 if ((y < 0) || (y > GAME_HEIGHT)) 326 if ((y < 0) || (y > MAP_HEIGHT))
327 { 327 {
328 return false; 328 return false;
329 } else { 329 } else {
@@ -332,7 +332,7 @@ public class MapViewGameState implements GameState
332 332
333 for (xtemp = x; xtemp < (x+length); xtemp++) 333 for (xtemp = x; xtemp < (x+length); xtemp++)
334 { 334 {
335 if ((xtemp < 0) || (xtemp > GAME_WIDTH)) 335 if ((xtemp < 0) || (xtemp > MAP_WIDTH))
336 { 336 {
337 return false; 337 return false;
338 } 338 }
@@ -351,7 +351,7 @@ public class MapViewGameState implements GameState
351 break; 351 break;
352 352
353 case South: 353 case South:
354 if ((x < 0) || (x > GAME_WIDTH)) 354 if ((x < 0) || (x > MAP_WIDTH))
355 { 355 {
356 return false; 356 return false;
357 } else { 357 } else {
@@ -360,7 +360,7 @@ public class MapViewGameState implements GameState
360 360
361 for (ytemp = y; ytemp < (y+length); ytemp++) 361 for (ytemp = y; ytemp < (y+length); ytemp++)
362 { 362 {
363 if ((ytemp < 0) || (ytemp > GAME_HEIGHT)) 363 if ((ytemp < 0) || (ytemp > MAP_HEIGHT))
364 { 364 {
365 return false; 365 return false;
366 } 366 }
@@ -379,7 +379,7 @@ public class MapViewGameState implements GameState
379 break; 379 break;
380 380
381 case West: 381 case West:
382 if ((y < 0) || (y > GAME_HEIGHT)) 382 if ((y < 0) || (y > MAP_HEIGHT))
383 { 383 {
384 return false; 384 return false;
385 } else { 385 } else {
@@ -388,7 +388,7 @@ public class MapViewGameState implements GameState
388 388
389 for (xtemp = x; xtemp > (x-length); xtemp--) 389 for (xtemp = x; xtemp > (x-length); xtemp--)
390 { 390 {
391 if ((xtemp < 0) || (xtemp > GAME_WIDTH)) 391 if ((xtemp < 0) || (xtemp > MAP_WIDTH))
392 { 392 {
393 return false; 393 return false;
394 } 394 }
@@ -412,9 +412,9 @@ public class MapViewGameState implements GameState
412 412
413 private void calculateFieldOfView() 413 private void calculateFieldOfView()
414 { 414 {
415 for (int x=0; x<GAME_WIDTH; x++) 415 for (int x=0; x<MAP_WIDTH; x++)
416 { 416 {
417 for (int y=0; y<GAME_HEIGHT; y++) 417 for (int y=0; y<MAP_HEIGHT; y++)
418 { 418 {
419 gridLighting[x][y] = false; 419 gridLighting[x][y] = false;
420 } 420 }
@@ -530,7 +530,7 @@ public class MapViewGameState implements GameState
530 530
531 // Render messages 531 // Render messages
532 g.setColor(new Color(53, 63, 62)); 532 g.setColor(new Color(53, 63, 62));
533 g.fillRect(0, VIEWPORT_HEIGHT*TILE_HEIGHT, Main.GAME_WIDTH, TILE_HEIGHT*MESSAGE_HEIGHT); 533 g.fillRect(0, VIEWPORT_HEIGHT*TILE_HEIGHT, Main.CANVAS_WIDTH, TILE_HEIGHT*MESSAGE_HEIGHT);
534 534
535 for (int i=0; i<MESSAGE_HEIGHT; i++) 535 for (int i=0; i<MESSAGE_HEIGHT; i++)
536 { 536 {
@@ -598,11 +598,11 @@ public class MapViewGameState implements GameState
598 { 598 {
599 if (playerx > (VIEWPORT_WIDTH/2)) 599 if (playerx > (VIEWPORT_WIDTH/2))
600 { 600 {
601 if (playerx < (GAME_WIDTH - (VIEWPORT_WIDTH/2-1))) 601 if (playerx < (MAP_WIDTH - (VIEWPORT_WIDTH/2-1)))
602 { 602 {
603 viewportx = playerx - (VIEWPORT_WIDTH/2); 603 viewportx = playerx - (VIEWPORT_WIDTH/2);
604 } else { 604 } else {
605 viewportx = GAME_WIDTH - VIEWPORT_WIDTH; 605 viewportx = MAP_WIDTH - VIEWPORT_WIDTH;
606 } 606 }
607 } else { 607 } else {
608 viewportx = 0; 608 viewportx = 0;
@@ -610,11 +610,11 @@ public class MapViewGameState implements GameState
610 610
611 if (playery > (VIEWPORT_HEIGHT/2)) 611 if (playery > (VIEWPORT_HEIGHT/2))
612 { 612 {
613 if (playery < (GAME_HEIGHT - (VIEWPORT_HEIGHT/2-1))) 613 if (playery < (MAP_HEIGHT - (VIEWPORT_HEIGHT/2-1)))
614 { 614 {
615 viewporty = playery - (VIEWPORT_HEIGHT/2); 615 viewporty = playery - (VIEWPORT_HEIGHT/2);
616 } else { 616 } else {
617 viewporty = GAME_HEIGHT - VIEWPORT_HEIGHT; 617 viewporty = MAP_HEIGHT - VIEWPORT_HEIGHT;
618 } 618 }
619 } else { 619 } else {
620 viewporty = 0; 620 viewporty = 0;
@@ -624,9 +624,9 @@ public class MapViewGameState implements GameState
624 private boolean isValidPosition(int x, int y) 624 private boolean isValidPosition(int x, int y)
625 { 625 {
626 if (x < 0) return false; 626 if (x < 0) return false;
627 if (x > GAME_WIDTH) return false; 627 if (x > MAP_WIDTH) return false;
628 if (y < 0) return false; 628 if (y < 0) return false;
629 if (y > GAME_HEIGHT) return false; 629 if (y > MAP_HEIGHT) return false;
630 630
631 return true; 631 return true;
632 } 632 }