Begin End
Begin End
  • Видео 169
  • Просмотров 2 427 209
Язык С++ - Урок 27 - Анимация для игры 2048
Это видео для тех, кто уже знаком с языком Си, но не знает С++.
Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков:
► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html
Другие источники:
► Телеграмм канал - t.me/BeginEnd1
Безвозмездная помощь каналу:
VTB - 5368 2900 3162 0349 Антон.
BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l
Патреон - www.patreon.com/beginend
В данном видео:
0:00 вступление
0:33 простая анимация
4:09 улучшенная анимация
5:31 убираем артефакты
7:21 задержка появления нового числа
9:13 на этом...
► Плей лист - ruclips.net/video/yxMNtIpmScg/видео.html
Уроки по теме:
► Язык Си 1 - установка ПО, первая программа - ruclip...
Просмотров: 9 107

Видео

Язык С++ - Урок 26 - Пишем игру 2048.
Просмотров 8 тыс.2 года назад
Это видео для тех, кто уже знаком с языком Си, но не знает С . Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков: ► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www...
Язык С++ - Урок 25 - ООП. Наследование конструкторов. Виртуальные деструкторы.
Просмотров 1,9 тыс.2 года назад
Это видео для тех, кто уже знаком с языком Си, но не знает С . Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков: ► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www...
Язык С++ - Урок 24 - Прямая инициализация.
Просмотров 1,7 тыс.2 года назад
Это видео для тех, кто уже знаком с языком Си, но не знает С . Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков: ► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www...
Язык Си с нуля - Урок 69 - Пишем игру Арканоид. Улучшения ракетки и стрельба.
Просмотров 8 тыс.2 года назад
Это видео для тех, кто еще ни разу не программировал, но прошел предыдущие 68 уроков. Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www.patreon.com/beginend Уроки по арканоиду: урок 17.1 - ruclips.net/video/g1MSTO1wCko/видео.html урок 17.2 - ruclips.net/video/868_DV1ks...
Язык Си с нуля - Урок 68 - Пишем игру Арканоид. Добавляем кирпичики.
Просмотров 7 тыс.2 года назад
Это видео для тех, кто еще ни разу не программировал, но прошел предыдущие 67 уроков. Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www.patreon.com/beginend Исходники на конец урока 20: disk.yandex.ru/d/pgbXxrDVtn6D2A Уроки по арканоиду: урок 17.1 - ruclips.net/video/g...
Язык Си с нуля - Урок 67 - Отладка, Assert, __LINE__, __FILE__, atexit, exit.
Просмотров 3,6 тыс.2 года назад
Это видео для тех, кто еще ни разу не программировал, но прошел предыдущие 66 уроков. Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www.patreon.com/beginend В данном видео: 0:00 вступление 0:32 LINE 1:11 FILE 1:36 exit 3:03 atexit 4:03 abort 4:21 поиск места ошибки деб...
Язык Си с нуля - Урок 66 - ДЗ уроков 62, 64 и 65
Просмотров 1,8 тыс.2 года назад
Это видео для тех, кто еще ни разу не программировал, но прошел предыдущие 65 уроков. Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www.patreon.com/beginend В данном видео: 0:00 вступление 0:23 урок 62, зад. 1 3:31 урок 62, зад. 2 5:54 урок 64, зад. 1 6:40 урок 64, зад...
Язык Си с нуля - Урок 65 - Способы инициализации. Безымянные переменные.
Просмотров 3,5 тыс.2 года назад
Это видео для тех, кто еще ни разу не программировал, и не изучал язык Си, но прошел предыдущие 64 урока. Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www.patreon.com/beginend В данном видео: 0:00 вступление 0:32 инициализация копированием 1:12 инициализация списком 3...
Язык С++ - Урок 23 - Пишем свой Cout и манипулятор endl.
Просмотров 2,4 тыс.2 года назад
Это видео для тех, кто уже знаком с языком Си, но не знает С . Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков: ► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www...
Язык С++ - Урок 22 - ДЗ уроков 19, 20, 21.
Просмотров 9042 года назад
Это видео для тех, кто уже знаком с языком Си, но не знает С . Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков: ► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www...
Язык С++ - Урок 21 - Агрегатные и неагрегатные типы
Просмотров 1,5 тыс.2 года назад
Это видео для тех, кто уже знаком с языком Си, но не знает С . Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков: ► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www...
Язык С++ - Урок 20 - ООП. Полиморфизм, virtual, абстрактные методы.
Просмотров 1,8 тыс.2 года назад
Это видео для тех, кто уже знаком с языком Си, но не знает С . Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков: ► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www...
Язык С++ - Урок 19 - ООП. Наследование. Private, public, protected.
Просмотров 1,6 тыс.2 года назад
Это видео для тех, кто уже знаком с языком Си, но не знает С . Если вы никогда не программировали, то сначала пройдите курс по языку Си для новичков: ► Уроки по Си для новичков - ruclips.net/video/0bL_Va_4lB4/видео.html Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www...
Язык Си с нуля - Урок 64 - Что такое объявление, определение, заголовок и тело. Как использовать
Просмотров 3,3 тыс.2 года назад
Это видео для тех, кто еще ни разу не программировал, и не изучал язык Си, но прошел предыдущие 63 урока. Другие источники: ► Телеграмм канал - t.me/BeginEnd1 Безвозмездная помощь каналу: VTB - 5368 2900 3162 0349 Антон. BTC - bc1q72jw5p572ck24wh7kev5cnqvv4wwufc8q2zy9l Патреон - www.patreon.com/beginend В данном видео: 0:00 вступление 0:25 заголовок и тело функции 1:17 объявление и определение ...
Язык С++ - Урок 18 - Пишем игру Тетрис.
Просмотров 9 тыс.2 года назад
Язык С - Урок 18 - Пишем игру Тетрис.
Язык С++ - Урок 17 - const. Как и когда использовать.
Просмотров 1,6 тыс.2 года назад
Язык С - Урок 17 - const. Как и когда использовать.
Язык С++ - Урок 16 - ДЗ уроков 13, 14 и 15.
Просмотров 1 тыс.2 года назад
Язык С - Урок 16 - ДЗ уроков 13, 14 и 15.
Язык С++ - Урок 15 - ООП. Основы наследования.
Просмотров 2 тыс.2 года назад
Язык С - Урок 15 - ООП. Основы наследования.
OpenGL - Урок 58 - Новогодний выпуск. Трехмерный шейдерный генератор снега.
Просмотров 8 тыс.2 года назад
OpenGL - Урок 58 - Новогодний выпуск. Трехмерный шейдерный генератор снега.
Язык С++ - Урок 14 - Перегрузка операторов, сложные операторы.
Просмотров 2,9 тыс.2 года назад
Язык С - Урок 14 - Перегрузка операторов, сложные операторы.
Язык С++ - Урок 13 - Перегрузка операторов, основы.
Просмотров 2,8 тыс.2 года назад
Язык С - Урок 13 - Перегрузка операторов, основы.
Язык Си с нуля - Урок 63 - Отличие статического массива от динамического.
Просмотров 6 тыс.2 года назад
Язык Си с нуля - Урок 63 - Отличие статического массива от динамического.
Язык Си с нуля - Урок 62 - Двумерные динамические массивы.
Просмотров 10 тыс.2 года назад
Язык Си с нуля - Урок 62 - Двумерные динамические массивы.
OpenGL - Урок 57 - Финальный алгоритм поиска пути. Зависимость от местности. Поиск до радиуса.
Просмотров 5 тыс.2 года назад
OpenGL - Урок 57 - Финальный алгоритм поиска пути. Зависимость от местности. Поиск до радиуса.
Язык Си с нуля - Урок 61 - Симулятор Террарии.
Просмотров 7 тыс.2 года назад
Язык Си с нуля - Урок 61 - Симулятор Террарии.
Язык С++ - Урок 12 - ДЗ уроков 8, 9 и 10.
Просмотров 1,2 тыс.2 года назад
Язык С - Урок 12 - ДЗ уроков 8, 9 и 10.
Язык Си с нуля - Урок 60 - ДЗ уроков 56, 57 и 58.
Просмотров 2,3 тыс.2 года назад
Язык Си с нуля - Урок 60 - ДЗ уроков 56, 57 и 58.
Язык С++ - Урок 11 - Пишем игру танчики для двух игроков. Симулятор WоT.
Просмотров 7 тыс.2 года назад
Язык С - Урок 11 - Пишем игру танчики для двух игроков. Симулятор WоT.
Язык Си с нуля - Урок 59 - симулятор воды и песка
Просмотров 7 тыс.2 года назад
Язык Си с нуля - Урок 59 - симулятор воды и песка

Комментарии

  • @weekendshow7567
    @weekendshow7567 3 дня назад

    почему угол ball.alfa = -1. Объясните пож-та механику полета шарика и связь с cos и sin

  • @user-hm7ni9nh1o
    @user-hm7ni9nh1o 7 дней назад

    спасибо

  • @user-ep2fq3bj3s
    @user-ep2fq3bj3s 8 дней назад

    По мне так слишком сложная реализация дз к уроку 62. Можно было написать функцию изменения динамического массива так: void SetArrSize(int*** ArrPtr, int* OldWidth, int* OldHeight, int NewWidth, int NewHeight) { if(!ArrPtr) exit(1); int** tmp = malloc(sizeof(*ArrPtr) * NewHeight); if(tmp) { for(int i = 0; i < NewHeight; i++) tmp[i] = malloc(sizeof(tmp) * NewWidth); for(int j = 0; j < NewHeight; j++) for(int i = 0; i < NewWidth; i++) if(i < *OldWidth && j < *OldHeight) tmp[j][i] = (*ArrPtr)[j][i]; *OldWidth = NewWidth; *OldHeight = NewHeight; free(*ArrPtr); *ArrPtr = tmp; tmp = NULL; } else { free(*ArrPtr); exit(1); } }

    • @user-ep2fq3bj3s
      @user-ep2fq3bj3s 8 дней назад

      и вот эту проверку if(tmp) { я добавил, потому что у меня статический анализатор ругается и говорит, что при выделении памяти нужно проверять выделилась она или нет.

    • @user-ep2fq3bj3s
      @user-ep2fq3bj3s 8 дней назад

      Интересно получилось. Мой код очень похож на код изменения размера псевдо двумерного массива. Гении мыслят одинаково?

  • @anonsd5521
    @anonsd5521 8 дней назад

    Как вы вводите в этом компиляторе сразу несколько значений?! У меня он воспринимает "1 2 3" как один ввод

  • @KotenokDashi
    @KotenokDashi 9 дней назад

    "Дз: нарисуйте Z" Наш слон!

  • @Ko04ka52
    @Ko04ka52 9 дней назад

    гений

  • @xPlay5r
    @xPlay5r 13 дней назад

    Всем привет, друзья! Меня все еще зовут Ан-тон.

  • @EggsPro228
    @EggsPro228 15 дней назад

    Пожалуйста очень сильно прошу , скиньте текст программы , я пытался вручную переписать то мой индивидкальный проект но я не могу , умоляю!!!

  • @nekoie6150
    @nekoie6150 16 дней назад

    очень боялась этих структур, показали на пальцах, спасибо вам!

  • @user-ep2fq3bj3s
    @user-ep2fq3bj3s 17 дней назад

    4:01 - как можно обратиться к ячейкам первого массива иначе? Просто у меня статический анализатор говорит, что это не портируемый код.

    • @user-ep2fq3bj3s
      @user-ep2fq3bj3s 16 дней назад

      Я так пробовал, но всё равно предупреждение: *(*mas8+2) = &mas;

  • @tranzistor4093
    @tranzistor4093 17 дней назад

    дай бог тебе здоровья мужик за нормальный курс

    • @Pa1a6in
      @Pa1a6in 14 дней назад

      Случайно наткнулся, легко просто, доходчиво, быстро и домашние задания.

  • @user-ep2fq3bj3s
    @user-ep2fq3bj3s 17 дней назад

    5:42 - это очень спорное утверждение, для sizeof() должен использоваться тип данных long unsigned int и спецификаторы типа %ld, %lu

  • @x4sting718
    @x4sting718 17 дней назад

    Автор изучал C++98 и дальше развиваться не хотел😂

  • @user-ep2fq3bj3s
    @user-ep2fq3bj3s 18 дней назад

    Антон, ты пользуешься статическим анализатором? У меня было много варнингов, когда я пробовал код с изменением константы через указатель. Наверно так вообще делать не стоит. Зачем учить людей, что это нормальная практика? Ладно. Всё равно спасибо за уроки. У тебя самый структурированный контент по Си на ютубе.

  • @vladp2171
    @vladp2171 19 дней назад

    Я бы добавил в этом видео то, что если не обнаруживается компилятор, то нужно зайти в настройки компилятора и сбросить их. После этого у меня заработало и появилась консоль.

  • @7th_shelter
    @7th_shelter 20 дней назад

    glbegin уже давно депрекатед

  • @user-vu5rq5qn8k
    @user-vu5rq5qn8k 20 дней назад

    Пока не учу язык, а просто интересуюсь. Сейчас ради интереса решил повторить видео урок, всё понятно и просто. Потрясающее, ясное и простое объяснение с показом. Отличный видео урок! Спасибо!

  • @user-bi4bp3nv5b
    @user-bi4bp3nv5b 22 дня назад

    Спасибо, Антон, за уроки! Подскажи, пожалуйста, когда в 47-м уроке ты создавал заголовочный файл, то он появлялся с шапкой в начале своего содержимого # ifndef CORE_H_INCLUDED... Я в другой IDE создаю аналогично заголовочный файл и он появляется саналогичной шапкой, но в начале и конце имени идут нижние подчеркивания, например __MAIH_H_, _LCD_H_. Что означают эти нижние подчеркивания ???

  • @alexeyxopyc2471
    @alexeyxopyc2471 27 дней назад

    ух сложно то как))

  • @fahrenheit1863
    @fahrenheit1863 27 дней назад

    Какой будет массив(динамический или статический) если 1. создать переменную n, 2. с помощью функции scanf прочитать число в переменную. 3. объявить массив arr[n][n]. Ведь значение мы получаем уже после запуска программы, программа не знала какого размера будет массив до того пока мы не введем число? Откуда память?

  • @weekendshow7567
    @weekendshow7567 27 дней назад

    Такой сложный код может написать только сеньор програмист❤

  • @MirzoHistory
    @MirzoHistory 28 дней назад

    да нихуя. у меня ничего не сработало.

  • @MirzoHistory
    @MirzoHistory 28 дней назад

    В языке С нет обращение к глобальным переменным?

  • @alexeyxopyc2471
    @alexeyxopyc2471 28 дней назад

    вроде видос 16 минут, но пока во всем разобрался и написал - прошло больше 2 часов))

  • @nika31169
    @nika31169 Месяц назад

    А исходники нигде нельзя скачать?))

  • @pshyhopat
    @pshyhopat Месяц назад

    Спасибо тебе, ты не зря это снимал

  • @user-sr5fn7gz1u
    @user-sr5fn7gz1u Месяц назад

    Буду ставить тут отметки каждый месяц, пока наш любимый Антон не вернётся:) 22.05.2024

  • @igorantonof705
    @igorantonof705 Месяц назад

    Язык С совершенно необязательно знать и изучать для последующего изучения С++. Кроме того, знание языка Си будет даже мешать и вводить в путаницу при изучении С++ потому что эти два языка хоть и похожи, но отличаются друг от друга. Об этом уже сказано и не раз на разного рода курсах, в учебниках и самими программистами.

  • @agya9704
    @agya9704 Месяц назад

    // Спасибо!

  • @alexoneintheworld
    @alexoneintheworld Месяц назад

    В чем прикол давать задания на то что не объяснено!

  • @alexoneintheworld
    @alexoneintheworld Месяц назад

    вообще ничего не понял толком что делают эти макросы!

  • @nikname9139
    @nikname9139 Месяц назад

    на слух легче когда Х - строки, а Y - столбцы. если что я просто предложил, а так объяснения топовые

  • @andreyua2
    @andreyua2 Месяц назад

    Пространственные - это значит мировые?

  • @Apaximatic_Play
    @Apaximatic_Play Месяц назад

    Антон, воскресни! )

  • @ximainomusic
    @ximainomusic Месяц назад

    Товарищ, ты первый человек, кто понятно объяснил мне про препроцессор. Пожалуй подпишусь)

  • @user-rj7kg6jj7k
    @user-rj7kg6jj7k Месяц назад

    Ну это кнопка - готовый функционал....А я никак не могу найти информацию, а как "закрашенную" прямоугольную область превратить в кнопку ? То есть я "нарисовал" прямоугольник, залил определённым цветом, и как это "нарисованное" превратить в кнопку ?

  • @user-yb6um2kh1q
    @user-yb6um2kh1q Месяц назад

    Это я после создания больной игры на плюсах, ебанулся от усталости и начал сказки рассказывать в п бреду, пока меня врачи откаяивают.

  • @user-jr7qv3np2k
    @user-jr7qv3np2k Месяц назад

    Спасибо вам огромное, всё очень понятно! А то в институте дают глупую методичку с одной теорией, ничего не объясняют, а задачи задают сложные😢

  • @user-td4kl8er7g
    @user-td4kl8er7g Месяц назад

    Спасибо!!!. На си 100 лет не писал, а тут надо контроллер прошить. уже пол часа гуглю чего на функцию ругается типа не видит, а у неё в файле просто static )) и тут видео с исчерпывающей информацией

  • @alexoneintheworld
    @alexoneintheworld Месяц назад

    я хз у меня решетка в редакторе занимает 4 пробела визульно рисовать карту так не удобно ! и в сомандной строке отображается не правильно! Все символы отображаются не правивильно!

    • @alexoneintheworld
      @alexoneintheworld Месяц назад

      Решил проблему На вин10 с редактором открытием нотпадом++ ,там пробелы и решетки одинакового размера не знаю зачем так сделали что пробелы мизерные в Текстовом редакторе, наверное для Экономии места экрана! А на счет не правильного отображения в ЦМД надо размер цмд сделать по размеру экрана но по высоте больше на один символ ! А размер массива в коде сделать шире на 1 символ! и Что бы нижняя строчка не задваивалась написал вот такую строку while(!feof(f)&&(line!=vis-1)) вместо стандартной!

  • @grubnekina73
    @grubnekina73 Месяц назад

    Пипец. А я для калькулятора сделал принятия сразу и инета и флоата и добавиь деление умножение и вычитания, произведение...

  • @user-Inquisitorr
    @user-Inquisitorr Месяц назад

    Здравствуйте! Спасибо большое за уроки!! 1.Возможно ли выложить код программ? 2. Не совсем понятно что за цикл while. 6:34 3.Подскажите пожалуйсто есть ли где-то материалы по которым вы учились? Или везде по чуть чуть без конкретной программы? Прошу прощения,если вопросы глупые. Для меня как новичка пока относительно сложно. Если я работаю в QT - в чем то будут принципиальные отличия от вашей реализации?

  • @user-rl8fy6xe1t
    @user-rl8fy6xe1t 2 месяца назад

    Разве koef не должен перейти в другой байт?

  • @cool_piglet
    @cool_piglet 2 месяца назад

    непонятно, в чем тут "урок", когда, по факту, предлагается тупо перепечатывать код и разбираться с ним самому. с тем же успехом можно было просто молча пролистать файл под запись.

  • @user-de6km5me3v
    @user-de6km5me3v 2 месяца назад

    Не понимаю сложно ёпта (((( Но я не буду унывать, а буду продолжать и дальше пытаться!

  • @user-wd4eu2gx8b
    @user-wd4eu2gx8b 2 месяца назад

    Прикольно хоть нет танцев с бубном min gw

  • @user-gq2yv4ib8x
    @user-gq2yv4ib8x 2 месяца назад

    Спасибо Антон! Я знаю, что ещё рано🤣, но тебя нужно причислить к лику святых!😇

  • @togoro2646
    @togoro2646 2 месяца назад

    курсовая через 2 месяца ! Работаем

  • @markbeaver4806
    @markbeaver4806 2 месяца назад

    Можно ли написать функцию прямо внутри другой функции? Можно. Но лучше так не делать.

  • @user-tx2qi1nv1c
    @user-tx2qi1nv1c 2 месяца назад

    if (map [i],[j].mine) \Minesweeper.cpp [Error] expected '{' before '.' token