012183fbcb
Fixed a typo in UML diagram
2019-06-11 00:37:54 +02:00
60770b5395
Added first UI elements
...
Rules can be created from the UI
Game can be stopped/started from the UI
Current level can be reset (Load from file again)
Added "Game" target and main file
TODO (A lot):
- Unit tests
- Fully functionnal UI
- Win conditions
- Level background
- Level switching/progression
- Interesting and varied rules
- Multi-scale pathfinding
- etc
2019-06-11 00:33:44 +02:00
8199b7d036
Fixed finding entities finding themselves when targeting their type
2019-06-10 23:22:43 +02:00
2d8b1e53ce
Final fix for end of movement
...
I was being dumb again : if we are adjacent to a target entity, stop moving
2019-06-10 21:53:39 +02:00
b85d46e450
Fixed oscillations for real
...
Entities do not move after completing their moves...
2019-06-10 20:05:46 +02:00
e1f23f67a2
Fixed oscillating around end position
2019-06-10 19:14:43 +02:00
5ccd7d0c13
Fixed movement of multiple entities.
...
Changed std::unique_ptr<Entity> to std::shared_ptr<Entity>.
Fixed pathfinding away from targets
TODO :
- Fix oscillation around destination
- Fix fleeing from adjacent target
- Win conditions
- GUI
2019-06-10 18:46:37 +02:00
293a564a29
Fixed Rule::findTarget() not finding good or even valid targets
2019-06-10 16:04:12 +02:00
c94fc5a0be
Rules are not template anymore (it was dumb)
...
Entities are now managed with unique_ptr to allow polymorphism (and good memory management)
Rules can be added via the Level object
Fixed Rule::findTarget not caring about targetType
TODO : Find why pathfinding (unlikely) or findTarget (most likely) is broken
2019-06-10 04:04:03 +02:00
4ab83f1124
Fixed pathfinding for usage with Rule::findTarget()
...
Fixed Entity::target being public
2019-06-10 01:58:14 +02:00
08e922b0d4
First implementation of rules
...
TODO :
- Fix target as getter (currently broken because of inheritance by rules)
- Smart pointers for entity store ?
2019-06-09 23:26:46 +02:00
febe0827ad
Fixed x,y in Entity constructor not being pro_maat::GridUnit
2019-06-09 15:56:54 +02:00
4ed9180694
Cleaning some warnings
2019-06-09 14:59:17 +02:00
9f28383d7e
Keeping track of progression
2019-06-09 05:39:16 +02:00
ebc8d961f4
A* working : previousNode was initialized with one step instead of none.
2019-06-09 05:37:08 +02:00
d42d176e8d
A* implementation
...
Working except for end of path endless loop (0,0 point appearing in paths for no reason?)
Commit mainly because the HDD is on the verge of dying
2019-06-09 05:18:28 +02:00
250a680cad
Fixed target initialization still using sf::Vector2i
...
Forgot to move manhattanDistance to .cpp
2019-06-08 17:08:15 +02:00
f7481f2bc9
Added type alias for std::pair<uint8_t,uint8_t> for grid coordinates as sf::Vector2 cannot be used in std::map or std::set
2019-06-08 16:11:29 +02:00
1a79679c21
Added representation of occupied squares and a way to retrieve them for A* implementation
...
Updated UML
2019-06-08 02:32:06 +02:00
d53f8b32e9
Moved the clock check outside of the event loop
...
It caused the game to update only if events were received (Mouse movement, button press, etc)
2019-06-08 01:54:58 +02:00
81364c7b4c
Level updates are now triggered at timed intervals
2019-06-08 01:14:52 +02:00
dafc442512
Implemented move function for entities
...
Does not consider speed (TODO ?)
2019-06-07 22:38:55 +02:00
3666b9e7e9
Entities are now constructable
...
Added utility function to display error window
Added textures
Added font
Added a way to choose resources location
2019-06-07 22:20:34 +02:00
46d26b6e61
Started object construction and parsing
...
Simplified some structures
Missing : Entity construction
2019-06-07 02:59:27 +02:00
67435debe6
Class structure, updated UML
...
Missing : actual code, decorators
2019-06-06 21:30:39 +02:00
2b9593bee8
Project structure and UML first draft
2019-06-06 17:07:24 +02:00
b0aeb31492
Repository initialization
2019-06-06 13:47:07 +02:00