From f4fb6f51375f302b122abd6483b5552a6156ce62 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Fri, 15 Oct 2021 14:46:38 +0200 Subject: [PATCH] Some corrections in play_move --- src/model.c | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/model.c b/src/model.c index cd642ee..5dc12f5 100644 --- a/src/model.c +++ b/src/model.c @@ -216,25 +216,21 @@ void set_tictactoe_winner(s_tictactoe *p_ttt){ } e_status play_move(s_utictactoe *p_uttt, s_move *p_move) { - if (is_move_valid(p_uttt, p_move) == YES) { - - 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 { + if (is_move_valid(p_uttt, p_move) == 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 { 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; set_tictactoe_winner(p_uttt->outer_tictactoe); return YES; } +