chess's People
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.
[OPTI] Search for better opti flags
[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.
[BUILD] Cmake Optimization
Not sure, of what optimization we should add. According to this website(https://www.rapidtables.com/code/linux/gcc/gcc-o.html), optimization do not seem really interesting since they only make faster the compilation. However, for our project we should focus on the speed during execution and the memory usage.
[OPTI][CONVERT] Bitboard to coordinates
For this task, the assignee(s) has(ve) to implement convert bitboard values to coordinates.
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.
Implement the is_move_legal() method in chessboard.cc
Last method to be implemented in the chessboard.cc
[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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.