Difference between revisions of "Intermediate C++ Game Programming Tutorial 17"

From Chilipedia
Jump to: navigation, search
(Part 2 Class Specification)
Line 9: Line 9:
  
 
== Part 2 Class Specification ==
 
== Part 2 Class Specification ==
All of the meme entities of the system will have the following shared functionality:
+
All of the MemeFighter entities of the system will have the following shared functionality:
 
* Member data for name (string), hp, speed, and power (int)
 
* Member data for name (string), hp, speed, and power (int)
 
* Getters for name, initiative (speed + 2d6), and alive state
 
* Getters for name, initiative (speed + 2d6), and alive state
* Punch function that takes a different meme entity and applies damage (str + 2d6) to it
+
* Punch function that takes a different entity and applies damage (str + 2d6) to it
 
* Tick function where the entity recovers 1d6 hp
 
* Tick function where the entity recovers 1d6 hp
  
Functions should narrate actions / effects when it makes sense. Tests should be made to check whether a character is alive before an action is performed (dead characters can't punch, recover, etc.)
+
Functions should narrate actions / effects when it makes sense. Tests should be made to check whether an entity is alive before an action is performed (dead characters can't punch, recover, etc.)
 +
 
 +
There are two concrete MemeFighter entites: MemeFrog and MemeStoner
  
There are two concrete entites: MemeFrog and MemeStoner
 
 
MemeFrog:
 
MemeFrog:
 
* Has 69 hp, 7 speed, and 14 power
 
* Has 69 hp, 7 speed, and 14 power

Revision as of 19:19, 16 November 2017

I haven't actually written this part yet. Hopefully I won't forget and just publish it like this ;)

Topics Covered

  • Class hierarchy
  • Mutable modifier for member data

Video Timestamp Index

Tutorial 16

Part 2 Class Specification

All of the MemeFighter entities of the system will have the following shared functionality:

  • Member data for name (string), hp, speed, and power (int)
  • Getters for name, initiative (speed + 2d6), and alive state
  • Punch function that takes a different entity and applies damage (str + 2d6) to it
  • Tick function where the entity recovers 1d6 hp

Functions should narrate actions / effects when it makes sense. Tests should be made to check whether an entity is alive before an action is performed (dead characters can't punch, recover, etc.)

There are two concrete MemeFighter entites: MemeFrog and MemeStoner

MemeFrog:

  • Has 69 hp, 7 speed, and 14 power
  • Has a SpecialMove function that takes an entity and has a 1/3 chance of dealing 3d6 + 20 damage
  • Takes 1d6 of damage every turn

MemeStoner:

  • Has 80 hp, 4 speed, and 10 power
  • Has a SpecialMove function that takes no parameters and has a 1/2 chance of adding 3 speed, increasing power by 69/42, adding 10 hp, and adding to the entity's name

Homework

Part 1

Predict the output generated when the function shown at the end of Part 1 is executed. Answer:???

Links

Algorithms Library

See also