Giter Club home page Giter Club logo

chess's People

Contributors

datuser avatar dogodadozo avatar zuuki avatar

Watchers

 avatar  avatar

chess's Issues

[RULE_QUEEN] Generate moves

For this task, the assignee(s) has(ve) to implement the generate_queen_moves function of rule class that will generate the moves for every queen.

Please, let everyone know about your progress.

[LISTENERS] Implement listener manager

For this task, the assignee(s) has(ve) to create his own listener, he must create a class that implements the Listenerinterface.

Please, let everyone know about your progress.

[RULE_KING] Generate moves

For this task, the assignee(s) has(ve) to implement the generate_king_moves function of rule class that will generate the moves for the king.

Please, let everyone know about your progress.

[RULE_ROOK] Generate moves

For this task, the assignee(s) has(ve) to implement the generate_rook_moves function of rule class that will generate the moves for every rook.

Please, let everyone know about your progress.

[PGN_PARSER] Figure out how to call it

For this task, the assignee(s) has(ve) to call the pgn parser in the main function when needed and to create a Chessboard using it.

Please, let everyone know about your progress.

Move register_board() in the main()

As the register_board() should be called only once at the beginning of the game (according to the related .hh), it should be moved into the main().

Should be done when we will have an IA (or something that is close to)

[BUILD] CMakeLists.txt file

For this task, the assignee(s) has(ve) to add the sources and the optimization flags to the CMakeLists.txt.

Please, let everyone know about your progress.

[PARSER] Option parser

For this task, the assignee(s) has(ve) to implement the option parser, that will interpret the options used while running the program.

Please, let everyone know about your progress.

[RULE_PAWN] Generate moves

For this task, the assignee(s) has(ve) to implement the generate_pawn_moves function of rule class that will generate the moves for every pawn.

Please, let everyone know about your progress.

[OPTI][CONVERT] PieceList -> BitBoard shift

For this task, the assignee(s) has(ve) to change the implementation of move generation and use shifts and masks instead of loops to generates the moves.

Please, let everyone know about your progress.

[MOVE] Create move class

For this task, the assignee(s) has(ve) to create Move class.

Please, let everyone know about your progress.

[BOARD] Bitboard implementation

For this task, the assignee(s) has(ve) to implement the board representation as a bitboard. As it is a tricky part of the projet the assignee also have in charge to make it easier to debug.

Please, let everyone know about your progress.

[PERFT_PARSER] Implement perft parser

For this task, the assignee(s) has(ve) to implement the perft_parser following the structure given in the uml.png file.

Please, let everyone know about your progress.

[BOARD] Boards implementation

For this task, the assignee(s) has(ve) to implement the boards class containing the different boards.
I think that it will be revelant to add 2 "global" bitboard per color, one containing occupied cases and one containing "danger" cases

Please, let everyone know about your progress.

[CHESSENGINE] Main program

For this task, the assignee(s) has(ve) to implement the main function that will use the option parser to call the right functions give the expected output.

Please, let everyone know about your progress.

[RULE_KNIGHT] Generate moves

For this task, the assignee(s) has(ve) to implement the generate_knight_moves function of rule class that will generate the moves for every knight.

Please, let everyone know about your progress.

[UTILS] two_pow optimization

The assignee will have to optimize the two_pow(int power) function to decrease its complexity.

This function is contained in src/utils/utils.cc

With the bitboard we will only be dealing with power of two so we don't have to generalise this function for every power possible

[RULES] Check if you put yourself in check

For this task, the assignee(s) has(ve) to change the implementation of move generation, indeed we forgot to check if a move put the team in check and it is a forbidden move in chess. So, add this check to each move generation and you're officially a bro.

Please, let everyone know about your progress.

[CHESSBOARD_MOVE] Generate moves

For this task, the assignee(s) has(ve) to implement the generate_legal_moves function of chessboard class that will generate the moves for every token. And also make a function that checks if a move is correct is_legal_move.

Please, let everyone know about your progress.

[AI] AI algorithm

For this task, the assignee(s) has(ve) to implement find the algorithm, he wants us to use (please try not to choose a shitty one) and implement it.

Please, let everyone know about your progress.

N.B.: Yakas recommend to use Minimax.

[RULE_BISHOP] Generate moves

For this task, the assignee(s) has(ve) to implement the generate_bishop_moves function of rule class that will generate the moves for every bishop.

Please, let everyone know about your progress.

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.