Code Monkey home page Code Monkey logo

ultimate-tic-tac-toe's Introduction

ULTIMATE-TIC-TAC-TOE


DÉROULEMENT DU JEU :

Lorsqu’un joueur joue dans une case d’un inner-tictactoe, le joueur suivant doit jouer alors dans le inner-tictactoe correspondant à la case jouée précédemment . Si le joueur bleu a joué la case en bas à droite d’un inner-tictactoe, le joueur vert doit jouer dans le inner-tictactoe en bas à droite . Ainsi de suite ...Si l’inner-tictactoe dans lequel un joueur doit jouer est déjà achevé (gagné par quelqu’un ou match nul), le joueur en question peut jouer où il veut .

FIN DU JEU :

Un inner-tictactoe remporté par un joueur lui permet d’obtenir la case correspondante dans le outer-tictactoe . Si un joueur aligne trois cases dans le outer-tictactoe, il est le gagnant de la partie .


Les erreurs seront toutes gérées via des assertions que l’on pourra désactiver dans la version finale de notre jeu. On utilisera trois constantes nommées pour coder une réponse négative, une réponse positive et une réponse presque bonne à l’aide de e_status

typedef enum {   
    NO,         // une réponse négative
    YES,        // une réponse positive
    ALMOST,     // une réponse presque bonne 
}e_status;

Les joueurs seront représentés à l’aide de e_player

typedef enum 
{
    PLAYER_O = 'O',
    PLAYER_X = 'X',
    NOBODY = ' ',
    BOTH = '#'
}e_player ;

Les positions seront représentés à l’aide de e_location

typedef enum {
    TOPLEFT,   // Case de gauche sur la ligne du haut  
    TOPCENTER, // Case du milieu sur la ligne du haut   
    TOPRIGHT,  // Case de droite sur la ligne du haut   
    MIDLEFT,   // Case de gauche sur la ligne du milieu   
    MIDCENTER,  // Case du milieu sur la ligne du milieu   
    MIDRIGHT,        // Case de droite sur la ligne du milieu   
    BOTTOMLEFT,      // Case de gauche sur la ligne du bas   
    BOTTOMCENTER,   // Case du milieu sur la ligne du bas   
    BOTTOMRIGHT,    // Case de droite sur la ligne du bas   
    FREE,           // N’importe quelle case   
    NONE            // Aucune des cases 
}e_location;

Un tictactoe est représenté par un s_tictactoe

typedef struct{
    e_player *content;
    // un tableau de TICTACTOE_SIZEe_player
    // correspondant aux cellules de haut gauche                                 
    // vers bas droit 
    e_player winner ; 
    // le gagnant du tic-tac-toe, BOTH en cas de    
    // jeu nul, NOBODY sinon

}s_tictactoe;

Les coups seront représentés à l’aide de s_move

typedef struct{
    e_location inner_position;
    //La position dans le inner-tictactoe   e_locationouter_position;
    //La position dans le outer-tictactoe   
    e_player player ;    
    //Le joueur jouant le coup 
    }s_move;

Un historique des coups joués sera stocké grâce à une liste simplement chaînée de s_move

typedef struct list
{ 
    s_move*last_move;
    struct list *next; 
} list_element_s_move;

// La liste vide étant représentée par un pointeur NULL

ultimate-tic-tac-toe's People

Contributors

ihssanehatim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.