display_board(board_array_multi, row, col, direction);
pause; // ожидание, пока пользователь не нажмет кнопку X
LCD_output("Now the board is"); // вывод сообщения
LCD_output("randomized. You ");
LCD_output("may begin by ");
LCD_output("choosing a piece");
LCD_output("to move, and its");
LCD_output("direction. ");
newline;
pause;
randomize_board(board_array_single); // Случайный выбор исходного
// положения фишек
convert_single_multi(board_array_single, board_array_multi);
display_board(board_array_multi, row, col, direction);
while(win == 0){ //цикл повторяется до успешного окончания игры
while (select == 0) {
//если была нажата кнопка x, то задается направ-
// ление движения ряд и колонка выделенной фишки
get_move(direction, row, col, select);
Reset_cursor; // установить курсор в верхнее положение
if (select == 0)
display_board(board_array_multi, row, col, direction);
}
//проверить корректность движения, повторить его, если
// оно некорректно, или вывести сообщение об ошибке
try_move(direction, row-1, col-1, board_array_multi);
select = 0;
convert_multi_single(board_array_multi, board_array_single);
win = check_win(board_array_single);
Clearscreen;
// показать текущее состояние игры
display_board(board_array_multi, row, col, direction);
}
display_win; // вывести сообщение об успешном окончании игры
}
//*****************************************************************
// display_intro: DISPLAY INTRO MESSAGE
//*****************************************************************
void display_intro {
newline;
LCD_output(" WELCOME ");
LCD_output(" TO ");
LCD_output(" SLIDING PUZZLE ");
new_line;
pause;
LCD_output("The object of ");
LCD_output("this game is to ");
LCD_output("move each #'ed ");
LCD_output("puzzle piece so ");
LCD_output("that you end up ");
LCD_output("in the order ");
LCD_output("seen below. The ");
LCD_output("star shows the ");
LCD_output("current piece ");
LCD_output("selected. You ");
LCD_output("can choose a ");
LCD_output("different piece ");
LCD_output(" by using the ");
LCD_output(" arrow buttons ");
newline;
pause;
LCD_output("and select the ");
LCD_output("piece you want ");
LCD_output("to move by ");
LCD_output("pressing the X ");
// кнопка "Выбор"
LCD_output("button. Choose ");
LCD_output("the direction to ");
LCD_output("move that piece ");
LCD_output("with the arrows. ");
new_line;
LCD_output("WINDING ");
LCD_output("CONFIGURATION: ");
newline;
}
//*****************************************************************
// display_win: ВЫВОД СООБЩЕНИЯ О ПОБЕДЕ