forked from cataclysmbnteam/Cataclysm-BN
-
Notifications
You must be signed in to change notification settings - Fork 0
/
iuse_software_lightson.h
39 lines (33 loc) · 940 Bytes
/
iuse_software_lightson.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma once
#ifndef CATA_SRC_IUSE_SOFTWARE_LIGHTSON_H
#define CATA_SRC_IUSE_SOFTWARE_LIGHTSON_H
#include <vector>
#include "cursesdef.h"
#include "point.h"
class lightson_game
{
private:
catacurses::window w_border;
catacurses::window w;
// rows, columns
point level_size;
std::vector<bool> level;
std::vector<point> change_coords;
// row, column
point position;
bool win;
void new_level();
void reset_level();
void generate_change_coords( int changes );
void draw_level();
bool check_win();
void toggle_lights();
void toggle_lights_at( point pt );
bool get_value_at( point pt );
void set_value_at( point pt, bool value );
void toggle_value_at( point pt );
public:
int start_game();
lightson_game() = default;
};
#endif // CATA_SRC_IUSE_SOFTWARE_LIGHTSON_H