| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
There are not yet keys in the key rooms, but the rooms are generated in a random extreme of the map and are bordered with windows.
|
|
|
|
| |
Now, when you reach zero health, you are promted to quit the game. Also, Window, ShatteredWindow and Snow tiles were added in preparation for the key rooms.
|
| |
|
| |
|
|
|
|
| |
Rats can now hurt you, yaaaay. Your health counter changes color depending on how much HP you have, and there is now also a defense counter too, which will, at this point, always say zero.
|
| |
|
|
|
|
| |
One bug had to do with the fact that if the game attempted to place a staircase at the edge of the map, it would check if every surrounding space was blocked regardless of whether or not they were valid positions (i.e. if they were off the edge off the map). The other bug had to do with rounding errors when calculating the viewport because the viewport width and height were both an odd number of tiles. By decreasing the canvas width and increasing the size of the message window, the viewport was changed so as to have an even width and height, thus avoiding the rounding errors.
|
|
|
|
| |
Rat is classified as "hostile," so it moves toward the player when it can see the player, otherwise it moves randomly. Rat still cannot yet attack the player.
|
| |
|
|
|
|
| |
When you walk into a mob, they lose one HP. Mice have only one HP, so when you walk into one (note: they are hard to catch as they move quite erratically), they immediately die. Mobs cannot yet hurt you but then again mice can't hurt you anyway.
|
| |
|
|
|
|
| |
This is adorable. It also now factors in the window inset at the top, so goodbye annoying letterbox edges.
|
|
|
|
| |
Both Main and MapViewGameState had two constants called GAME_WIDTH and GAME_HEIGHT; however, in Main, they described the size in pixels of the canvas, and in MapViewGameState, the size, in tiles, of the map. They have now been renamed to avoid confusion.
|
|
|
|
| |
Characters (both in the message window and in the game, like the player and the mobs) look better now because the images themselves are 12x12, not 16x16.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Mice are randomly added to rooms and they move randomly. They move through the player, currently, however.
|
| |
|
|
|
|
| |
Now, the screen repaints itself only after it changes (or the component resizes or something and needs to be repainted). This is much better than the refresh loop because it uses much less CPU and doesn't make your computer's fan growl at you.
|
| |
|
| |
|
|
|
|
| |
Also added support for more than two types of tiles, which are represented by characters. Later I'll add the functionality for different coloring of characters, because the bright Xs are kind of annoying.
|
| |
|
|
|
|
| |
Instead of rendering a font, characters are now taken from a character map. Also, tick() was removed from GameState because it is only ever called after processInput() and so there's no real point in having separate methods.
|
|
|
|
| |
TileGameState has been renamed to MapViewGameState. Currently, there is a an @ symbol that can be moved around by pressing the arrow keys on the keyboard. The symbol is not perfectly positioned in its tile, which is a problem. Also, it looks pretty fuzzy and bad. The tiles of the game state also now change randomly every few turns.
|
|
|
|
| |
I'm using a rendering system based off of FourPuzzle's, but less ugly. This one comes with built in variable window size, so the last commit was a bit unnecessary. TileGameState is just a dummy that does what the last commit did: display randomly colored tiles. 320x240 for game size is also just a placeholder for now.
|
| |
|
| |
|
|
|