Comp 151 Project 6
Lets Demonstrate all that you have
learned
Summary:
In this slightly longer
project, you will get the opportunity to build a more interesting
project and demonstrate all that you have learned over the course of the
semester. You may choose one of two possible project
Due: Thursday
May 5th at 11:59pm Based on my in class mistake, Sunday
May 8th at 5pm, but that is a hard deadline.
Description:
Because we have a very diverse group with a lot of different majors in
this class, I want to offer two different (but approximately equal
difficulty) projects. Choose one and have fun.
All functions except the call to main() must be in some function
-
- build a simple one level "Frogger"
style game. As long as you get the
functionality right, feel free to adjust the theme to any which is appropriate for class.
- You
must use the python arcade library that we used in class, no older
Pygame libarary
- for those of you who have never played this 41 year old game, have a look at
this video, we won't be reproducing the entire complexity of
the
- There is a player (the frog in the original) who can move up down,
left and right on the screen
- There is a safe zone to start with at the bottom, somehow make it
clear where that is (perhaps draw a colored rectangle there
- Then there are four lanes of 'cars' in the first zone, each one is
traveling in the opposite direction from the one next to it.
- each lane should have different spacing between cars
- if the player gets hit by a car then the player loses
- cars that exit the screen should 'wrap around' and return to it.
- There is a safe zone after four lanes of cars - visually display
it
- There is a river zone with lets say two lanes going in opposite
directions (logs flowing with the current and turtles swimming
against the current in the original)
- if the player moves into a water zone, then the player loses, if
the player jumps onto the log or the turtle, the player moves with
the thing they jump on,
- if the player is still on the turtle or log when it moves off
the screen, the player loses.
- logs and/or turtles that exit the screen should 'wrap around'
and return to it.
- There is a safe zone at the top. If the entire player sprite
reaches any part of the top safe zone they win
- If the player wins or loses the game, put a big text notice up
that says so.
- Extra credit available: (you might have to look some of this up
yourself). You must complete the rest of the project to be eligible
for extra credit. (tell me in the top comments if you did some of it)
- for 20 points extra credit, add sounds, (be sure to include the
sound files in your git submission) and play them for
- moving the player
- getting hit by a car
- falling in the water
- winning
- for 20 points extra credit give the player 'lives' so they get
three chances to cross the street,
- for 20 more points, if you get the previous working, then keep
score. For each player life that you cross to the safe zone, award
the player a score increase (and display that score)
-
- Up until the end of 2016 the Steam game platform made lots of data
publicly available.
- Your program will examine a spreadsheet of that data, giving the
user the chance to select the kind of analysis that the program will
do
- Make sure that it is easy to tell from
reading your program output which data is being conveyed
- your main function should offer the following options repeatedly
until the user chooses to quit Every option other than quit should
be implemented it its own function
- quit
- findMostPlayers
- ask the user which system (Windows, Mac or Linux) they want to
consider then find the game that runs on that system with the
highest SteamSpyPlayersEstimate and display the game title,
release date and player count
- findAgeRestricted
- print the names and release date of all games that have a
minimum player age of 17
- findOftenRecommended
- ask the user what the minimum number of recommendations is
- then find and print the
- game name
- recommendation count
- number of owners
- percentage of owners who wrote a recommendation (you have to
calculate this one by dividing the previous two data items)
- findWellPlayed
- ask the user what the cutoff percentage should be
- then find all games where the number of players / the number
of owners is greater than that cutoff and report
- the percentage
- the game title.
- findCountForSystem
- count and report the number of games available for each
platform (Mac, Windows, Linux)
- If a game runs on both windows and linux make sure to count it
in both
- LookUpData
- ask the user for the name of a game then find that game and
report
- the name of the game
- What platform it runs on
- its metacritic score
- The number of DLC for the title
- how many owners there are for the title
- Extra credit available (you might have to look some of this up
yourself). You must complete the rest of the project to be eligible
for extra credit. (tell me in the top comments if you did some of
it)
- for 20 points extra credit: ask the user for a year (from 2006
to 2016) and find the most owned game from that year and report it
- for 20 points extra credit: find and report the five 17+ age
restricted games with the largest player counts
- for 30 points of extra credit: find and report the five most
owned games for each of the last 10 years of the dataset
(2007-2016)
Additional requirements:
Your code must be commented
use functions.
To help me identify your work, make the name of your project
yourFirstInitialLastNameProject6
(so mine would be JSantoreProject6)
And put the following at the beginning of the program as a comment:
Project Submission
Submit the project by putting it on github as a private project and
making me a collaborator as before.