CIA-Alex_Edwards-Weekend Project

For this project, I was able to plan it all own with a flowchart. Here it is:

 

This was actually my second draft as I started off with something a bit messier and all over the place. The disorganization didn’t really help with the writing of the code so I decided to start over… Here’s what I started off with:

As well as this, here is the pseudocode I used for my plan as well:

weekend project pseudocode

As for a final fun of the code here is a stop walkthrough of each step.

 

Overall, I decided to take inspiration from my final project—the text-based adventure game—as this was the more familiar to me. This outline I knew how to write and make it flow and overall I’m really proud of the outcome. In the code, I was able to utilize while loops as well as using different functions and variables. Although it took longer than expected I’m really pleased with the outcome as well as how far I have come in this course. I wouldn’t have been able to do it without the design process as it helped me begin with a plan and use that plan to build something that would be more readily tested. Again, I’m really happy with how it ended up and overall my outcome in this course and the outcome of this project as well as all my other creations.

 

CIA-Alex_Edwards-Final Post

Text Based Adventure Game: Final Reflection

Design Thinking Process:  I would like to refer to the design thinking process when taking a big look at how my end result came to be. From empathize to prototype, all the details are in my final project blog posts 1, 2 and 3.

CIA-Alex_Edwards-Day08

CIA-Alex_Edwards-Day09

CIA-Alex_Edwards-Day10

Test: For my final test process I had to debug the code for any issues and go through it and make sure all the correct answers accurately made the game progress. In the end, it worked! I didn’t have to make many changes to the game as it had already worked pretty well.

 

Here’s a run through of the entire game start to finish: https://youtu.be/SwD-ydfnmGI

 

Personally, I am extremely proud of my progress in this course. This final project I feel is a good end result. It was a huge challenge but I was able to perform the skills I learned through these intense two weeks. Although it may not be perfect I’m proud of how it ended up. I would really like to point that I am not the best writer. I really am not a good writer at all. My explanation of imagery definitely needs work but I thought it would be more of the code that counts. In the end, I think that the story ended up being kinda funny, unlike other games I’ve ever played. I think that it definitely isn’t expected or too cliche! I also think I ended up reaching all of my goals for this assignment and in the course.

 

CIA-Alex_Edwards-Day10

Final Project: Blog post #3

Prototype: Today I was able to completely finish the prototyping phase as I now have the final product of my game. I have 13 different functions with the individual while loops within each function to prompt the user to select an “A” or “B” option. I’ve included a text-based file that should be opened in order to give you a hint to complete the game by using …

file = open("text file.txt", "r")
print file.read()

This finally brought me to my final step of the design thinking process where I began my first tests of the complete code.

Test: 

Here’s a screenshot of a little bit of the game (I don’t want to give away too much)!

 

I was also able to complete my flowchart and pseudocode of which helped me finish the game as well. Here’s a peek at them both:

final project pseudocode

Next steps? Honestly, I feel like I don’t have too many next steps. Specifically just write my final blog posts and have a screen recording of my final game to be ready to turn it in. It has gone pretty well and I’m proud of my progress!

CIA-Alex_Edwards-Day09

Final Project: Blog post #2

Define: Since the empathize step is done, I already know what I want to create. I decided to use my option 3 story of the mission moon landing and change it up some more. Instead of gather parts to escape to the moon, because this isn’t very ideal as I don’t really know the parts to a rocket or anything, I decided to change the story so that it simply takes place in a house. You are trapped in a house with a zombie and you can’t find the key to get out. Due to the threat of zombies roaming around your lock doesn’t unlock without the key, even inside the house. You have to try to run away from the zombie, while at the same time try to find the key to get out of the house. That’s where I’m at right now as for the story-line, but I was thinking about adding a part after getting out of the house; trying to get help to be safe from the zombies. Maybe find a friend or an abandoned RV to seek refuge. Not sure how I want the story to progress. More progress will be made once I’m at that point.

Prototype: Today, I got started on my prototype for the draft of my game. I wanted to incorporate functions, loops, and variables so here are some of the things I did. I wanted to keep it simple and define some functions. Then I created While loops within those functions as I gave the player two options after each scenario. Therefore, they could either choose the correct answer, or they die and get eaten by the zombie. I decided to keep it really simple to limit huge issues. This way, my program is very organized and I know how it should progress. It’s not too complicated yet it’s easy to understand yet ties together well, in my opinion. As of right now, I have eight steps completed. I would really like to have fifteen done before tomorrow. I’m not sure how many steps I would like to have as it truly depends on the progression of the story. I think I am pretty much done with the prototyping phase as I have gone on to test my code and everything has worked from here.

Test: As for the testing phase, all my tests thus far have been successful. Heres a screenshot to see. Thus far, if you follow the story correctly, you will complete and win the game; but if you make one wrong move, you will die and you have to start all over again… Here are some pictures of the code I have so far. And a small test run.

 

Whats the next step? For the next step, I have to get the code done. Once that is done, I  still need to figure out where I’m going to add the text file. After that I am going to perfect my code, debugging it for errors and analyzing it side by side next to the rubric as I really would love to get an A on this as that is what I’m aiming for. While I’m doing this I need to update my pseudocode as well as my flowchart to plan everything out and make writing the code a whole lot easier.

That’s about it! More updates tomorrow 🙂

 

CIA-Alex_Edwards-Day08

Final Project: Blog post #1

Today is the beginning of the prototype phase of my final project. In my Pecha Kucha, I talked about the empathize, and Define, but I will summarize my points here for organization sake.

Empathize: For the first stage of brainstorming, I decided to ask some of my peers as to what kinds of text-based adventure games they would enjoy playing. Due to the fact that text-based adventure games are based on a central storyline, I could imagine wanting to play an intriguing and interesting game with a compelling story. Not having many backgrounds on playing my text-based games, I asked some friends to see what they thought. Overall, they said that they would most likely prefer to play a game that is action-packed, with a fun and entertaining plot, has lots of different outcomes, unexpected twists, nothing too cliche, but with a fantastical journey that can be explored in the mind. How was I going to create a game with all of these things? Well, first off I tried to categorize the types of games that already exist. I came up with a few big ones. Space games, pirate games, save the princess games, and war games or fighting games. I thought a space game would be fun, but I didn’t want to make it too cliche in the sense that all you do is save a planet from dangerous aliens or you meet another life form or discover a planet or something like that. I kept the space idea in mind when coming up with stories though. Then thinking about pirate games, I remembered stories like Pirates of the Caribbean and thought how much fun those stories were. Personally, I’d be really keen to play a game with a similar adventure story to Pirates of the Caribbean or Indiana Jones, but I didn’t want to go too cliche again with the concepts of discovering a lost city, finding stolen jewels, discovering lost and buried treasure, stuff like that. I didn’t want to make a ‘save the princess’ game like Super Mario Bros. or Donkey Kong, as these were clearly too cliche. Especially something that involved slaying a dragon to save the princess locked at the top of a tower… This is what brought me to the define phase.

Define: In the define phase this is where I began to list ideas of where I wanted to go with my story. I didn’t hold back here as I thought any dumb ideas would bring me to a brilliant one eventually. Even starting off with some pretty cliche ideas, I do have to admit, I wrote any idea that came to mind. From there, I began eliminating the bad ideas, ones that were either too broad or too cliche to expand on. After that, I was left with three pretty solid ideas and I decided to write a blurb for each of them as if they were produced and needed a description for an audience. Here’s what I came up with:

I went from this:

To this:

To this (I edited it more after I had taken a photo): 

Then drafted some blurbs;

From these, I think I might go with the third idea because I can really make this an adventure with some twists.

Prototyping: From this entire brainstorming process I have started drafting my code. Obviously, I won’t be able to get the entire first draft in one go as I need to lay more of a framework but I am also going to start with making a basic framework model, then a pseudocode to make it easier to write out. Essentially, I’ve started but I’m not done…

What’s the next step? What I want to be able to do next is fully write the code for the game. I would also like to have made a framework diagram as well as pseudocode for this to make it easier, but I haven’t ever worked with a pseudocode before as for the weekend project I simply used the framework diagram to write the code.

In conclusion, I think I’m on a good path to completing this assignment, I’m just not sure yet of the speed bumps I might face. I know this is going to be a huge challenge for me, but I hope to power through the challenges and create something in the end that I can be proud of! The design process here has really helped me lay out the steps in which I need to complete in order to get to a central idea I’m then going to use and branch off of. I am really hopeful for this and am keen to produce a game that no ones ever played before, that keeps them compelled and interested, and that makes them want to keep playing!

Stay tuned for more updates…!

CIA-Alex_Edwards-Day07

Here is my simple Hangman game I created today.

 

Fails: I would like to mention though that I had higher hopes when it came to this project. I was hoping to be able to print the hangman image but I had an extremely hard time doing that. I did incorporate some need skills though giving the code time to print in between lines. Overall, I think I was a bit too ambitious when it came to this project and I should take another look at some more code academy lessons…

CIA-Alex_Edwards-Day06

Successes:

I found today to be a huge success! I think today was really a breakthrough moment for me as I was really able to apply the skills I learned through making something that wasn’t too frustratingly challenging but manageable.

Python Challenge: Going through the lesson on CodeAcademy really helped me set up the encryption/decryption program I created. Although I knew how to set it up, I had a hard time getting it to work as the first time I ran the program it wouldn’t register the commands to initiate the encrypt/decrypt function. It would keep repeating the question until I exited the code. It wouldn’t even display the funny exit message. Based on this I had to go back and make some few adjustments and to my surprise, they worked!!! I honestly don’t know how I managed to get through the entire challenge rather quickly and I’m really happy how I’m advancing with this course. I feel like I’m really being challenged but at the same time achieving my goals. As for the python program, here’s what I came up with.

Essentially I used the word false—it was the first word that came to mind—and used my encryption code to encrypt the message. Then using that code I copied it and told the program to run the decrypter and input the code there. It then resulted with the same message I put in ending up in a total success!! To exit, in the end, input 0 and it displayed “K bye loser!” for some laughs as this program is awesome so why would you ever wanna exit it!!

Car Auction Challenge: For me, this was a bit trickier but in the end, I figured it out. I had to get some help from outside sources and learn some new things as I’ve never really worked with Google Scripts before. Here’s a video of the result… enjoy:)

CIA-Alex_Edwards-Day05

Successes:

Daily Challenge: Today, I would classify my work on the daily challenge as a success yet I had some complications. As I am only used to working with JavaScript in CodeAcademy I had never used it outside. Therefore, when doing this challenge I didn’t know where to start. I searched through a bunch of tutorials on where and how I could write my JavaScript code and ended up on Sublime after a good recommendation from a friend but I had a few complications again even after that. I wrote my entire code first on python, it ran, and everything worked! On the JavaScript code, I wrote it completely and could see any syntax errors or anything—I even added the headers to the script—but, one, I didn’t know how to run the code and, two, once I figured it out didn’t know how to approach the syntax error when the program was saying that <!DOCTYPE> was an error… In the end, I decided to label that as the failure of the day but overall am proud of my work as I believe that I’m really coming far!

Code Academy: Today, although taking me a while, I was able to fully complete both lessons in CodeAcademy for learning python as well as JavaScript. I had trouble, again, managing my time getting through it all, but it was worth it as I found it helped me with the daily challenge.  Tomorrow I aim to get everything done in less time.

Failures: 

As I mentioned above the big failure of today was the fact that I could get my JavaScript program to run:(( BUT i’m going to keep working on it and I will have a solution in the near future!!

CIA-Alex_Edwards-Day04

Successes: 

Calendar Challenge: Today I feel pretty confident in my work. I wrote programed Calendar to be able to view events, add events, update events, and exit the program as you choose. Here in the video—I added the video to be able to view the entire program—I added the event “Dad’s Birthday” and then proceeded to update it to “Dad’s 52nd Birthday” to his actual 52nd birthday, September 9th, 2018. I also viewed my, one, event and ended the program by exiting. I found today to be a complete success as I was able to end up with a working program!

CodeAcademy:

I was able to complete my code academy work successfully as well and I’m really happy with my work.

Failures: Honestly, I didn’t really have any failures with today’s work. It didn’t take me any less time than yesterdays work, having to complete many many attempts but today wasn’t as frustrating because I just got through it. I attempted to take better notes but I had a hard time figuring out what specifically and how much I should write. I am going to try again tomorrow but I think that this notes goal might have been the biggest failure of the day. Noted, that will be the main thing I work on tomorrow.

CIA-Alex_Edwards-Day03

Failure:

CodeAcademy: Today I was able to complete unit 4 and 5 for learning python as with the new update units 4 and 5 are all about functions, lists, and dictionaries when unit 6 doesn’t cover any of that. I am quite upset about my progress today. I was hoping to get ahead and breeze through today’s work but I managed to do the complete opposite today. It took me just about all day to get through the units in code academy. I kept getting extremely frustrated as there would be small syntax errors I wouldn’t know how to fix and the hints wouldn’t help. After repeatedly trying to revise my codes I had no choice but to give up as none of my solutions were working. I did get close though. I ended up getting extremely angry with one activity I had to do as I was able to write the code exactly, but the only thing that ended up being wrong was a word I decided to use. If you look at the images below the first one is what I had written. The assignment is under “Instructions” in the second image, for reference. Comparing the two images, the only difference between the two is that I decided to use the word “price” instead of “cost”, probably adding another hour or two to my workload.

this is just a mere example though as this happened numerous times. I’m finding this process extremely frustrating although I am trying to patiently work through it.

Dice Challenge: In terms of the daily challenge, this was both a success and a failure. Honestly, I’m not sure if I’m simply just not absorbing the material taught in code academy, or if I’m just not covering the correct material because I also had an extremely difficult time writing this up. Using outside information from the internet I was able to use different resources to create a code for the specific requirements of this challenge. After many many many attempts I was able to end up with something that seems correct (not sure though). 

I was able to define the variable dice without any parameters and return a number from 1 to 6, although it doesn’t display the first number rolled, nor did I use proper “return” syntax. I defined two dice and created the variable “diceSum” which was the total values of the rolled dice pair. The downside of needing to use resources from online is not completely understanding whats going on though. I used “random.range()” input to equate to the “diceSum” and I’m honestly not quite sure what that means. Then I set the code to print a question asking the user to guess a value they think they rolled. Based on their guess, they would either get a “Correct!” or an “Incorrect!” proceeding with the answer of what each dice displayed and what the calculated total was aka the correct answer. In the end, it was still able to work even though I may have approached the problem in an unconventional way.

I think I am finding this process too frustrating not because I’m not putting enough time into the work—as I definitely am—but maybe because I’m just not absorbing the information fully in CodeAcademy. I think tomorrow I am going to take detailed handwritten notes so that I can look back and review examples as I’m doing the daily challenge so that my ideas are organized. Personally, because I’m so new to this, for me it has been like writing an essay in greek, for example. This language is something I’ve not only never worked with, but its something that I have to see for the first time too: not only syntax but with putting it all together too. This is also why I may not be the best at explaining what is going on, but forgive me I’m still learning!

I decided today to talk about my struggles as a failure. I did this because I see it as my goal of time management not being met or improved. I also now see another goal I need to set, which is to pay closer attention to the CodeAcademy lessons and take note of every detail as this is clearly a requirement for beginners. It goes to show that beginners need to put a little bit more effort to kick-start the coding and programming journey, but it’s not something I want to give up.

SuccessAs I said earlier, I still label this as a success. This is because I know this entire lengthy process is allowing me to slowly improve, and no longer be a baby when it comes to my knowledge of programming. Although I may not have had a lengthy list of successes today, like I did yesterday, I still could tomorrow!