Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

 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++;

  }

 }

}

//****************************************************************

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже