Π ΠΈΡ. 7.37. ΠΠ»ΠΎΠΊ-Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Β«15Β»
7.7.4. Π‘Ρ Π΅ΠΌΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
ΠΠ° ΡΠΈΡ. 7.38 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Β«15Β». ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΡΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡ 68HC912B32EVB ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ ΠΏΠΎΡΠ»Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΠ-Π΄ΠΈΡΠΏΠ»Π΅Ρ. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΈΡ. 7.39.
Π ΠΈΡ. 7.38. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Β«15Β»
Π ΠΈΡ. 7.39. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Β«15Β»
ΠΠ° ΡΠΈΡ. 7.40 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Β«15Β», Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π³Π»Π°Π²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅ΡΡΠΈ ΡΡΠ±ΠΌΠΎΠ΄ΡΠ»ΡΠΌ. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΄ ΡΡΠ½ΠΊΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΡΠ±ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Π±Π»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° ΡΠΈΡ. 7.41.
Π ΠΈΡ. 7.40. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Β«15Β»
Π ΠΈΡ. 7.41. ΠΠ»ΠΎΠΊ ΡΡ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΈΠ³ΡΡ Π² Β«15Β»
7.7.5. Π ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΡΠ΅ΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ AND 1391 β ΡΡΠΎ ΠΏΠΎΠ»Π½Π°Ρ ΡΠΎΡΠ΅ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΠΠΠ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Π΄ΠΈΡΠΏΠ»Π΅Ρ ΠΈ ΠΠΠ£ Π±ΡΡΠ΅ΡΠ° ΡΠΊΡΠ°Π½Π°. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ 21 ΡΠΈΠΌΠ²ΠΎΠ» Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· 18 ΡΡΡΠΎΠΊ Π΄ΠΈΡΠΏΠ»Π΅Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΎΠ± ΡΡΠΎΠΌ Π΄ΠΈΡΠΏΠ»Π΅Π΅ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΡ Π΅Π³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π² Π³Π»Π°Π²Π΅ 5.
7.7.6. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄
//ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: sliding.Ρ
//ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: ΠΠ³ΡΠ° Π² "15"
//ΠΠ²ΡΠΎΡΡ: Scott Lewis, Daniel Pack,
//ΠΠ°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ: ΠΠ°ΡΠ°ΡΠ° 27 Π°ΠΏΡΠ΅Π»Ρ 2004
//ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π° 7 ΠΠ°Ρ 2004
// ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅: ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ³ΡΡ Π² "15". Π¦Π΅Π»Ρ ΠΈΠ³ΡΡ
// Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²ΡΡΡΡΠΎΠΈΡΡ ΡΠΈΡΠΊΠΈ ΠΏΠΎ ΠΏΠΎ ΡΡΠ΄Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠ². ΠΡ
// ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ Π½Π° ΠΏΡΡΡΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π»ΡΠ±ΡΡ ΡΠΎΡΠ΅Π΄Π½ΡΡ ΡΠΈΡΠΊΡ.
// ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ
// $2000. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΈΡΠ΅ΠΊ, Π·Π°ΡΠ΅ΠΌ
// ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΈΠΉΡΠΈ Π²
// ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΈΡΠΊΠΈ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ
// ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΡΠ°ΡΡ ΠΈΠ³ΡΡ
// ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ
// ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°: 0x2000
// ΠΠ°Π½Π½ΡΠ΅: 0x3500
// Π‘ΡΠ΅ΠΊ: 0x4000
//
// PDLC0: /WR PP0 Data 0 PS0: ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
// PDLC1: /RD PP1 Data 1 PS1: ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
// PDLC2: /CE PP2 Data 2 PS2: ΠΠ½ΠΎΠΏΠΊΠ° "ΠΠ»Π΅Π²ΠΎ"
// PDLC3: C/D PP3 Data 3 PS3: ΠΠ½ΠΎΠΏΠΊΠ° "ΠΡΠ±ΠΎΡ"
// PDLC4: /Reset PP4 Data 4 PS4: ΠΠ½ΠΎΠΏΠΊΠ° "ΠΠ½ΠΈΠ·"
// PDLC5: NC PP5 Data 5 PS5: ΠΠ½ΠΎΠΏΠΊΠ° "ΠΠΏΡΠ°Π²ΠΎ"
// PDLC6: NC PP6 Data 6 PS6: ΠΠ½ΠΎΠΏΠΊΠ° "ΠΠ²Π΅ΡΡ "
// PDLC1: NC PP7 Data 7 PS7: ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ
//
// ΠΡΠ²ΠΎΠ΄Ρ ΠΠΠ
// GND - 2 1 - GND
// -14V - 3 4 - +5V
// /WR - 5 6 - /RD
// /CE - 7 8 - C/D
// NC - 9 10 - /Reset
// DO - 11 12 - D1
// D2 - 13 14 - D3
// D4 - 15 16 - D5
// D6 - 17 18 - D7
// GND - 19 20 - NC
//******************************************************
#include <912b32.h> // ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΠ² - header file
// ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
//********************************************************************
// ΠΠΎΡΡΠΎΡΠ½Π½ΡΠ΅
//********************************************************************
#define ARRAY_MAX 15
#define ZERO 0x00
#define L_BUTTON 0x04 // ΡΠΈΠ³Π½Π°Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ
#define R_BUTTON 0x20
#define U_BUTTON 0x40
#define D_BUTTON 0x10
#define S BUTTON 0x08
#define LEFT 1 // Π²ΡΠ±ΠΎΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
#define RIGHT 2
#define UP 3
#define DOWN 4
#define SELECT 5
#define SIZE 4 // Π Π°Π·ΠΌΠ΅Ρ ΡΡΡΠΎΠΊΠΈ/ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ
//********************************************************************
// ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
//********************************************************************
int check_win(int array[ARRAY_MAX+1]);
void convert_multi_single(int A[SIZE][SIZE], int Π[SIZE][SIZE]);
void convert_single_multi(int A[ARRAY_MAX+1], int Π[SIZE][SIZE]);
void display_board(int A[SIZE][SIZE], int row, int col, int direction);
void display_board2(int board_array[ARRAY_MAX+1]);
void display_error(int n);
void display_intro(void);
void display_win(void);
void get_move(int *direction, int *row, int *col, int *select);
void randomize_board(int board_array[]);
void swap(int row, int col, int new_row, int new_col, int array[SIZE][SIZE]);
void swap2(int from, int to, int array[ARRAY_MAX+1]);
void try_move(int move, int row, int col, int array[SIZE][SIZE]);
unsigned char mode(unsigned char num, int modulus);
void LCD_output(char s[]);
void int2char(int i);
void pause(void);
void delay(int usec);
void enable(void);
void initialize_LCD(void);
void command(unsigned char n);
void data(unsigned char n);
void write(void);
void read(void);
void status_wait(void);
void LCD_char(unsigned char n);
void Clearscreen(void);
void newline(void);
void Reset_cursor(void);
//*****************************************************************
//ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
//*****************************************************************
#pragma abs_address 0x3600
static int win_array[ARRAY_MAX+1]
= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0};
#pragma end_abs_address
#pragma abs_address 0x3500
int board_array_single [ARRAY_MAX+1];
int board_array_multi[SIZE][SIZE];
int win; //ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π±ΡΠ»Π΅Π²Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
int direction; //Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ
int row; //Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΡΡΠ΄
int col; //Π²ΡΠ΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ
int select; //Π΅ΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°ΡΠ°
int i; //ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
#pragma end_abs_address
//*****************************************************************
// ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
//*****************************************************************
void main() {
win = 0; //ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
direction = 0;
row = 1;
col = 1;
select = 0;
i = 0;
DDRDLC = 0x1F; //ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡ DDRDLC ΠΊΠ°ΠΊ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ
DDRP = 0xFF; // ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΡΡΠ° P ΠΊΠ°ΠΊ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅
DDRS = 0x00; // ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΡΡΠ° S ΠΊΠ°ΠΊ Π²Ρ ΠΎΠ΄Π½ΡΠ΅
TSCR = 0x80; //Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ
initialize_LCD(); //ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΠΠ
Clearscreen();
Reset_cursor();
display_intro();
for (i=0; i < ARRAY_MAX+1; i++) board_array_single[i] = win_array[i];
convert_single_multi(board_array_single, board_array_multi);
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 ");