Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
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; i<ARRAY_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; i<SIZE; i++) {
for (j=0; j<SIZE; j++) {
B[n] = A[i][j] ;
n++;
}
}
}
//****************************************************************
//Convert_single_multi: Эта функция преобразует одномерный массив
//в двухмерный
//****************************************************************
void convert_single_multitint A[ARRAY_MAX+1], int В[SIZE][SIZE]) {
B[0][0] = A[0];
B[0][1] = A[1];
B[0][2] = A[2];
B[0][3] = A[3];
B[1][0] = A[4];
B[1][1] = A[5];
B[1][2] = A[6];
B[1][3] = A[7];
B[2][0] = A[8];
B[2][1] = A[9];
B[2][2] = A[10];
B[2][3] = A[11];
B[3][0] = A[13];
B[3][2] = A[14];
B[3][3] = A[15];
}
//********************************************************************
// Try_move:
Эта функция позволяет игроку определить некорректность
// своего хода. Если он корректен, то движение выполняется,
// если же некорректен, то выводится соответствующее сообщение
//********************************************************************
void try_move(int move, int row, int col, int array[SIZE][SIZE]) {
switch(move) {
case UP:
if ((row-1 >=0) && (array[row-1][col] == 0))
swap(row, col, row-1, col, array);
else display_error(UP);
break;
case DOWN:
if ((row+1 <= SIZE) && (array[row+1][col] == 0))
swap(row, col, row+1, col, array);
else display_error(DOWN);
break;
case LEFT:
if ((col-1 >=0) && (array[row][col-1] == 0))
swap(row, col, row, col-1, array);
else display_error(LEFT);
break;
case RIGHT:
if ((col+1 < = SIZE) && (array[row][col+1] == 0))
swap(row, col, row, col+1, array);
else display_error(RIGHT);
break;
}
}
//********************************************************************
//********************************************************************
//Swap: Эта функция заменяет два значения двухмерным массивом.
//********************************************************************
void swap(int row, int col, int new_row, int new_col, int array[SIZE][SIZE]) {
int temp;
Поделиться:
Популярные книги
Измена. Тайный наследник
1. Тайный наследник
Фантастика:
фэнтези
5.00
рейтинг книги
Инквизитор Тьмы
1. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник
3. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Ротмистр Гордеев 3
3. Ротмистр Гордеев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
(Не)нужная жена дракона
5. Хроники Драконьей империи
Любовные романы:
любовно-фантастические романы
6.89
рейтинг книги
Идеальный мир для Лекаря 28
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Сыночек в награду. Подари мне любовь
1. Суровые отцы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Инквизитор Тьмы 2
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Генерал Скала и ученица
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Искатель 1
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Сердце Дракона. Том 10
10. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.14
рейтинг книги
Печать мастера
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Выстрел на Большой Морской
4. Сыщик Его Величества
Детективы:
исторические детективы
полицейские детективы
8.64
рейтинг книги
Кодекс Крови. Книга VII
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00