C# – A Class of Its Own

As many people know, after the hard push to make Red Jade available to everyone, I’m on a bit of a writing hiatus. My current endeavor has been coding. Yep, I’m learning once again how to be a computer programmer.

Commodore 64When I was a little tyke, my brother was in a computer class in school learning concepts in programming on a Commodore 64. The programs used BASIC language and on a car trip up to Massachusetts to visit our grandparents, my brother pulled out a notebook in the back of the station wagon and he showed me what he had been learning.

It didn’t take me long before I was enamored with IF/THEN statements, FOR/NEXT loops, and PRINT and INPUT commands to name just a few. I wanted to learn more so I practiced. And we got books and magazines and I learned more. In third grade I was troubleshooting computers in school (in particular this one printer, but it sounds so much more exciting saying it the other way). In fourth grade I was pretty comfortable making sprites and in fifth grade I showed the life cycle of a caterpillar using those sprites and moving them onscreen.

For home I made programs to celebrate holidays and one to keep track of bowling scores for the family, which was really hard on the C64 because file reading and writing was very particular. In seventh grade my science teacher hired me to write a program for her to keep a record of the track team’s times. And in high school, my computer teacher watched what I did with Mad Libs to ensure no words broke off a screen line and he started giving me other things to work on, like making tessellations and a banking app so he could easily calculate compound interest.

You might have thought I would have become a computer programmer. But even though I loved it, it had never occurred to me to program much in college. Well, there was that one class I took on fractals and I dove back into my roots in QBasic which was similar enough to my skill set for me to pick up. Other languages were way too foreign for me and the burgeoning chaos of life at the time kept me from learning more.

Scroll ahead a few (ahem) years and I’m all interested again. Kevin is a software engineer with two impressive programs out in Apple’s App Store. He has picked up a few new languages in the time I’ve known him from Xamarin to Swift to F#. It was motivation for me to try my hand at learning C#.

I’ve tried it before, actually. It hasn’t worked. I just couldn’t understand the different syntax, which is the least of all the things that are different. But I wanted to give it another try. Kevin got me a book, Head First C#. It’s a different kind of book than I’m used to but it helped me get through some of the stumbling blocks. I am almost halfway through the book with a lot more to do but I decided it was time to take what I knew and work on a project of my own. (Or two.)

Inspired by Disney’s Wii game Guilty Party (2010), I wanted to create a similar game that had you find clues that let you narrow down and eliminate a list of suspects until you find the guilty party. It’s a crazy ambitious project, I know. But at first I just wanted to work out the logic of how to deal with checking a clue (“the culprit is tall”) against a set of suspects and remove people who were short.

Catch the CulpritWell it grew from there because I can’t ever be simple. Soon I created a map in a Windows Forms Application, numerous clues, a whole user interface and so on. It’s a big undertaking that deserves its own post with more detail. On September 15, I made a note to myself with the idea of a suspect class but I had no idea how to work with it. Well now I have a fully functioning program.

I did have Kevin do a code review with me. We spent a whole Saturday afternoon on it and it was great. Here’s this master programmer looking over my code and then looking at me, not quite believing I had actually created it. And overall the code was pretty clean! He tidied a bunch of things so I could see other ways of doing things and he helped me with a few roadblocks I had (and others I’ve gotten into since).

So now I’m turning it over to you. This link will give you access to the game. Be aware though that it is an .exe file and your firewall may not let you download it. Also it will not run on iOS so save yourself the aggravation. You need a PC to try it and I guess it may work on an Android. I haven’t quite worked out every bug so if you try it and find any please tell me what you were doing and what happened. 🙂 If you have other ideas, tell me those too! https://www.dropbox.com/s/r2j4o6u7h45tfg0/CatchTheCulprit.exe?dl=0

Heat Equation CalculatorA bit simpler, today I made an applet to calculate heat equations. I teach them to my honors classes and I thought an applet like this would help them to practice. They can make up their own numbers and the check their work. It still needs bug testing too but I think I ironed out most of the issues. It also must be run on a PC. https://www.dropbox.com/s/v0ngx5gdh1ajfce/Heat%20Equation%20Calculator.exe?dl=0

So that’s what I’ve been up to. I do miss my characters and the worlds I love so I’ll get back there!

Leave a Reply

Your email address will not be published. Required fields are marked *