Окно для игры "Морской бой" - 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");
}

Объяснение кода листинга программы

Код выполняет следующие действия:

  1. Выводит горизонтальную линию из символов от 'a' до 'f'.
  2. Выводит числа от 1 до 10 в левой части окна игры Морской бой.
  3. Для каждого числа от 1 до 10 выводит соответствующую строку из символов в зависимости от выбранного режима игры (1 или 2).
  4. Выводит горизонтальную линию из символов от 'a' до 'f'.
  5. Выводит числа от 1 до 10 в правой части окна игры Морской бой.
  6. Выводит символ ' ' (пробел) и числа от 1 до 10 в левой части окна игры Морской бой.
  7. Выводит горизонтальную линию из символов от 'a' до 'f'.
  8. Выводит символы от 'a' до 'f' в строке, соответствующей выбранному режиму игры (1 или 2).
  9. Выводит символ ' ' (пробел) и символы от 'a' до 'f' в строке, соответствующей выбранному режиму игры (1 или 2).
  10. Выводит горизонтальную линию из символов от 'a' до 'f'.
  11. Выводит символ ' ' (пробел) и символ 'f'.
  12. Выводит символ ' ' (пробел) и символ 'f'.
  13. Выводит символ ' ' (пробел) и символ 'f'.
  14. Выводит символ ' ' (пробел) и символ 'f'.
  15. Выводит символ ' ' (пробел) и символ 'f'.
  16. Выводит символ ' ' (пробел) и символ 'f'.
  17. Выводит символ ' ' (пробел) и символ 'f'.
  18. Выводит символ ' ' (пробел) и символ 'f'.
  19. Выводит символ ' ' (пробел) и символ 'f'.
  20. Выводит символ ' ' (пробел) и символ 'f'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы