#ifndef __MORPION_H__
#define __MORPION_H__

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>

extern bool playerTurn;

extern int aiLevel;

char* newGame();

void deleteGame(char* grid);

void gameLoop();

bool play(int x, int y, char* grid);

bool won(char* grid);

void aiLevel1(char* grid);

void aiLevel2(char* grid);

void aiLevel3(char* grid);

int minimax(char* grid, int depth, int aiTurn);

int evaluate(char* grid);

void printGrid(char* grid);

bool isPlayerTurn();

void changePlayerTurn();

void setPlayerTurn(bool Turn);

bool inGrid(int x, int y);

int getAiLevel();

void setAiLevel(int Level);

bool isDraw(char* grid);

bool checkWin(char player, char* grid);

int checkState(int x, int y, char* grid);

#endif