Compare commits
3 Commits
3e7e7e2547
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c35097b3d3 | |||
| 384c811a29 | |||
| a4c9774c28 |
@@ -69,6 +69,7 @@ include_directories(${imgui_SOURCE_DIR} ${rlImGui_SOURCE_DIR})
|
|||||||
set(SRC_CXX_FILES "./src/main.cpp"
|
set(SRC_CXX_FILES "./src/main.cpp"
|
||||||
"./src/rules.cpp"
|
"./src/rules.cpp"
|
||||||
"./src/world.cpp"
|
"./src/world.cpp"
|
||||||
|
"./src/grid.cpp"
|
||||||
"./src/render.cpp"
|
"./src/render.cpp"
|
||||||
"./src/control_menu.cpp"
|
"./src/control_menu.cpp"
|
||||||
"./src/settings_menu.cpp"
|
"./src/settings_menu.cpp"
|
||||||
|
|||||||
28
includes/grid.hpp
Normal file
28
includes/grid.hpp
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* File name: grid.hpp
|
||||||
|
* Author: lejulien
|
||||||
|
* Date created: 01-01-1970 00:59:59
|
||||||
|
// Date modified: 12-01-2026 21:30:10
|
||||||
|
* ------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <context.hpp>
|
||||||
|
#include <memory>
|
||||||
|
#include <settings_menu.hpp>
|
||||||
|
#include <world.hpp>
|
||||||
|
|
||||||
|
namespace gol {
|
||||||
|
|
||||||
|
class Grid {
|
||||||
|
public:
|
||||||
|
Grid(std::shared_ptr<ctx>);
|
||||||
|
~Grid() = default;
|
||||||
|
void display();
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::shared_ptr<ctx> context_;
|
||||||
|
};
|
||||||
|
|
||||||
|
}; // namespace gol
|
||||||
27
src/grid.cpp
Normal file
27
src/grid.cpp
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* File name: grid.cpp
|
||||||
|
* Author: lejulien
|
||||||
|
* Date created: 01-01-1970 00:59:59
|
||||||
|
// Date modified: 12-01-2026 21:30:10
|
||||||
|
* ------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <raylib.h>
|
||||||
|
|
||||||
|
#include <grid.hpp>
|
||||||
|
|
||||||
|
namespace gol {
|
||||||
|
|
||||||
|
Grid::Grid(std::shared_ptr<ctx> context) : context_(context) {}
|
||||||
|
|
||||||
|
void Grid::display() {
|
||||||
|
auto cell_size = context_->settings_menu->getCellSize();
|
||||||
|
for (int j = 0; j < context_->world->getHeight(); j++) {
|
||||||
|
for (int i = 0; i < context_->world->getWidth(); i++) {
|
||||||
|
DrawRectangleLines(i * cell_size, j * cell_size, cell_size, cell_size,
|
||||||
|
GRAY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace gol
|
||||||
@@ -26,6 +26,7 @@
|
|||||||
#include <selection.hpp>
|
#include <selection.hpp>
|
||||||
#include <paterns_menu.hpp>
|
#include <paterns_menu.hpp>
|
||||||
#include <patern_preview.hpp>
|
#include <patern_preview.hpp>
|
||||||
|
#include <grid.hpp>
|
||||||
|
|
||||||
int main(int ac, char **av) {
|
int main(int ac, char **av) {
|
||||||
std::shared_ptr<gol::ctx> context = std::make_shared<gol::ctx>();
|
std::shared_ptr<gol::ctx> context = std::make_shared<gol::ctx>();
|
||||||
@@ -109,6 +110,7 @@ int main(int ac, char **av) {
|
|||||||
context->selection = std::make_shared<gol::Selection>(context);
|
context->selection = std::make_shared<gol::Selection>(context);
|
||||||
context->paterns_menu = std::make_shared<gol::PaternsMenu>(context);
|
context->paterns_menu = std::make_shared<gol::PaternsMenu>(context);
|
||||||
context->patern_preview = std::make_shared<gol::PaternPreview>(context);
|
context->patern_preview = std::make_shared<gol::PaternPreview>(context);
|
||||||
|
gol::Grid grid(context);
|
||||||
|
|
||||||
// Speed handling values
|
// Speed handling values
|
||||||
float sim_speed = 1.0f;
|
float sim_speed = 1.0f;
|
||||||
@@ -155,6 +157,7 @@ int main(int ac, char **av) {
|
|||||||
}
|
}
|
||||||
BeginDrawing();
|
BeginDrawing();
|
||||||
ClearBackground(BLACK);
|
ClearBackground(BLACK);
|
||||||
|
grid.display();
|
||||||
context->render->display(context->world);
|
context->render->display(context->world);
|
||||||
context->selection->display();
|
context->selection->display();
|
||||||
context->patern_preview->display();
|
context->patern_preview->display();
|
||||||
|
|||||||
Reference in New Issue
Block a user