Книга «Вивчаємо C++ через програмування ігор»

image
Якщо ви хочете навчитися програмувати першокласні гри, вам просто необхідно вивчити мову С++. Ця книга допоможе вам освоїти розробку ігор з самих азів, незалежно від того, чи є у вас досвід програмування. Набагато цікавіше вчитися, коли навчання перетворюється в гру. Кожна глава книги описує самостійний ігровий проект. У заключній главі вам належить написати складну гру, яка об'єднує всі прийоми програмування, рас-бачені в попередніх розділах. Книга ідеально підійде для початківця програміста, який планує не тільки як слід освоїти непросту мову С++, але і повправлятися в програмуванні ігор. Мета цієї книги — познайомити вас з мовою С++ в контексті програмування ігор. Хоча неможливо уявити собі таку книгу, яка зробила б вас майстром у двох таких об'ємних питань, як програмування ігор і мова C++, це видання стане в нагоді вам в якості вступного курсу.


Для кого ця книга

Ця книга для всіх, хто бажає навчитися програмуванню ігор. Вона розрахована на початківців, для читання не потрібно ніякого досвіду програмування. Якщо ви добре вмієте користуватися власним комп'ютером, можете починати одіссеєві в світ програм-мування ігор прямо зараз. Але сам факт, що ця книга розрахована на початківців, ще не означає, що освоїти С++ для програмування ігор буде простіше простого. Доведеться уважно читати, працювати, експериментувати. Дочитавши цю книгу, ви придбаєте солідні базові знання з найважливішого мови для професійного програмування ігор.

Як побудована книга

Я починаю розповідь про програмуванні ігор на C++ з азів, припускаючи, що читач не має ніякого досвіду в програмуванні ігор, ні в C++. У кожній новій главі розглядаються всі більш складні теми, кожна наступна глава ґрунтується на матеріалі попередніх.

У кожній главі розглядаються певна тема або кілька взаємопов'язаних тем. Я переходжу від однієї концепції до іншої, сопро-вождая текст малими ігровими програмами, що ілюструють кожну ідею. У кінці кожної глави поєдную найбільш важливі з розглянутих в ній концепцій, пропонуючи вашій увазі готову гру. Заключна глава завершується самим нетривіальним проектом, де ми задіємо всі основні феномени, вивчені в книзі.

Дочитавши цю книгу, ви не просто вивчите мову C++ і отримаєте уявлення про програмування ігор. Ви також навчитеся організовувати свою працю, поділяти проблеми на невеликі зручні підзадачі, відточувати код. На сторінках книги вам доведеться постійно стикатися з труднощами, але жодне з них не буде нездоланним. В цілому на вас чекає веселе та цікаве навчання. По ходу справи ви напишете кілька класних комп'ютерних ігор і осягнете ремесло ігрового програмування.

Розділ 1. Типи, змінні, стандартний ввід-висновок. Гра «Втрачений скарб». Тут ви познайомитеся з основами C++ — найважливішого мови програмування, який застосовується в ігровій індустрії. Ви навчитеся відображати висновок у вікні консолі, виконувати арифметичні обчислення, працювати з змінними і отримувати користувальницький введення, набраний на клавіатурі.

Розділ 2. Істина, розгалуження і ігровий цикл. Гра «Вгадай число». Багато цікаві ігри засновані на програмах, які виконують, пропускають або повторно виконують певні блоки коду в залежності від тих чи інших умов. Ви навчитеся генерувати випадкові числа, що дозволить додати в ваші ігри елемент непередбачуваності. Крім того, ви познайомитеся з фундаментальним феноменом, званим «ігровий цикл». Саме цей цикл дозволяє організувати гру і вибудувати в ній низку подій.

Розділ 3. Цикли for, рядки і масиви. Гра «Словомеска». Ви дізнаєтеся про ігрових послідовностях і навчитеся працювати з рядками. Рядок — це послідовність символів, незамінна при грі в слова. Крім того, ви познайомитеся з програмними об'єктами — сутностями, що дозволяють представляти у вашій грі істот або предметів. Приклади сутностей — інопланетний космічний корабель, горщик з лікувальним зіллям або сам персонаж.

Глава 4. Бібліотека стандартних шаблонів. Гра «Шибениця». Тут ви познайомитеся з потужною бібліотекою — інструментарій для розробників ігор (і не тільки ігор). Ця бібліотека дозволяє об'єднувати елементи в колекції і зберігати їх в такому вигляді, наприклад, як спорядження в рюкзаку у персонажа. Крім того, тут будуть розглянуті прийоми, що дозволяють створювати більш великі ігрові програми.

Глава 5. Функції. Гра «Божевільні бібліотекарі». У цій главі ви навчитеся розбивати ігрові програми на компактні блоки, з якими зручно працювати. Для цього ви познайомитеся з функціями — елементарними логічними одиницями, що застосовуються в програмах.

Глава 6. Посилання. Гра «Хрестики-нулики». Тут ми поговоримо про те, як одночасно використовувати певну інформацію в різних частинах вашої програми, причому робити це чітко і ефективно. Крім того, тут ви познайомитеся з штучним інтелектом і дізнаєтеся, як зробити комп'ютерного суперника трохи розумнішим.

Глава 7. Покажчики. Гра «Хрестики-нулики 2.0». У цій главі ви познайомитеся з деякими найбільш низькорівневими і потужними можливостями мови C++. Зокрема, ми поговоримо про те, як звертатися безпосередньо до комп'ютерної пам'яті і маніпулювати нею.

Глава 8. Класи. Гра «Тамагочі». Тут ви навчитеся створювати власні об'єкти і описувати, як вони повинні взаємодіяти один з одним. Для цього застосовується парадигма об'єктно-орієнтованого програмування. Ви створите власного улюбленця-тамагочі, про яку будете піклуватися.

Глава 9. Більш складні класи і робота з динамічною пам'яттю. Ігрове лобі. У цій главі ви навчитеся ще щільніше взаємодіяти з комп'ютером, зокрема займати і вивільняти пам'ять, якщо цього вимагає ігровий процес. Також ви дізнаєтеся про підводні камені, пов'язані з таким динамічним використанням пам'яті, і навчіться їх обходити.

Глава 10. Спадкування і поліморфізм. Гра Blackjack. У цій главі ми поговоримо про те, як створювати об'єкти за допомогою інших об'єктів. Потім узагальнимо весь вивчений матеріал у великій заключній грі. Ви побачите, як проектується і реалізується досить об'ємна гра, а саме віртуальний симулятор класичної азартної карткової гри Blackjack (без потертого сукна на ломберному столі як-небудь обійдемося).

Вихідний код до книги

Весь вихідний код до прикладів з цієї книги доступний в Інтернеті за адресою www.cengageptr.com/downloads

Про автора

Майкл Доусон — автор, який пише про комп'ютерних іграх, а також викладач, навчальний студентів мистецтву і науці створення комп'ютерних ігор. Майкл розробляв і читав курси з програмування ігор на факультеті UCLA Extension в Каліфорнійському університеті Лос-Анджелеса (студенти цього факультету отримують другу вищу освіту). Також Майкл читав лекції в Академії цифрових і медіатехнологій (DMA) і в Кінематографічної школі Лос-Анджелеса. Книги Доусона входять в обов'язкову програму багатьох університетів і коледжів у США.

Майкл почав кар'єру в ігровій індустрії як продюсер і дизайнер. Паралельно з цим він став розробляти пригодницьку гру, де користувач управляє головним персонажем на ім'я Майк Доусон. За сюжетом гри цифровий двійник Доусона повинен запобігти нашестя інопланетян перш ніж у нього з голови вилупиться імплантована личинка прибульців.

В реальності Майкл відомий як автор декількох книг: Beginning C++ Through Game Programming, Python Programming for the Absolute Beginner, C++ Projects: Programming with Text-Based Games і Guide to Programming with Python. Доусон отримав ступінь бакалавра кібернетики в університеті Південної Каліфорнії. Детальніше почитати про автора і його книгах можна на персональному сайт автора, тут же ви знайдете відповіді на багато питань з книг Майкла.

Більш докладно з книгою можна ознайомитися на сайті видавництва
Зміст
Уривок

Для Хаброжителей знижка 25% по купону — Вивчаємо C++

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.