Heheh, Alfie really gets knocked around in that last one.
Nice work building little learning modules leading up to the final version. Also, great work integrating lerp() for some more natural movement. Now you have a nice bag of tools. This is some good pre-written code that can be adapted for lots of projects going forward. I think slowing it down and adding your own graphics and more of a procedurally generated environment would be obvious next steps if you wanted to go further with this kind of thing.