Some corrections in play_move

This commit is contained in:
Yorick Barbanneau 2021-10-15 14:46:38 +02:00
parent dc5b803e03
commit f4fb6f5137

View file

@ -216,25 +216,21 @@ void set_tictactoe_winner(s_tictactoe *p_ttt){
} }
e_status play_move(s_utictactoe *p_uttt, s_move *p_move) { e_status play_move(s_utictactoe *p_uttt, s_move *p_move) {
if (is_move_valid(p_uttt, p_move) == YES) { if (is_move_valid(p_uttt, p_move) == NO) {
p_uttt->outer_tictactoe->content[p_move->outer_position] = p_move->player;
list_element_s_move *value = (list_element_s_move*)
malloc(sizeof(list_element_s_move));
value->last_move = p_move;
if ( p_uttt->history == NULL ){
value->next = NULL;
}
else {
value->next = p_uttt->history;
}
p_uttt->history = value;
}
else {
return NO; return NO;
} }
if ( p_uttt->inception_level == 1 ) { p_uttt->outer_tictactoe->content[p_move->outer_position] = p_move->player;
p_uttt->outer_tictactoe->content[p_move->outer_position] = p_move->player; list_element_s_move *value = (list_element_s_move*)
malloc(sizeof(list_element_s_move));
// we need to create a s_move in memory...
// and affect p_move
value->last_move = create_empty_move();
value->last_move = p_move;
value->next = ( p_uttt->history == NULL ) ? NULL : p_uttt->history;
p_uttt->history = value;
if ( p_uttt->inception_level != 1 ) {
} }
else { else {
p_uttt->inner_tictactoes[p_move->outer_position]->content[p_move->inner_position] = p_move->player; p_uttt->inner_tictactoes[p_move->outer_position]->content[p_move->inner_position] = p_move->player;
@ -245,6 +241,8 @@ e_status play_move(s_utictactoe *p_uttt, s_move *p_move) {
p_uttt->outer_tictactoe->content[p_move->outer_position] = p_move->player; p_uttt->outer_tictactoe->content[p_move->outer_position] = p_move->player;
} }
} }
p_uttt->outer_tictactoe->content[p_move->outer_position] = p_move->player;
set_tictactoe_winner(p_uttt->outer_tictactoe); set_tictactoe_winner(p_uttt->outer_tictactoe);
return YES; return YES;
} }