Proyecto Final - Turinmachin
Recreación del minijuego de matemáticas de Brain-Age usando redes neuronales
Loading...
Searching...
No Matches
factory.h
Go to the documentation of this file.
1#ifndef INCLUDE_GAME_MATH_FACTORY_H
2#define INCLUDE_GAME_MATH_FACTORY_H
3
4#include <memory>
5#include <random>
7
8namespace game::math {
9
10 class AddEquationFactory final : public IEquationFactory {
11 std::mt19937& rng;
12 std::uniform_int_distribution<int> dist_answer{0, 9};
13 std::uniform_int_distribution<int> dist_rhs{0, 11};
14
15 public:
16 explicit AddEquationFactory(std::mt19937& rng);
17
18 [[nodiscard]] auto create() -> std::unique_ptr<IEquation> override;
19 };
20
22 std::mt19937& rng;
23 std::uniform_int_distribution<int> dist_answer{0, 9};
24 std::uniform_int_distribution<int> dist_rhs{0, 11};
25
26 public:
27 explicit SubtractEquationFactory(std::mt19937& rng);
28
29 [[nodiscard]] auto create() -> std::unique_ptr<IEquation> override;
30 };
31
33 std::mt19937& rng;
34 std::uniform_int_distribution<int> dist_answer{0, 9};
35 std::uniform_int_distribution<int> dist_rhs{1, 8};
36
37 public:
38 explicit DivideEquationFactory(std::mt19937& rng);
39
40 [[nodiscard]] auto create() -> std::unique_ptr<IEquation> override;
41 };
42
43} // namespace game::math
44
45#endif
AddEquationFactory(std::mt19937 &rng)
Definition factory.cpp:7
auto create() -> std::unique_ptr< IEquation > override
Definition factory.cpp:10
auto create() -> std::unique_ptr< IEquation > override
Definition factory.cpp:32
DivideEquationFactory(std::mt19937 &rng)
Definition factory.cpp:29
SubtractEquationFactory(std::mt19937 &rng)
Definition factory.cpp:18
auto create() -> std::unique_ptr< IEquation > override
Definition factory.cpp:21
Definition equation.h:7
Definition interfaces.h:19