Project 1.0 (part 1 of ??)
Due: Monday Sept 23rd for the M/W class and Tuesday Sept 24th for
the Tues night class.
Summary:
This will be a relatively simple first project to get you all working,
make sure your toolchain is working and refresh you on python, which some
of you have not used for several semesters. If you start it on the last
two days though, I almost guarantee unpleasant mishaps, so start right
away.
Details:
In this project you will begin to work on an old fashioned side-scroller
style arcade game. We will continue this in the follow on project, but for
this first one I want to have a short turn around time to make sure that
everyone has everything working.
Functionality:
For this part, build an arcade library
based 2d game with
- a side scrolling background
- a player avatar that moves up and down the screen in response to
keyboard movement.
- The ability to 'shoot' by sending some sort of attack to the other
side of the screen
- use a keyboard key to send the shot
- Every time the 'shot' is fired, play a sound
use whatever theme you want for this so long as it is appropriate
for me to show your work in class.
Use any assets that you can legally use.
Additional Requirements/Constraints:
- Make sure that all of your assets (sounds and images) are in a sub
folder separate from the folder with the code.
- Make sure that the asset loading code works on all platforms - and don't have any hard coded paths. I'm
not gonna go try it on your machine.
- Include, either in comments at the top of your main code file or in a
separate readme file if your main code directory the following
information
- how do I use your program, what keys do I used to move? what key do
I use to fire etc. If there is anything left undone let me know that
as well.
- Grad Students only: your code must be good
'pythonic style. " Your code should pass flake8 (with the max_line set
to somewhere around 110 characters) or just run black on your
code before finishing.
Submission:
Submit
by making me a collaborator on github I'm going to clone the project
(and get the end of the main branch) for grading.