Difference between revisions of "Beginner C++ Game Programming Tutorial 9"

From Chilipedia
Jump to: navigation, search
(Video Timestamp Index)
m (Text replacement - "http://www.planetchili.net/" to "https://www.planetchili.net/")
 
(3 intermediate revisions by one other user not shown)
Line 13: Line 13:
 
* Classes: OOP to the rescue [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=1m38s 2:25]
 
* Classes: OOP to the rescue [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=1m38s 2:25]
 
* Creating our own class [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=3m21s 3:21]
 
* Creating our own class [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=3m21s 3:21]
* Header guard: #pragma once [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=3m40s 3:40]
+
* Header guard: <code>#pragma once</code> [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=3m40s 3:40]
 
* Letting other files know about our class: including headers [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=5m52s 5:52]
 
* Letting other files know about our class: including headers [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=5m52s 5:52]
 
* Refactoring game code related to poo [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=6m56s 6:56]
 
* Refactoring game code related to poo [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=6m56s 6:56]
Line 20: Line 20:
 
* Advantages of the new poo object oriented code [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=12m7s 12:07]
 
* Advantages of the new poo object oriented code [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=12m7s 12:07]
 
* Initializing poos' velocities [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=14m12s 14:12]
 
* Initializing poos' velocities [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=14m12s 14:12]
* Factoring out common attributes from class objects: static and constexpr [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=14m41s 14:41]
+
* Factoring out common attributes from class objects: <code>static</code> and <code>constexpr</code> [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=14m41s 14:41]
* Difference between constexpr and const [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=16m8s 16:08]
+
* Difference between <code>constexpr</code> and <code>const</code> [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=16m8s 16:08]
 
* Accessing static class members [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=16m40s 16:40]
 
* Accessing static class members [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=16m40s 16:40]
* Class member access restrictions: public vs private [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=17m20s 17:20]
+
* Class member access restrictions: <code>public</code> vs <code>private</code> [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=17m20s 17:20]
 
* Summing up what we have learned and a couple of tips [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=19m12s 19:12]
 
* Summing up what we have learned and a couple of tips [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=19m12s 19:12]
 
* Homework [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=20m3s 20:03]
 
* Homework [https://www.youtube.com/watch?v=Wwgyw69MiEU&t=20m3s 20:03]
Line 34: Line 34:
 
== Downloads ==
 
== Downloads ==
  
* [http://www.planetchili.net/downloads/T9-Starting-Code.zip T9 Starting Code]
+
* [https://www.planetchili.net/downloads/T9-Starting-Code.zip T9 Starting Code]
 +
* [https://planetchili.net/downloads/apworks/9/Beginner%20Tutorial%209%20Code.zip Tutorial 9 Code]
 +
* [https://planetchili.net/downloads/apworks/9/Beginner%20Tutorial%209%20HW%20Code.zip Tutorial 9 Homework Solution Code]
  
 
== See also ==
 
== See also ==

Latest revision as of 13:26, 5 May 2022

In this video we make our first class and Chili teaches us about the birds and the bees and the static constexpr.

Concepts Taught

  • Creating a class
  • public vs. private access
  • static member variables
  • constexpr variables

Video Timestamp Index

  • Intro 0:00
  • ClampScreen code recap 0:18
  • The issue of the current Game data organization: 1:38
  • Classes: OOP to the rescue 2:25
  • Creating our own class 3:21
  • Header guard: #pragma once 3:40
  • Letting other files know about our class: including headers 5:52
  • Refactoring game code related to poo 6:56
  • A little trick: Advanced find + replace with regex enabled 7:08
  • Adding an implementation file (.cpp) for Poo class 9:05
  • Advantages of the new poo object oriented code 12:07
  • Initializing poos' velocities 14:12
  • Factoring out common attributes from class objects: static and constexpr 14:41
  • Difference between constexpr and const 16:08
  • Accessing static class members 16:40
  • Class member access restrictions: public vs private 17:20
  • Summing up what we have learned and a couple of tips 19:12
  • Homework 20:03

Homework

Make the Dude entity into a class as well. It's up to you to decide what member functions you should give it. Might want to add another function to Poo as well (hint hint hint!).

The solution is given in this video.

Downloads

See also