It really is as simple as this, I love to program. I enjoy the challenge of solving algorithmic problems and the occasional brain-fatigue which accompanies that process.
I know that I have a lot to learn and that self-directed learning will not always be sufficient. I hope to find and engage deeper learning facilitated through university courses.
The Blackjack Project
Here is my first example: a Blackjack game which went way beyond the expectations and parameters set out by my teacher, Mr. Jonker.
Click to play Blackjack and view the game’s source code
The criteria for the project was as follows:
In this game you will be asked how many cards you would like to draw. The computer will then pick that many random numbers between 1 and 10 for you and display them in some way (i.e. on the screen, in an alert box, in text boxes on a form, etc.) as well as providing the total of all of your cards. If the total of your cards is over 21 you automatically lose that round.
If you have 21 or less, the computer automatically gets 3 random cards (also between 1 and 10). If the computer goes over 21 you win, if you both have the same total you draw, if the computer is higher than you (but less than or equal to 21) it wins, and if the computer is lower than you, you win.
Have the program go through 10 rounds. Keep a running total of your wins, the computer’s wins and the draws for both you and the computer somewhere on the screen (in a form text field).
Grading:
- This will be a large part of your term grade
- 30 marks for having all the components of your program working, good use of variable names
- 10 marks for the layout of your page (looks professional, colorful, tidy, contains all necessary buttons, text fields, etc.)
- 10 marks for doing something beyond what this project asks for. You will only get a max of 40/50 unless you provide your own personal extra flair – up to you to decide what that is. I will add the marks based on how advanced your extra is. Please add any extras you did as a comment in the beginning of your code so I know what to look for.
How did i exceed the requirements?
My version of Blackjack has many extra features that were not required by the criteria. These include:
- The option to continue drawing cards after the initial selection
- Dealer draws until its hand total is greater than 16
- Series wins for both the player and the dealer are counted and displayed on screen
- Background image
- Reset series option
Other Games
Blackjack is only one of the games I created; click below to play some of my other games. Most of these games were created as a result of me exploring what was possible within the Paper.js library, and because of that they are much less refined than Blackjack.
Click for a list of other games I created
A note on my other games
My main goal in creating these games (aside from enjoyment) was to learn more about what I could do in JavaScript, and to challenge myself with more difficult problems. I had the time for exploration because of my driven work ethic inside and outside of class. Shortly after the start of the second term I finished the course material and began programming games. I chose what game I would program based on mechanics they involved that I wanted to learn—hit detection, conservation of momentum, etc. This is why i often left games incomplete after I had gained an understanding of the mechanic(s) I was learning.
Code Avengers
Most of my programming knowledge comes from courses I have completed on codeavengers.com. The courses I’ve completed include JavaScript 1-3, Python 1-3, and HTML/CSS 1-2. I was required to finish JavaScript 1-2 and HTML/CSS 1; so the rest of the courses were done at home, or during extra time in class.