#include "lzy.h" #include "game.h" #include "player.h" #include "background.h" #include "cfg.h" #include "input.h" #include #include int main(void) { if (LZY_Init("hyperultra!", 30, "res/tset.png", "res/font.png")) { LZY_Log("LZY_Init failed: %s", LZY_GetError()); LZY_Quit(); return 1; } Game *const game = malloc(sizeof(Game)); if (game == NULL) { LZY_Log("malloc failed"); LZY_Quit(); return 1; } game_init(game); int hold = 0; int stage = 0; while (!LZY_ShouldQuit()) { LZY_CycleEvents(); input_update(); if (input_down(K_O)) hold += 1; else hold -= 3; if (hold < 0) hold = 0; if (hold > 50) { if (stage == 1) break; stage += 1; hold = 0; } LZY_DrawBegin(); LZY_DrawSetColor(WHITE); LZY_DrawClear(); LZY_DrawSetColor(BLACK); int y = -16; if (stage == 1) { LZY_DrawText(48, y += 32, "WALKING is AUTOMATIC"); LZY_DrawText(48, y += 32, "press SHIFT to jump"); LZY_DrawText(48, y += 32, "hold UP to jump HIGHER"); LZY_DrawText(48, y += 32, "hold DOWN to jump LOWER"); } else { LZY_DrawText(48, y += 32, "HYPERULTRA"); LZY_DrawText(48, y += 32, "a game made by KDX.re"); LZY_DrawText(48, y += 32, "powered by GINT and SDL"); y += 32; } LZY_DrawText(48, y += 48, "hold SHIFT to continue"); if (hold) LZY_DrawFillRect(0, DISPLAY_HEIGHT - 24, hold * 8, 24); LZY_DrawEnd(); } while (!LZY_ShouldQuit()) { LZY_CycleEvents(); input_update(); game_update(game); background_update(game); LZY_DrawBegin(); LZY_DrawSetColor(WHITE); LZY_DrawClear(); game_draw(game); background_draw(); LZY_DrawEnd(); } game_deinit(game); free(game); LZY_Quit(); return 0; }