Programming Finals

My Cumulative Program: Part 1

My cumulative program is a “Choose Your Own Adventure” type game. I decided upon this idea off of some ideas thrown around in our online class discussion. My teacher, Mr. Lloyd Sommerer, gave the class a list of ideas to choose from. He also gave each person an option to think of other ideas, of which they could choose from after being approved by him. Me, not being the most creative person in the world, just decided to stick with one of the options he gave us. After debating between making an adventure game or computing pi(the number), I finally chose the adventure game. I felt that if I chose the computing pi idea, I would need clarification on what the program entailed, what would be asked of me, along with spending too many hours looking up other programs on Google. I also felt like the adventure game would be simpler, but with more room for extra features.

My original program is pretty basic. It takes you through a galaxy where you have stolen the largest diamond. You must escape with help only from your own thoughts. To start the program off, it gives you instructions on how to play, and takes you through the adventure. This adventure consists of five different scenarios that you will be put in. These scenarios ask you questions. Your answers could end up killing your character. It also is continually testing your wits and your problem solving skills.  There is so much more detail I could go into at the moment about this program, but I will save that for another post.

If I had more time, I would’ve added a few more features than the ones listed below. I think I would’ve added even more questions. This would’ve been even better because the plot could’ve developed even more and the user would be more satisfied with the program overall. I also would’ve added questions or plot twists that only popped up if certain questions were answered in a certain way. This is a very time-consuming method of displaying and answering questions though. Along with that, the output possibilities would grow exponentially with each added question, which is why I didn’t add it to my program already.

In my program there are some other features I did add that enhanced the overall play. First of all, after the instructions, I added the ability to name your own character. This doesn’t affect the program in its entirety much, but it makes the user feel special. Second, I added sound effects into the program. These sounds add to the effect that the program emits. I also made a procedure that printed the words to the user and made it look like someone was typing the words at the same time.

There are some other subtle changes that were made that helped as well. These changes consist of the following: allowing the user to play again without restarting the entire Shell(the place where the user can read the program’s outputs), not having the instructions show up again if the user plays again, adding more questions, and not allowing any input from the user to break the program. These changes are mostly behind the scenes and they don’t usually have a direct influence on the playing capabilities of the game itself, but they are nice to have nonetheless.

I feel as though this Programming class has greatly increased many of my learned skills, and made me learn some new ones as well. Some of the main skills I think it increased is my problem solving skills and my learning skills. My problem solving skills, at least in my opinion, weren’t terrible coming into this class, but they were improved when it came to thinking about what problems needed to be solved, breaking the problem down, and solving the problem in choosing pieces of code that would be the most efficient. My learning skills also increased through learning a whole new language. During this class, we coded using Python, one of the easier to understand languages. Nonetheless, being able to learn all of this and implementing it correctly into programs grew my learning skills, and all my skills in general.