Final project showing Java knowledge by making a race car game with agile requirements. Done by splitting it into three sprints, one per week.
wasd keys or arrow keys to move, space to start. Game window can be resized before starting to play in any resolution.
- Car that goes.
- Car wont go off track.
- Counts laps that the car does.
- Win after x laps. && win scenario like a popup or something.
- Lap times recorded
- Lap times saved to high score.
- Can load high score data.
- Obstacles in road to avoid.
- Game timer starts when player is ready. (3, 2, 1, GO!)
- Car feel like an actual car (not a block shuffling around).
- Improve layout. (GridBagLayoutDemo or BoxLayout)
- Handles checked exceptions.
- Clean (readable) code
- Polymorphism
- More fun
- (optional) Graphics not as bad.
Final should also have the following if needed:
- Write Java code that uses variables, arrays, conditional and loop constructs
- Manipulate primitive numeric data and string data using Java operators
- Create Java classes and use object references
- Access the fields and methods of an object
- Manipulate text data using the methods of the String and StringBuilder classes
- Use casting without losing precision or causing errors
- Declare, override, and invoke methods
- Access and create static fields and methods
- Use classes from the java.time and java.time.format packages to format and print the local date and time
- Encapsulate a class using access modifiers and overloaded constructors
- Define and implement a simple class hierarchy
- Demonstrate polymorphism by implementing a Java Interface
- Use a Predicate Lambda expression as the argument to a method
- Handle a checked exception in a Java application
- A GUI because I want one.
- Saving and loading of data.
A lot of stuff I could've improved still. Nothing's really looks at all like I wanted from the original planning documents. The requirements had to change a lot as I learned what Java (mostly swing) was capable of and what good programming practice would be. I wouldn't want to try and design a GUI with moving components using swing ever again. Especially not a game. I choose something that would interest me instead of creating a bunch of buttons that run different SQL queries. That big game window gave me so much more trouble than a simple grid layout with button would've.
my Swing experience in short: Making a calculator, good idea. Making a racing game, bad idea.





