
Learn c++ basics by building a dungeon crawler starter. Practice input and output with cin and cout, declare string and int variables, and implement hello world.
Learn to define and use variables in C++ by declaring int, float, double, bool, char, and string types, and follow naming rules and camel case for readable identifiers.
Learn basic math and if statements in C++ by building a dungeon game that asks for name, age, and favorite number, then calculates years in the dungeon using conditional logic.
Explore operator precedence, associativity, and brackets in c++ expressions. Observe integer division, modulus, and type promotion among int, float, and double, and practice shorthand forms like += and ++.
Develop and apply conditional logic in C++ by building if statements, else and else if branches, and using and/or operators to control program flow.
Master if statements in c++, using not, not equal, greater than, less than, and range checks. Learn to flip conditions and test ages with not operations.
Explore while loops by building a simple character setup with hp, strength, defense, and agility, using input choices to set stats and validate options.
Explore while loops with hands-on diagrams and code examples, using lunch timing and a mugger money scenario to illustrate conditions, loop bodies, and break to exit.
An introduction to for loops through a countdown example that starts i at 10 and decrements to 0, printing each value to show how the loop condition and i-- work.
See how for loops shortcut while loops by using setup, condition, body, and increment. Practice counting 1 to 10, counting by twos, and f times f growth.
Learn how functions in C++ organize code for a 2d dungeon game by creating reusable puzzles that return damage values and accept parameters.
Explore function theory by comparing functions to task-oriented friends; some have no parameters and void return types, while others take inputs and return numbers, and can be called repeatedly.
Define and call functions in C++, covering void, return type, and parameterized forms. Emphasize modular design, reusability, and using functions within expressions with examples like pi and addition.
Move functions into separate header and implementation files to keep the code organized, and learn how includes, prototypes, and building create an executable.
Practice homework tasks in C++: handle names and grades with score-to-grade mapping, and implement loops for payroll, a calculator menu, and a three-value multiply function.
Organize role-playing game character data with C++ classes by encapsulating attributes like HP, strength, defense, and agility, and create reusable blueprints to instantiate and display multiple dungeon characters.
Create a pangolin class in C++, with attributes like name and ants eaten and behaviors such as set name, eat ants, and display stats, illustrating basic object oriented concepts.
Explore public versus private class members, showing how private data cannot be accessed directly and how public setters and getters enforce validation to keep pangolin objects safe and consistent.
Continue building the character class for the 2d dungeon game by adding get hp, max hp, take damage with defense, and name functions, then prepare for the next lesson.
Explore inheritance in C++ by modeling a character base class and derived classes like girl and glub, reusing attributes and functions to speed development, testing, and reusability.
Explore how a hero subclass inherits attributes and methods from the character class using public inheritance, and implement name handling, hp management, and protected access to private data for subclasses.
Create glub and mimic as subclasses of character, set their stats in constructors, and test name getters and damage in main to practice inheritance.
Understand how pointers hold memory addresses, use the ampersand to obtain a variable’s address, and apply the dereference (star) operator to read or modify its value.
Master dynamic memory in c++ by using new and delete with pointers. Dereference pointers safely, avoid memory leaks, and set freed addresses to null for stability.
Learn to work with dynamic memory and object pointers in C++. Dereference pointers to access class members and call methods, then delete objects to avoid dangling references.
In this course I'll start out your C++ journey from the beginning and move you through advanced whilst moving towards making a little dungeon game.
Everything is in here from the very starting points, so the course is good for beginners or those returning to C++ who want to brush up on their skills. At the college I used to teach at, this content would cover subjects C++ 1, C++ 2 and Basic Game Dev with C++ (each of those subjects cost like $1.5k AUD). If you are studying at a Uni or College, this course makes a good companion resource for those you with C++ subjects.
Through out the course I provide project check points and reference projects if you get lost along the way. This course runs a bit over 16hrs, so take your time on it. Here is a list of some of the things we run through on this course:
variables and math
input and output
if statement, while and for loops
arrays, 1d and 2d
classes, inheritance and polymorphism
pointers and dynamic memory
rendering and animation
basic 2d game logic
and a bunch more!
C++ is still very relevant in many software engineering jobs but also to lots of game engines such as Unreal. Its a good starting language for many looking to get into software development of some kind.
Let's make a sweet dungeon game!