Написать игру Норткотта - C (СИ)
Формулировка задачи:
Здравствуйте) Мне нужна помощь. Нужно написать игру Норткотта на языке СИ. Только если можно с объяснениями пожалуйста) Я хочу понять смысл. У меня не получается. правила игры: Имеется прямоугольная доска размером m*n. Один игрок играет белыми шашками, другой черными. В начале игры в левом столбце во всех строках расположены черные шашки, в правом столбце – белые. За ход игрок может передвинуть любую свою шашку в одной строке на любое число полей в любую сторону. При этом нельзя перескакивать через шашки противника. Тот игрок, который не может сделать ход, проигрывает. Заранее спасибо за помощь)))
Решение задачи: «Написать игру Норткотта»
textual
Листинг программы
#include <stdio.h>
#define N 10
#define M 10
int matrix[N][M];
void updateZone()
{
int i, j;
printf(" A|B|C|D|E|F|G|H|I|J|\n");
for(i=0; i<=N; i++)
{
printf("%2i|", i);
for(j=0; j<N; j++)
{
if(matrix[i][j] == 0) printf(".|");
else if(matrix[i][j] == 1) printf("O|");
else if(matrix[i][j] == 2) printf("*|");
}
printf("\n");
}
}
void startZone()
{
int i;
for(i=0; i<=M; i++)
{
matrix[i][0] = 1;
matrix[i][N-1] = 2;
}
}
main()
{
startZone();
updateZone();
}
Объяснение кода листинга программы
- Включаем файл
- Определяем размеры матрицы (N=10, M=10)
- Создаем двумерный массив matrix[N][M]
- Функция updateZone() выводит текущее состояние матрицы в формате
North|South|East|West|...|...|...|...|...|... - Функция startZone() инициализирует матрицу так, что верхняя и нижняя строки становятся
границами(значение 2) - Главная функция main() вызывает функции startZone() и updateZone()**
- Выполняется обновление состояния матрицы и вывод её на экран