Окно для игры "Морской бой" - C (СИ)
Формулировка задачи:
Помогите пожалуйста! Я хочу написать игру на си в Code Blocks. Возникает проблема с оформлением. Хотелось бы, чтобы в итоге поле было примерно такое же как и на картинке, а не массив из 0 и 1 . Подскажите, как можно осуществить?
Решение задачи: «Окно для игры "Морской бой"»
textual
Листинг программы
void afisare(cimp a[12][12],const int tip){
int i,j;
printf(" ");
for(i=97;i<107;i++)
printf("%2c",i);
printf("\n");
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",201,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,187); for(i=1;i<11;i++)
{
printf("%2d",i);
printf("%c",186);
for(j=1;j<11;j++){
switch(tip){
case 1: switch(a[i][j].a){
case 1: printf("%2c",254); break;
case 2: printf("%2c",253); break;
case 3: printf("%2c",250); break;
default: printf(" ");
}break;
case 2: switch(a[i][j].a){
case 2: printf("%2c",253); break;
case 3: printf("%2c",250); break;
default: printf(" ");
}
}
}
printf("%c",186);
printf("%2d",i);
printf("\n");
}
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",200,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,188);
printf(" ");
for(i=97;i<107;i++)
printf("%2c",i);
printf("\n\n");
}
Объяснение кода листинга программы
Код выполняет следующие действия:
- Выводит горизонтальную линию из символов от 'a' до 'f'.
- Выводит числа от 1 до 10 в левой части окна игры
Морской бой. - Для каждого числа от 1 до 10 выводит соответствующую строку из символов в зависимости от выбранного режима игры (1 или 2).
- Выводит горизонтальную линию из символов от 'a' до 'f'.
- Выводит числа от 1 до 10 в правой части окна игры
Морской бой. - Выводит символ ' ' (пробел) и числа от 1 до 10 в левой части окна игры
Морской бой. - Выводит горизонтальную линию из символов от 'a' до 'f'.
- Выводит символы от 'a' до 'f' в строке, соответствующей выбранному режиму игры (1 или 2).
- Выводит символ ' ' (пробел) и символы от 'a' до 'f' в строке, соответствующей выбранному режиму игры (1 или 2).
- Выводит горизонтальную линию из символов от 'a' до 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.
- Выводит символ ' ' (пробел) и символ 'f'.