diff --git a/content/pong/opponent/_index.md b/content/pong/opponent/_index.md index 2a4aaa6..eaae9e2 100644 --- a/content/pong/opponent/_index.md +++ b/content/pong/opponent/_index.md @@ -111,4 +111,10 @@ Don't forget to add the new Engine in **game.ts**! world_builder.add_engine(ComputerControlEngine); ``` -If we were doing this in an object-oriented way, we would have had to inherit from the paddle or introduce another state to the paddle, thus forcing us to refactor or increase the complexity of the paddle object itself. Here, we didn't really have to change any of our existing logic - all we had to do was create a new component and write a new engine for producing behavior from that component, while getting to retain all the behavior we got from the other paddle components. See how clean and de-coupled this is? This is the power of _composition_ over _inheritance_. + + +If we were doing this in an object-oriented way, we would have had to inherit from the paddle or introduce another state to the paddle, thus forcing us to refactor or increase the complexity of the paddle object itself. + +Notice how in our case we didn't really have to change any of our existing logic - all we had to do was create a new component and write a new engine for producing behavior from that component, while getting to retain all the behavior we got from the other paddle components. See how clean and de-coupled this is? This is the power of _composition_ over _inheritance_. diff --git a/static/images/computer.webm b/static/images/computer.webm new file mode 100644 index 0000000..ed9f0cb Binary files /dev/null and b/static/images/computer.webm differ