22 #ifndef QDENGINE_MINIGAMES_3MICE2_SBOR_KARTY_H 23 #define QDENGINE_MINIGAMES_3MICE2_SBOR_KARTY_H 25 #include "common/debug.h" 27 #include "qdengine/qd_fwd.h" 28 #include "qdengine/qdcore/qd_minigame_interface.h" 38 debugC(1, kDebugMinigames,
"3mice2SborKarty::init()");
40 _engine = engine_interface;
41 _scene = engine_interface->current_scene_interface();
45 for (
int i = 1; i <= 10; i++)
48 for (
int i = 1; i <= 10; i++)
52 _objDrop = _scene->
object_interface(
"$\xf1\xe1\xf0\xee\xf1\xe8\xf2\xfc\x20\xf1\x20\xec\xfb\xf8\xe8");
59 debugC(3, kDebugMinigames,
"3mice2SborKarty::quant(%f)", dt);
66 const char *name = obj->
name();
71 int num = getObjNum(name);
72 debugC(4, kDebugMinigames,
"to_inv: num is: %d for name: '%s'", num, name);
76 _scene->release_object_interface(obj);
83 const char *name = obj->
name();
87 int num = getObjNum(name);
88 debugC(4, kDebugMinigames,
"base: num is: %d for name: '%s'", num, name);
93 _scene->release_object_interface(obj);
104 const char *name = obj->
name();
106 if (strstr(name,
"@")) {
107 int num = getObjNum(name);
108 debugC(4, kDebugMinigames,
"part1: num is: %d for name: '%s'", num, name);
111 int num2 = getObjNum(name);
112 debugC(4, kDebugMinigames,
"part2: num2 is: %d for name: '%s'", num2, name);
119 _scene->release_object_interface(obj);
125 if (_timePassed > 1.0) {
136 debugC(1, kDebugMinigames,
"3mice2SborKarty::finit()");
139 _engine->release_scene_interface(_scene);
158 enum { INTERFACE_VERSION = 112 };
159 int version()
const {
160 return INTERFACE_VERSION;
164 bool checkSolution() {
165 for (
int i = 1; i <= 10; i++)
166 if (!_objects[i]->is_state_active(
"kovrik"))
172 int getObjNum(
const char *name) {
173 const char *from = strstr(name,
"@");
174 const char *to = strstr(name,
"#");
190 float _timePassed = 0.0;
195 #endif // QDENGINE_MINIGAMES_3MICE2_SBOR_KARTY_H int load_game(const qdEngineInterface *engine_interface, const qdMinigameSceneInterface *scene_interface, const char *buffer, int buffer_size)
Загрузка данных, вызывается при загрузке сцены, на которую повешена миниигра.
Definition: 3mice2_sbor_karty.h:154
static String format(MSVC_PRINTF const char *fmt,...) GCC_PRINTF(1
size_t strlcpy(char *dst, const char *src, size_t size)
bool init(const qdEngineInterface *engine_interface)
Инициализация игры.
Definition: 3mice2_sbor_karty.h:37
virtual const char * name() const =0
Имя объекта.
Нажатие левой кнопки.
Definition: qd_minigame_interface.h:372
Definition: qd_minigame_interface.h:78
bool quant(float dt)
Обсчёт логики игры, параметр - время, которое должно пройти в игре (в секундах).
Definition: 3mice2_sbor_karty.h:58
Definition: 3mice2_sbor_karty.h:32
bool finit()
Деинициализация игры.
Definition: 3mice2_sbor_karty.h:135
Definition: qd_minigame_interface.h:365
int save_game(const qdEngineInterface *engine_interface, const qdMinigameSceneInterface *scene_interface, char *buffer, int buffer_size)
Сохранение данных, вызывается при сохранении сцены, на которую повешена миниигра. ...
Definition: 3mice2_sbor_karty.h:150
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: qd_minigame_interface.h:230
bool new_game(const qdEngineInterface *engine_interface)
Инициализация миниигры, вызывается при старте и перезапуске игры.
Definition: 3mice2_sbor_karty.h:146
Интерфейс к сцене.
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.
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
virtual qdMinigameObjectInterface * mouse_object_interface() const =0
Создаёт интерфейс к объекту, который взят мышью в данный момент.