Advanced Object-Oriented Programming
This was really more of an "advanced topics" course than it was about object-oriented programming itself, but we did use it constantly, since we were developing in C#. What we really covered was:
This was a good follow-up exercise to the maze-solvers we wrote for data structures. It turns out that building a maze with a stack of x/y positions bears a lot of similarity to solving a maze with a stack.
I'm very proud of the fact that my game works with Windows Forms and not in spite of it. You can minimize, maximize, resize – though I did put a lower limit on the size of the window to stop the maze from disappearing entirely. We were required to use double-buffering, too. But for layout reasons I was drawing on a panel, not directly on the form, and for some reason double-buffering isn’t something you can just turn on for panels. I followed these directions to subclass a panel.
Python is a good language to write in because the syntax is compact yet very readable - you can bang out entire classes in just a few lines! You can also have functions outside of classes, like in C++. Boilerplate stuff is kept to a minimum, and things just tend to work the way you hope they do. If you're interested in programming at all, give Python a try!
I used the Python I learned to put together a little satire called NSCiCi. You can even run it in your browser! It’s also part of the "report package" you can download that has my written report, my slides, and the code samples.
|2013, William Matheson|