#include <emscripten.h>
#include <stdbool.h>
#include <stdlib.h>
#include <time.h>

#include "morpion.h"


/* ******************** Game WASM API ******************** */

EMSCRIPTEN_KEEPALIVE
char* wrapper_newGame() {return newGame();}

EMSCRIPTEN_KEEPALIVE
void wrapper_deleteGame(char* grid) {return deleteGame(grid);}

EMSCRIPTEN_KEEPALIVE
bool wrapper_play(int x, int y, char* grid) {return play(x,  y, grid);}

EMSCRIPTEN_KEEPALIVE
bool wrapper_won(char* grid) {return won(grid);}

EMSCRIPTEN_KEEPALIVE
void wrapper_aiLevel1(char* grid) { aiLevel1(grid);}

EMSCRIPTEN_KEEPALIVE
void wrapper_aiLevel2(char* grid) { aiLevel2(grid);}

EMSCRIPTEN_KEEPALIVE
void wrapper_aiLevel3(char* grid) { aiLevel3(grid);}

EMSCRIPTEN_KEEPALIVE
bool wrapper_isPlayerTurn() {return isPlayerTurn();}

EMSCRIPTEN_KEEPALIVE
void wrapper_changePlayerTurn() {changePlayerTurn();}

EMSCRIPTEN_KEEPALIVE
void wrapper_setPlayerTurn(bool Turn) { setPlayerTurn(Turn);}

EMSCRIPTEN_KEEPALIVE
int wrapper_getAiLevel() {return getAiLevel();}

EMSCRIPTEN_KEEPALIVE
void wrapper_setAiLevel(int Level) {return setAiLevel(Level);}

EMSCRIPTEN_KEEPALIVE
bool wrapper_isDraw(char* grid) {return isDraw(grid);}

EMSCRIPTEN_KEEPALIVE
bool wrapper_checkWin(char player, char* grid) {return checkWin(player, grid);}

EMSCRIPTEN_KEEPALIVE
int wrapper_checkState(int x, int y, char* grid) {return checkState(x, y, grid);}

// EOF
