Chess player/Move generation: Difference between revisions
Content added Content deleted
m (draft task) |
(THIS PAGE IS FLAGGED FOR DELETION ON or after 5 MAR 2020.) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{draft task|Move generation}} This is a sub-task of the Chess player task. |
<strike><nowiki>{{draft task|Move generation}}</nowiki></strike> This is a sub-task of the Chess player task. |
||
;THIS PAGE IS FLAGGED FOR DELETION ON or after 5 MAR 2020. |
|||
Using suitable data structures, generate a list of valid moves given a chess game position and the side-to-move. You can create a basic (and incomplete) solution or create an advanced solution which covers all possible moves and depends on tracking more of the game state. |
Using suitable data structures, generate a list of valid moves given a chess game position and the side-to-move. You can create a basic (and incomplete) solution or create an advanced solution which covers all possible moves and depends on tracking more of the game state. |
||
Line 5: | Line 7: | ||
Basic implementation: |
Basic implementation: |
||
#Moves based on piece type |
#Moves based on piece type |
||
#Promotion to queen |
|||
#Simple promotion |
|||
#Allow resignation |
#Allow resignation |
||
More advanced/full implementation: |
More advanced/full implementation: |
||
Line 14: | Line 16: | ||
#Draw by repetition and 50-move rule |
#Draw by repetition and 50-move rule |
||
Describe how complete your solution is, and try to create a self-contained component which could be used by a complete chess program. |
Latest revision as of 10:56, 28 February 2020
{{draft task|Move generation}} This is a sub-task of the Chess player task.
- THIS PAGE IS FLAGGED FOR DELETION ON or after 5 MAR 2020.
Using suitable data structures, generate a list of valid moves given a chess game position and the side-to-move. You can create a basic (and incomplete) solution or create an advanced solution which covers all possible moves and depends on tracking more of the game state.
Basic implementation:
- Moves based on piece type
- Promotion to queen
- Allow resignation
More advanced/full implementation:
- Castling (not through check)
- En-passant capture
- All promotions
- Move legality for moving in/out of check
- Draw by repetition and 50-move rule
Describe how complete your solution is, and try to create a self-contained component which could be used by a complete chess program.