for (i=0; iARRAY_MAX+1; i++) {
n = board_array[i];
int2char(n);
}
LCD_output("\n");
}
//********************************************************************
// display_board: Выводит табло как массив 4x4
//********************************************************************
void display_board(int A[SIZE][SIZE], int row, int col, int direction) {
#pragma abs_address 0x0800
int i;
int j;
int num;
#pragma end_abs_address
newline;
LCD_output("| Column ");
LCD_output("| 1 2 3 4 ");
LCD_output("-------------------");
for (i=0; i SIZE; i++) {
j=0;
switch(i) {
case 0:
LCD_output("R 1 |");
break;
case 1:
LCD_output("o 2 |");
break;
case 2:
LCD_output("w 3 |");
break;
case 3:
LCD_output(" 4 |");
break;
}
for (j=0; j SIZE; j++) {
num = A[i][j];
if (num == 0) LCD_output(" ");
else int2char(num);
if ((i+1 == row) (j+1) == col))
LCD_output("*");
else LCD_output(" ");
}
}
newline;
LCD_output("You are at (R,C)");
LCD_output(" (");
int2char(row);
LCD_output(",");
int2char(col);
LCD_output(") =");
int2char(A[row-1];
LCD_output(" ");
newline;
}
//********************************************************************
// INT2CHAR: задается как integer и выводится на ЖКД в виде
// двух символов
//********************************************************************
void int2char(int i) {
if (i 9) {
LCD_output("I");
i -= 10;
} else {
LCD_output('; ");
}
switch(i) {
case 0:
LCD_output("0");
break;
case 1:
LCD_output("1");
break;
case 2:
LCD_output("2");
break;
case 3:
LCD_output("3");
break;
case 4:
LCD_output("4");
break;
case 5:
LCD_output("5");
break;
case 6:
LCD_output("6");
break;
case 7:
LCD_output("7");
break;
case 8:
LCD_output("8");
break;
case 9:
LCD_output("9");
break;
}
}
//********************************************************************
//Check_Win: Эта функция проверяет соответствие текущего положения ситуации
// победы при победе win - 1, в остальных случаях - 0
//********************************************************************
int check_win(int array[ARRAY_MAX+1]) {
int i;
int win = 1;
for (i=0; iARRAY_MAX+1; i++) {
if (array[i] != win_array[i]) win = 0;
}
return win;
}
//********************************************************************
//Convert_multi_single: Эта функция преобразует двухмерный массив
//в одномерный
//********************************************************************
int convert_multi_single(int A[SIZE][SIZE], int В[ARRAY_MAX+1]) {
int n = 0;
int i = 0;
int j = 0;
for (i=0; iSIZE; i++) {
for (j=0; jSIZE; j++) {
B[n] = A[i][j] ;
n++;
}
}
}
//****************************************************************