Blame projects/jigsaw/main.c

Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
// todo:
Ivan Mahonin fdbd7d
// recursive merging (corner merge)
Ivan Mahonin fdbd7d
// improve ordering
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
#include "menu.h"
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
// app
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
Menu menu;
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
void init() {
Ivan Mahonin fdbd7d
  background(colorByRGBA(0.1, 0.1, 0.1, 1));
Ivan Mahonin fdbd7d
  menuInit(&menu);
Ivan Mahonin fdbd7d
  menuLoad(&menu);
Ivan Mahonin fdbd7d
  if (!gameStarted(&menu.gm)) menuUpdateItems(&menu);
Ivan Mahonin fdbd7d
}
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
void deinit() {
Ivan Mahonin fdbd7d
  if (gameStarted(&menu.gm) && !gameWon(&menu.gm)) gameSave(&menu.gm);
Ivan Mahonin fdbd7d
  menuSave(&menu);
Ivan Mahonin fdbd7d
  menuFree(&menu);
Ivan Mahonin fdbd7d
}
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
void draw() {
Ivan Mahonin fdbd7d
  menuDraw(&menu);
Ivan Mahonin fdbd7d
}
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
Ivan Mahonin fdbd7d
int main() {
Ivan Mahonin fdbd7d
  windowSetVariableFrameRate();
Ivan Mahonin fdbd7d
  windowSetResizable(TRUE);
Ivan Mahonin fdbd7d
  windowSetInit(&init);
Ivan Mahonin fdbd7d
  windowSetDeinit(&deinit);
Ivan Mahonin fdbd7d
  windowSetDraw(&draw);
Ivan Mahonin fdbd7d
  windowRun();
Ivan Mahonin fdbd7d
  return 0;
Ivan Mahonin fdbd7d
}
Ivan Mahonin fdbd7d