Welcome to my Programming Blog...

I am currently working on a couple of projects: An original game called "Implosion" which I am porting from Flash to the iPad, and a remake of Q*bert in Python (pygame), as part of the class I am teaching. Please feel free to use the "Labels" (at right) to follow a specific project or theme. If you are one of my Python students, I recommend that you check out the Python thread.

Monday, April 19, 2010

Python Project

I think I will work on a project to remake the game Q*bert while my students work on their games. (Here's a clearer explanation of the rules.)There are some things about it that are sort of simple, and others that should make a nice challenge.

One of the tricks will be maintaining a grid system, so that the character is always moving at a diagonal. For instance, the top row only has one square, the second row has two, the third row has three, etc. If Q*bert is on the left square in the second row, he can move left or right down to the third row, or up and to the right to the top row. He can't move up and to the left, because that is off the world, and he can't move to the right-hand cell in his row, because he only moves diagonally. So how will I be able to keep track of where Q*bert is, and where he is allowed to go?

I think I will need classes for Q*bert, the cubes, a scoreboard, one for each type of monster, the balls (generic) and the platforms.

I'll need a list of objects to draw, objects to animate, enemies, and platforms

Here are my goals:

  1. Generate the cubes
  2. Create Q*Bert and have him appear
  3. Let the user control Q*bert around the cubes
  4. Let Q*Bert change the color of the cubes
  5. Create a scoreboard
  6. Make the balls fall down
  7. Make Q*bert die (curse!) if he is hit by a purple or red ball.
  8. Make Coily and move him randomly
  9. Make Coily move towards Q*bert
  10. Let Q*Bert land on/ ride a platform
  11. Let Coily fall off if Q*bert is on a platform
  12. Create Slick & Sam
  13. Create Ugg & Wrong Way
  14. Add Sounds & Multi-levels

No comments:

Post a Comment