Commit graph

77 commits

Author SHA1 Message Date
99838cbd00 Convert the passive healing clock to a more granular tick mechanism
Instead of counting turns, count clock ticks. A WaitAction adds 10 ticks to the
passive healing clock and a WalkAction adds 5. So, you will heal while walking
but at a slower rate.
2022-05-16 20:50:23 -07:00
31bec25dcf Add a docstring to engine.Configuration 2022-05-16 20:49:42 -07:00
4124d1ae4e Clean up some pylint warnings in interface/color.py 2022-05-16 20:49:28 -07:00
d5f6cbe73a Clean up some pylint warnings in messages.py
Add a module doc string
Remove an extraneous else:
2022-05-16 20:49:01 -07:00
e5485300ef Rename interface.bar.Bar -> interface.percentage_bar.PercentageBar 2022-05-16 16:47:21 -07:00
6e0112fd59 Add some documentation to the things in object.py 2022-05-16 16:40:45 -07:00
18a068cff6 Add some more basic colors and some semantic colors for the Health Bar 2022-05-16 16:40:29 -07:00
11aee12320 Add colors attribute to Bar class
This list lets you specify a set of colors that the bar should be painted with
depending on the percentage the bar is filled
2022-05-16 16:40:04 -07:00
6073454ed3 Add line 1 comment to interface/__init__.py 2022-05-16 16:39:19 -07:00
85569595a9 FIX THE COLLISION DETECTION BUG 2022-05-15 19:58:39 -07:00
d4e4684694 Show Entity under mouse cursor in a line above the hit points 2022-05-15 16:50:24 -07:00
4e585a2650 Implement passive healing 2022-05-15 16:19:03 -07:00
ccd2e04d0e Doc strings in Messages module 2022-05-15 16:18:42 -07:00
9f27899572 Print some messages when damage and death happen! 2022-05-15 13:58:37 -07:00
72cbd15fb0 Render the MessageLog and clean up the interface (lots of math errors here) 2022-05-15 13:58:26 -07:00
08ef1af4e4 Add a MessageLog that keeps a record of in-game events 2022-05-15 13:58:06 -07:00
ff6763d354 Add a unique identifier to all entities (a monotonically increasing integer) 2022-05-15 13:57:32 -07:00
090272854d Add a turn count that increments after successfully handling actions for that turn 2022-05-15 13:13:12 -07:00
5a9df0a322 Add my first interface element: a Bar!
It renders a bar of a certain width and a percentage full. Use it to render HP.

Add a new Python package called interface. The Bar class lives there. Also add a
bunch of color defintions to a module called interface.color.
2022-05-15 00:12:05 -07:00
388754e5dd When the Hero dies, swap MainGameEventHandler for GameOverEventHandler 2022-05-14 23:43:38 -07:00
e5b3cbd2cd Prepare for a GameOver state
- Factor a bunch of event handling into a base EventHandler class
- Rename the previous event handler MainGameEventHandler
- Add a GameOverEventHandler that only responds to Exit actions
2022-05-14 23:43:04 -07:00
5b0b33782f Move handling hero actions and entity actions to the Engine 2022-05-14 23:41:43 -07:00
c44c4e7bc6 Move the event loop to Engine.run_event_loop() 2022-05-14 23:39:03 -07:00
2b367c7bb6 Quit the game on Escape 2022-05-12 20:40:46 -07:00
ee915bd7c1 Add a doc string and a terminal newline 2022-05-12 20:40:40 -07:00
ce63c825b0 Move all the logging to log.py and prefix all the log names with "erynrl" 2022-05-12 20:40:15 -07:00
f6fe9d0f09 Move the roguebasin package to erynrl 2022-05-12 09:05:27 -07:00