Commit Graph

16 Commits

Author SHA1 Message Date
fegger 727caa7b90 Add LookaheadBot with lookahead and mining 2026-04-26 21:38:07 +02:00
fegger 42876c1a93 Add HP and SmartBot; refactor bots and World
Introduce health (hp) and damage handling to Robot/BaseRobot
interfaces. Add SmartBot implementation. Refactor bot mining and
movement to use new World APIs (mine, mineAllPositive,
sortPositiveValues). Simplify RandomBot, DigDeepBot, and SortBot
logic, rename/overhaul World rearrange/display, and fix several
indexing/logic bugs and minor cleanups.
2026-04-26 20:41:36 +02:00
fegger 2a79d42bd6 World updates
Update World API and implementation:
rename size fields to sizeX_/sizeY_/sizeZ_, add helpers such as
mineAllPositive, positiveAverage, topPositiveSum and a sort helper,
and fix related surface/mine semantics for dynamic columns.
2026-04-26 17:48:28 +02:00
fegger 94ceebb50a Change World to variable-height columns and API 2026-04-26 17:08:35 +02:00
fegger 35436ef4a8 Delete .idea directory 2026-04-20 12:42:46 +02:00
fegger 92f2dc77f2 Add tests and update CMake to build them
Add comprehensive unit tests in tests/test_all.cpp

Refactor CMakeLists: set C++17 and CMAKE_CXX_STANDARD_REQUIRED,
introduce a SOURCES list used by executables, add a
deep_miner_tests target, and set cmake_minimum_required to 3.15
2026-04-20 12:31:15 +02:00
fegger d6c1b29d0a Only move minable blocks during rearrange
Change condition from != 0 to > 0 in World::rearrange so only
positive (minable) blocks are collected; effect/negative cells remain in
place
2026-04-20 12:13:32 +02:00
fegger f45f73cb27 Refactor code style, comments, and robot implementations
Move UML PDF to doc/ and update .gitignore. Normalize includes,
whitespace and function signatures across headers/sources and add
concise class/function documentation. Fix RandomBot so the mine
limit is computed once and simplify DigDeepBot/SortBot mining logic.
Tidy World/Game initialization, error handling, and minor const/var
clarifications for readability and correctness
2026-04-20 12:06:33 +02:00
fegger 7dace654d3 Add IDE and build directories to .gitignore 2026-04-20 10:30:11 +02:00
fegger 976775f603 Add UML PDF and adjust World display
Add uml_diagram.pdf and a .gitignore entry to ignore the TeX source.
Remove unused <atomic> include, shorten the console separator, and add
a comment describing default player position values in World::display.
2026-04-20 10:16:45 +02:00
fegger 6880bd2a41 implement mining functionality in SortBot and add .gitignore 2026-04-15 15:55:26 +02:00
fegger 2780697235 Implement World rearrange and add RandomBot and main
Make World::checkEffects non-const and provide its implementation.
Add RandomBot implementation and declare a private randomNumber helper.
Add a simple main() entrypoint.
2026-04-15 14:08:52 +02:00
fegger 22e8ea8d46 Add project skeleton: CMake, Game and bots 2026-04-15 13:14:18 +02:00
fegger 4a38215e31 implement mining functionality in SortBot and add .gitignore 2026-04-15 11:38:15 +02:00
fegger b43f266973 added robot interface and robot base class 2026-04-14 23:44:24 +02:00
fegger d53986f907 initial comitt 2026-04-14 22:49:02 +02:00