Ешь, двигайся, спи Жесткий подход Дэна Кеннеди Телефоны Бизбук - c 10 до 18 по будним дням
 
Наши проекты:
Вход для зарегистрированных пользователей
Регистрация нового пользователя
Каталог книг Новинки Анонсы Заказы / Корзина Рассылка Оплата и Доставка Контакты
Вы находитесь в разделе каталога:
• Изучаем C++ через программирование игр, Доусон М.


Изучаем C++ через программирование игр
Изучаем C++ через программирование игр
Доусон М.
Год выпуска: 2016
Изд-во: Питер
ISBN: 978-5-496-01629-2
Переплёт: мягкий
352 страниц
Цена: 415.00 грн.
Временно отсутствует     Оставить заявку
Если вы хотите научиться программировать первоклассные игры, вам просто необходимо изучить язык С++.
Книга "Изучаем C++ через программирование игр" поможет вам освоить разработку игр с самых азов, независимо от того, есть ли у вас опыт программирования. Гораздо интересней учиться, когда обучение превращается в игру.
Каждая глава книги описывает самостоятельный игровой проект. В заключительной главе вам предстоит написать сложную игру, которая объединяет все приемы программирования, рассмотренные в предыдущих главах.
Книга, которую вы держите в руках, идеально подойдет для начинающего программиста, планирующего не только как следует освоить непростой язык С++, но и поупражняться в программировании игр.



Оглавление книги "Изучаем C++ через программирование игр"




Благодарности. 19
Об авторе. 20
Введение. 21
Для кого эта книга. 22
Как построена книга. 23
Условные обозначения, используемые в книге. 25
Исходный код к книге. 26
Несколько слов о компиляторах. 27
От издательства. 28
Глава 1. Типы, переменные, стандартный
ввод-вывод. Игра "Утраченный клад". 29
Введение в C++. . . . . . . . . . . . . . . . . . . . . . 29
Использование языка C++ при программировании игр. 30
Создание исполняемого файла. 30
Исправление ошибок. 31
Понятие о стандарте ISO. 32
Пишем первую программу на C++. 33
Знакомство с программой Game Over. 33
Комментирование кода. 34
Использование пробелов. 34
Включение других файлов. 35
Определение функции main(). 35
Отображение текста в стандартном выводе. 36
Завершение инструкций. 37
Возвращение значения от функции main(). 37
Работа с пространством имен std. 37
Знакомство с программой Game Over 2.0. 38
Использование директивы using. 38
Знакомство с программой Game Over 3.0. 38
Использование объявлений using. 39
Когда следует использовать using. 39
Работа с арифметическими операторами. 39
Знакомство с программой Expensive Calculator. 40
Сложение, вычитание, умножение. 40
Понятие о делении без остатка и делении с плавающей
запятой. 41
Работа с оператором деления по модулю. 41
Понятие о последовательности операций. 41
Объявление и инициализация переменных. 42
Знакомство с программой Game Stats. 42
Понятие о примитивах. 43
Понятие о модификаторах типов. 43
Объявление переменных. 44
Именование переменных. 45
Присваивание значений переменным. 46
Инициализация переменных. 47
Отображение значений переменных. 47
Получение пользовательского ввода. 48
Определение новых имен для типов. 48
Типы, которые следует использовать. 48
Выполнение арифметических операций с применением переменных. 49
Знакомство с программой Game Stats 2.0. 49
Изменение значения переменной. 50
Использование комбинированных операторов присваивания. 50
Использование операторов инкремента и декремента. 51
Что делать с целочисленным переполнением. 52
Работа с константами. 53
Знакомство с программой Game Stats 3.0. 53
Использование констант. 54
Работа с перечислениями. 55
Игра "Утраченный клад". 55
Настройка параметров программы. 56
Получение информации от игрока. 57
Сюжет. 57
Резюме. 58
Вопросы и ответы. 59
Вопросы для обсуждения. 60
Упражнения. 61
Глава 2. Истина, ветвление и игровой цикл. Игра "Угадай
число". 62
Понятие об истине. 62
Использование инструкции if. 63
Знакомство с программой Score Rater. 63
Проверка условий true и false. 64
Интерпретация значения как истинного или ложного. 65
Работа с реляционными операторами. 66
Вложение инструкций if. 66
Работа с условием else. 67
Знакомство с программой Score Rater 2.0. 67
Создание двух способов ветвления. 69
Использование последовательности инструкций с помощью условий else. 69
Знакомство с программой Score Rater 3.0. 70
Создание последовательности инструкций if с применением
условий else. 71
Использование инструкции switch. 71
Знакомство с программой Menu Chooser. 72
Создание нескольких вариантов ветвления. 74
Использование циклов while. 74
Знакомство с программой Play Again. 74
Работа с циклом while. 75
Использование циклов do. 75
Знакомство с программой Play Again 2.0. 76
Работа с циклом do. 77
Использование инструкций break и continue. 77
Знакомство с программой Finicky Counter. 78
Создание цикла while (true). 79
Использование инструкции break для выхода из цикла. 79
Использование инструкции continue для перехода
в начало цикла. 79
Когда следует использовать инструкции break и continue. 80
Использование логических операторов. 80
Знакомство с программой Designers Network. 80
Использование логического оператора "И". 82
Использование логического оператора "ИЛИ". 83
Использование логического оператора "НЕ". 84
Понятие о порядке операций. 84
Генерирование случайных чисел. 85
Знакомство с программой Die Roller. 85
Вызов функции rand(). 86
Посев генератора случайных чисел. 87
Расчет числа в заданном диапазоне. 88
Понятие об игровом цикле. 88
Знакомство с игрой Guess My Number. 90
Применение игрового цикла. 90
Установка игровых параметров. 91
Создание игрового цикла. 92
Завершение игры. 92
Резюме. 93
Вопросы и ответы. 94
Вопросы для обсуждения. 95
Упражнения. 96
Глава 3. Циклы for, строки и массивы. Игра "Словомеска". 97
Использование циклов for. 97
Знакомство с программой Counter. 98
Подсчеты с помощью циклов for. 99
Использование пустых инструкций в циклах for. 100
Вложение циклов for. 101
Понятие об объектах. 102
Работа со строковыми объектами. 103
Знакомство с программой String Tester. 104
Создание строковых объектов. 105
Конкатенация строковых объектов. 106
Использование функции-члена size(). 106
Индексация объекта string. 106
Перебор символов в объектах String. 107
Использование функции-члена find(). 108
Использование функции-члена erase(). 108
Использование функции-члена empty(). 109
Работа с массивами. 109
Знакомство с программой Hero's Inventory. 109
Создание массивов. 111
Индексация массивов. 112
Обращение к функциям-членам элемента массива. 113
Следите за границами массива. 113
Си-строки. 114
Использование многомерных массивов. 115
Знакомство с программой Tic-Tac-Toe Board. 115
Создание многомерных массивов. 116
Индексация многомерных массивов. 117
Знакомство с игрой "Словомеска". 117
Приступаем к разработке программы. 118
Выбор слова для перемешивания. 118
Перемешивание слова. 119
Приглашение игрока. 120
Начало игрового цикла. 120
Прощание. 121
Резюме. 121
Вопросы и ответы. 122
Вопросы для обсуждения. 123
Упражнения. 124
Глава 4. Библиотека стандартных шаблонов. Игра
"Виселица". 125
Знакомство с библиотекой стандартных шаблонов. 125
Работа с векторами. 126
Знакомство с программой Hero's Inventory 2.0. 127
Подготовка к работе с векторами. 128
Объявление вектора. 128
Работа с функцией-членом push_back( ). 129
Работа с функцией-членом size(). 129
Индексация векторов. 130
Вызов функций-членов элемента. 130
Использование функции-члена pop_back(). 130
Использование функции-члена clear(). 131
Использование функции-члена empty(). 131
Работа с итераторами. 131
Знакомство с программой Hero's Inventory 3.0. 131
Объявление итераторов. 133
Перебор содержимого вектора. 134
Изменение значения элемента вектора. 136
Доступ к функциям-членам элемента вектора. 136
Использование векторной функции-члена insert(). 137
Использование векторной функции-члена erase(). 138
Использование алгоритмов. 138
Знакомство с программой High Scores. 138
Подготовка к использованию алгоритмов. 140
Использование алгоритма find(). 140
Использование алгоритма random_shuffle(). 141
Использование алгоритма sort(). 141
Понятие о производительности векторов. 142
Подробнее о росте векторов. 142
Подробнее о вставке и удалении элементов. 144
Исследование других контейнеров библиотеки STL. 144
Планирование программ. 145
Использование псевдокода. 146
Пошаговое усовершенствование программы. 146
Знакомство с программой "Виселица". 147
Планирование игры. 147
Подготовка программы. 148
Инициализация переменных и констант. 148
Начало основного цикла. 149
Получение вариантов от пользователя. 149
Конец игры. 150
Резюме. 150
Вопросы и ответы. 151
Вопросы для обсуждения. 153
Упражнения. 153
Глава 5. Функции. Игра "Безумные библиотекари". 154
Создание функций. 154
Знакомство с программой Instructions. 154
Объявление функций. 155
Определение функций. 156
Вызов функций. 157
Понятие об абстрагировании. 157
Использование параметров и возвращаемых значений. 157
Знакомство с программой Yes or No. 158
Возврат значения. 159
Запись значений в параметры. 160
Понятие об инкапсуляции. 161
Понятие о переиспользовании ПО. 162
Работа с областями видимости. 163
Знакомство с программой Scoping. 163
Работа с отдельными областями видимости. 164
Работа с вложенными областями видимости. 165
Использование глобальных переменных. 166
Знакомство с программой Global Reach. 167
Объявление глобальных переменных. 168
Доступ к глобальным переменным. 168
Скрывание глобальных переменных. 168
Изменение глобальных переменных. 169
Минимизация использования глобальных переменных. 169
Использование глобальных констант. 170
Использование аргументов, задаваемых по умолчанию. 170
Знакомство с программой Give Me a Number. 171
Задание аргументов, применяемых по умолчанию. 172
Присваивание параметрам аргументов, задаваемых
по умолчанию. 172
Переопределение аргументов, задаваемых по умолчанию. 173
Перегрузка функций. 173
Знакомство с программой Triple. 174
Создание перегруженных функций. 175
Вызов перегруженных функций. 175
Подстановка вызова функций. 176
Знакомство с программой Taking Damage. 176
Задание функций для подстановки. 177
Вызов подставленных функций. 177
Знакомство с программой "Безумные библиотекари". 178
Подготовка программы. 178
Функция main(). 179
Функция askText(). 179
Функция askNumber(). 180
Функция tellStory(). 180
Резюме. 181
Вопросы и ответы. 181
Вопросы для обсуждения. 183
Упражнения. 183
Глава 6. Ссылки. Игра "Крестики-нолики". 184
Использование ссылок. 184
Знакомство с программой Referencing. 184
Создание ссылок. 185
Доступ к значениям по ссылкам. 186
Изменение значений через указывающие на них ссылки. 187
Передача ссылок для изменения аргументов. 187
Знакомство с программой Swap. 188
Передача по значению. 189
Передача по ссылке. 190
Передача ссылок для обеспечения эффективности. 190
Знакомство с программой Inventory Displayer. 190
Несколько слов о подводных камнях, связанных
с передачей ссылок. 192
Объявление параметров как константных ссылок. 192
Передача константной ссылки. 192
Решение о том, как передавать аргументы. 193
Возврат ссылок. 193
Знакомство с программой Inventory Referencer. 194
Возврат ссылки. 195
Отображение значения возвращенной ссылки. 196
Присваивание возвращенной ссылки другой ссылке. 196
Присваивание возвращенной ссылки переменной. 196
Изменение объекта с помощью возвращенной ссылки. 196
Знакомство с игрой "Крестики-нолики". 197
Планирование игры. 197
Подготовка программы. 200
Функция main(). 201
Функция askYesNo(). 202
Функция askNumber(). 202
Функция humanPiece(). 203
Функция opponent(). 203
Функция displayBoard(). 203
Функция winner(). 204
Функция isLegal(). 205
Функция humanMove(). 206
Функция computerMove(). 206
Функция announceWinner(). 209
Резюме. 209
Вопросы и ответы. 210
Вопросы для обсуждения. 212
Упражнения. 212
Глава 7. Указатели. Игра "Крестики-нолики 2.0". 213
Основы работы с указателями. 213
Знакомство с программой Pointing. 214
Объявление указателей. 215
Инициализация указателей. 216
Присваивание адресов указателям. 216
Разыменование указателей. 217
Переприсваивание указателей. 218
Использование указателей на объекты. 219
Понятие об указателях и константах. 219
Использование константного указателя. 220
Использование указателя на константу. 221
Использование константного указателя на константу. 221
Константы и указатели: итог. 222
Передача указателей. 223
Знакомство с программой Swap Pointer Version. 223
Передача по значению. 224
Передача константного указателя. 225
Возврат указателей. 226
Знакомство с программой Inventory Pointer. 226
Возврат указателя. 227
Использование возвращенного указателя для отображения
значения. 228
Присваивание указателю возвращенного указателя . 229
Присваивание переменной значения,
на которое указывает возвращенный указатель. 229
Изменение объекта посредством возвращенного указателя. 230
Понятие о взаимоотношениях указателей и массивов. 231
Знакомство с программой Array Passer. 231
Использование имени массива в качестве константного
указателя. 232
Передача и возврат массивов. 233
Знакомство с программой "Крестики-нолики 2.0". 234
Резюме. 235
Вопросы и ответы. 236
Вопросы для обсуждения. 238
Упражнения. 238
Глава 8. Классы. Игра "Тамагочи". 239
Определение новых типов. 239
Знакомство с программой Simple Critter. 239
Определение класса. 241
Определение функций-членов. 242
Инстанцирование объектов. 242
Доступ к членам данных. 243
Вызов функций-членов. 243
Использование конструкторов. 244
Знакомство с программой Constructor Critter. 244
Объявление и определение конструктора. 245
Автоматический вызов конструктора. 246
Установка уровней доступа к членам. 246
Знакомство с программой Private Critter. 247
Задание открытых и закрытых уровней доступа. 248
Определение функций доступа. 249
Определение константных функций-членов. 250
Использование статических членов данных и функций-членов. 251
Объявление и инициализация статических членов данных. 252
Обращение к статическим членам данных. 253
Объявление и определение статических функций-членов. 254
Вызов статических функций-членов. 254
Знакомство с игрой "Тамагочи". 255
Планирование игры. 255
Планирование псевдокода. 257
Класс Critter. 257
Функция main(). 260
Резюме. 261
Вопросы и ответы. 262
Вопросы для обсуждения. 264
Упражнения. 264
Глава 9. Более сложные классы и работа с динамической
памятью. Игровое лобби. 265
Использование агрегирования. 265
Знакомство с программой Critter Farm. 266
Использование членов данных, являющихся объектами. 268
Использование контейнерных членов данных. 268
Использование дружественных функций и перегрузка операторов. 269
Знакомство с программой Friend Critter. 269
Создание дружественных функций. 271
Перегрузка операторов. 272
Динамическое выделение памяти. . . . . . . . . . . . . . . 272
Знакомство с программой Heap. 273
Использование оператора new. 274
Использование оператора delete. 275
Избегаем утечек памяти. 276
Работа с членами данных и кучей. 278
Знакомство с программой Heap Data Member. 278
Объявление членов данных, которые указывают на значения
в куче. 281
Объявление и определение деструкторов. 282
Объявление и определение конструкторов копирования. 283
Перегрузка оператора присваивания. 286
Знакомство с программой Game Lobby. 288
Класс Player. 289
Класс Lobby. 291
Функция-член Lobby::AddPlayer(). 292
Функция-член Lobby::RemovePlayer(). 294
Функция-член Lobby::Clear(). 295
Функция-член operator<<(). 295
Функция main(). 295
Резюме. 296
Вопросы и ответы. 297
Вопросы для обсуждения. 298
Упражнения. 299
Глава 10. Наследование и полиморфизм. Игра Blackjack. 300
Знакомство с наследованием. 300
Знакомство с программой Simple Boss. 302
Наследование от базового класса. 303
Создание объектов производного класса. 304
Использование унаследованных членов. 305
Управление доступом при работе с наследованием. 305
Знакомство с программой Simple Boss 2.0. 305
Использование модификаторов доступа для членов данных. 307
Использование модификаторов доступа при создании
производных классов. 307
Вызов и переопределение функций-членов базового класса. 308
Знакомство с программой Overriding Boss. 308
Вызов конструкторов базового класса. 310
Объявление виртуальных функций-членов базового класса. . . . . 310
Переопределение виртуальных функций-членов базового
класса. 311
Вызов функций-членов базового класса. 312
Использование перегруженных операторов присваивания
и конструкторов копирования в производных классах. 313
Знакомство с полиморфизмом. 313
Знакомство с программой Polymorphic Bad Guy. 314
Использование указателей базового класса для объектов
производного класса. 315
Определение виртуальных деструкторов. 317
Использование абстрактных классов. 317
Знакомство с программой Abstract Creature. 318
Объявление чистых виртуальных функций. 319
Наследование от абстрактного класса. 319
Знакомство с игрой Blackjack. 320
Разработка классов. 321
Планирование логики игры. 324
Класс Card. 325
Класс Hand. 326
Класс GenericPlayer. 328
Класс Player. 330
Класс House. 331
Класс Deck. 331
Класс Game. 333
Функция main(). 336
Перегрузка функции operator<<(). 336
Резюме. 338
Вопросы и ответы. 338
Вопросы для обсуждения. 340
Упражнения. 340
Приложение 1. Создание первой программы на языке С++. 341
Приложение 2. Приоритет операторов языка С++. 347
Приложение 3. Ключевые слова языка С++. 349
Приложение 4. Таблица символов ASCII. 350
Приложение 5. Управляющие последовательности. 352

С этой книгой чаще всего покупают:
C++: базовый курс, 3-е издание

C++: базовый курс, 3-е издание

Шилдт Герберт
Год выпуска: 2018
Изд-во: Диалектика-Вильямс
Временно отсутствует   Оставить заявку
 
Язык программирования C++. Базовый курс

Язык программирования C++. Базовый курс

Стенли Б. Липпман, Жози Лажойе, Барбара Э. Му
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
в корзину
Только на 1 книгу
Цена: 580.00 грн. 
 
Цена: 870.00 грн. 
Программирование: принципы и практика с использованием C++, второе издание

Программирование: принципы и практика с использованием C++, второе издание

рекомендуем
Бьярне Страуструп
Год выпуска: 2018
Изд-во: Диалектика-Вильямс
в корзину
Только на 1 книгу
 
Minecraft. Программируй свой мир на Python

Minecraft. Программируй свой мир на Python

Дэвид Вэйл, Мартин О`Хэнлон
Год выпуска: 2016
Изд-во: Питер
Временно отсутствует Оставить заявку
Цена: 1050.00 грн. 
 
Цена: 488.00 грн. 

Хотите оставить отзыв? У Вас возникли вопросы о книге "Изучаем C++ через программирование игр, Доусон М." ? Пишите:

* Текст сообщения:
 
  Отправить
Поиск по каталогу
 поиск в аннотациях
Искать

* Подробнее об условиях доставки смотрите в разделе "Оплата и Доставка" нашего магазина.
Если у Вас возникли вопросы как подобрать и купить книги в нашем интернет-магазине звоните с 9 до 18 по будним дням: Киев 331-04-53, Водафон (050) 809-56-66, Киевстар (067) 408-26-36, Лайф (063) 227-24-47, Интертелеком (094) 831-04-53 или пишите нам

 
   
  Programming - Dmitriy Kotov & Andrey Kotov