@@ -58,16 +58,23 @@ struct SimulatedTetrion {
5858 u64 m_lock_delay_step_index;
5959
6060protected:
61- MinoStack m_mino_stack;
62- u32 m_level;
63- u32 m_lines_cleared = 0 ;
64- u64 m_score = 0 ;
65-
66-
67- std::optional<Tetromino> m_active_tetromino;
68- std::optional<Tetromino> m_ghost_tetromino;
69- std::optional<Tetromino> m_tetromino_on_hold;
70- std::array<std::optional<Tetromino>, num_preview_tetrominos> m_preview_tetrominos{};
61+ MinoStack
62+ m_mino_stack; // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
63+ u32 m_level; // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
64+ u32 m_lines_cleared = // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
65+ 0 ;
66+ u64 m_score = // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
67+ 0 ;
68+
69+
70+ std::optional<Tetromino>
71+ m_active_tetromino; // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
72+ std::optional<Tetromino>
73+ m_ghost_tetromino; // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
74+ std::optional<Tetromino>
75+ m_tetromino_on_hold; // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
76+ std::array<std::optional<Tetromino>, num_preview_tetrominos>
77+ m_preview_tetrominos{}; // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
7178
7279private:
7380 Random m_random;
@@ -79,19 +86,26 @@ struct SimulatedTetrion {
7986 std::optional<std::shared_ptr<recorder::RecordingWriter>> m_recording_writer;
8087
8188protected:
82- ServiceProvider* const m_service_provider;
89+ ServiceProvider*
90+ m_service_provider; // NOLINT(misc-non-private-member-variables-in-classes,cppcoreguidelines-non-private-member-variables-in-classes)
8391
8492public:
8593 SimulatedTetrion (
8694 u8 tetrion_index,
8795 Random::Seed random_seed,
8896 u32 starting_level,
89- ServiceProvider* const service_provider,
97+ ServiceProvider* service_provider,
9098 std::optional<std::shared_ptr<recorder::RecordingWriter>> recording_writer
9199 );
92100
93101 virtual ~SimulatedTetrion ();
94102
103+ SimulatedTetrion (const SimulatedTetrion& other);
104+ SimulatedTetrion& operator =(const SimulatedTetrion& other) = delete ;
105+
106+ SimulatedTetrion (SimulatedTetrion&& other) noexcept ;
107+ SimulatedTetrion& operator =(SimulatedTetrion&& other) noexcept = delete ;
108+
95109 void update_step (SimulationStep simulation_step_index);
96110
97111 // returns if the input event lead to a movement
@@ -145,7 +159,7 @@ struct SimulatedTetrion {
145159
146160 [[nodiscard]] u64 get_gravity_delay_frames () const ;
147161
148- static u8 rotation_to_index (Rotation from, Rotation to );
162+ static u8 rotation_to_index (Rotation from, Rotation rotation_to );
149163
150164 static constexpr auto wall_kick_data_jltsz = WallKickTable{
151165 // North -> East
0 commit comments