22 #ifndef QDENGINE_MINIGAMES_3MICE2_BABOCHKA_H 23 #define QDENGINE_MINIGAMES_3MICE2_BABOCHKA_H 25 #include "common/debug.h" 27 #include "qdengine/qd_fwd.h" 28 #include "qdengine/qdcore/qd_minigame_interface.h" 38 debugC(1, kDebugMinigames,
"3mice2Babochka::init()");
40 _engine = engine_interface;
41 _scene = engine_interface->current_scene_interface();
45 for (
int i = 1; i <= 25; i++)
48 for (
int i = 1; i <= 25; i++)
58 debugC(3, kDebugMinigames,
"3mice2Babochka::quant(%f)", dt);
65 const char *name = obj->
name();
70 int num = getObjNum(name);
71 debugC(4, kDebugMinigames,
"to_inv: num is: %d for name: '%s'", num, name);
75 _scene->release_object_interface(obj);
82 const char *name = obj->
name();
85 int num = getObjNum(name);
86 debugC(4, kDebugMinigames,
"base: num is: %d for name: '%s'", num, name);
90 _scene->release_object_interface(obj);
101 const char *name = obj->
name();
103 if (strstr(name,
"@") && strstr(obj2->
name(),
"@")) {
104 int num = getObjNum(name);
105 debugC(2, kDebugMinigames,
"part1: num is: %d for name: '%s'", num, name);
108 int num2 = getObjNum(name);
109 debugC(2, kDebugMinigames,
"part2: num2 is: %d for name: '%s'", num2, name);
116 _scene->release_object_interface(obj);
122 if (_timePassed > 1.0) {
133 debugC(1, kDebugMinigames,
"3mice2Babochka::finit()");
136 _engine->release_scene_interface(_scene);
155 enum { INTERFACE_VERSION = 112 };
156 int version()
const {
157 return INTERFACE_VERSION;
161 bool checkSolution() {
162 for (
int i = 1; i <= 25; i++)
163 if (!_objects[i]->is_state_active(
"babochka"))
169 int getObjNum(
const char *name) {
170 const char *from = strstr(name,
"@");
171 const char *to = strstr(name,
"#");
186 float _timePassed = 0.0;
191 #endif // QDENGINE_MINIGAMES_3MICE2_BABOCHKA_H static String format(MSVC_PRINTF const char *fmt,...) GCC_PRINTF(1
int save_game(const qdEngineInterface *engine_interface, const qdMinigameSceneInterface *scene_interface, char *buffer, int buffer_size)
Сохранение данных, вызывается при сохранении сцены, на которую повешена миниигра. ...
Definition: 3mice2_babochka.h:147
size_t strlcpy(char *dst, const char *src, size_t size)
bool quant(float dt)
Обсчёт логики игры, параметр - время, которое должно пройти в игре (в секундах).
Definition: 3mice2_babochka.h:57
virtual const char * name() const =0
Имя объекта.
Нажатие левой кнопки.
Definition: qd_minigame_interface.h:372
Definition: qd_minigame_interface.h:78
int load_game(const qdEngineInterface *engine_interface, const qdMinigameSceneInterface *scene_interface, const char *buffer, int buffer_size)
Загрузка данных, вызывается при загрузке сцены, на которую повешена миниигра.
Definition: 3mice2_babochka.h:151
bool new_game(const qdEngineInterface *engine_interface)
Инициализация миниигры, вызывается при старте и перезапуске игры.
Definition: 3mice2_babochka.h:143
Definition: qd_minigame_interface.h:365
virtual bool is_state_active(const char *state_name) const =0
Возвращает true, если состояние с именем state_name включено в данный момент.
Базовый класс для игровых ресурсов.
Definition: console.h:28
virtual qdMinigameObjectInterface * mouse_hover_object_interface() const =0
Создаёт интерфейс к объекту, над которым находится мышиный курсор.
Нажатие правой кнопки.
Definition: qd_minigame_interface.h:374
virtual qdMinigameObjectInterface * mouse_click_object_interface() const =0
Создаёт интерфейс к объекту, по которому кликнули мышью.
Definition: 3mice2_babochka.h:32
Интерфейс к динамическому объекту.
Definition: qd_minigame_interface.h:230
Интерфейс к сцене.
Definition: qd_minigame_interface.h:315
virtual bool set_state(const char *state_name)=0
Включает состояние с именем state_name.
virtual qdMinigameObjectInterface * object_interface(const char *object_name)=0
Создаёт интерфейс к объекту с именем object_name.
bool init(const qdEngineInterface *engine_interface)
Инициализация игры.
Definition: 3mice2_babochka.h:37
virtual bool is_mouse_event_active(qdMinigameMouseEvent event_id) const =0
Возвращает true, если в данный момент произошло событие event_id.
void void void void void debugC(int level, uint32 debugChannels, MSVC_PRINTF const char *s,...) GCC_PRINTF(3
bool finit()
Деинициализация игры.
Definition: 3mice2_babochka.h:132
virtual qdMinigameObjectInterface * mouse_object_interface() const =0
Создаёт интерфейс к объекту, который взят мышью в данный момент.