diff options
-rw-r--r-- | src/com/fourisland/frigidearth/Main.java | 19 | ||||
-rw-r--r-- | src/com/fourisland/frigidearth/MapViewGameState.java | 66 |
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 | */ |
29 | public class Main extends Canvas | 29 | public 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 | } |