instructions need to complete this whole assignment or all the prompts
Search for question
Question
Instructions
Need to complete this whole assignment | All the prompts should be followed
This is the link to chapter 17 where all the files are located.
https://github.com/Packt Publishing/Learning-Java-by-Building-Android-
Games-Second-
Edition/tree/d889b4a05385a953e45f2850e04048e54e4c61ca/Chapter17
Need to do this work in Android studio programming
Report for this is needed in 2-3 pages (template provided below)
"Write a one to two page report discussing the changes that you made and
why you made those changes. Include as much detail as possible, however,
do not just write filler, your assignment will be graded on quality, more so than
quantity. If you are struggling to write a full page of high quality description,
you might want to revisit the lectures." Consider this when writing a report,
basically need to mention all the changes made and why those changes are
important
Student note:
All the code is on the git. The tutor needs to modify/add more code to
complete the assignment/n Final Project:
Super Snake
Description:
In this assignment, you will be tasked with refactoring and redesigning the Snake game in
Chapter 17 to improve its structure, readability, and maintainability. The goal is to separate
different functions into their own classes and apply design patterns where appropriate. You will
also need to enhance the gameplay by introducing new features and challenges. You can work
in groups of 4 people. Use everything you've learned so far to upgrade Snake to the next level!
Tasks:
**Task 1: Code Refactoring**
200 Points
- Review the existing Snake game codebase provided to you.
- Identify areas where code can be refactored to improve readability and reduce redundancy.
- Separate different functions into their own classes to increase modularity and maintainability.
- Refactor code with Refactoring techniques.
- Utilize the concepts from our lectures and previous assignments
**Task 2: Design Pattern Implementation** (Must choose 2):
100 Points
- Identify opportunities to apply design patterns within the codebase.
Some ideas:
- Implement the Strategy Pattern to separate audio-related functionality into the `Audio and
`AudioContext` classes.
- Implement the Builder Pattern to create different `Apple` types with different properties and
effects on the player.
- Use the Decorator Pattern for Snake to apply power ups, harmful effects, and cool features.
** These are recommended design patterns; you may use any which are applicable. **
Refer to Design patterns lecture.
1 Mandatory:
Change up the design completely:
○ UI elements
○
Character models
Sound elements / music
Background
**Task 3: Gameplay Enhancements** (Must choose 4)
200 Points
Introduce randomness to assign scores to good apples and bad apples.
Power-Ups: Introduce power-up items that the snake can collect. These power-ups can
have various effects, such as increasing the snake's speed, making it invulnerable for a
short time, or allowing it to eat bad apples without penalties.
Obstacles: Add obstacles on the game board that the snake needs to avoid. Colliding
with an obstacle could result in a penalty, such as a decrease in the snake's length or
speed.
High Scores and Leaderboards: Implement a high score system that keeps track of the
best scores achieved by players. Display the current game score as well while the game
is running.
Sound Effects and Music: Enhance the audio experience with background music and
different sound effects for various in-game actions.
Progressive Difficulty: Make the game progressively harder as the player advances, with
faster apples spawning, more obstacles, or additional challenges. This keeps the game
interesting for longer periods.
Game Over Screen: After a game over, show the player's final score and provide options
to restart the game or return to the start screen.
If you have other ideas, run them by me first, but be creative. These features are just
suggestions.
2
Your game needs to have a "wow" factor. This could include lots of extra features, how well
designed (and fun) the game is, or just good old-fashioned polish—anything that will make your
game really stand out! **Submission Details**
If you encounter difficulties with any part of the assignment, document your efforts and any
issues faced. The goal is not just to implement design patterns but also to learn from the
challenges you encounter during the refactoring process. I do expect tangible improvements to
the Snake Game that are more than just a few new classes. Try your best to improve this game
according to the assignment's requirements.
Final Report and Submission:
100 points
Thorough report of the changes you made, with proper formatting, images, a tutorial on
the UI of the game and how to play the game.
Also:
- A zip file containing your entire Android Studio Project
- Provide a screenshot of the Snake game running in the emulator to demonstrate
successful implementation.
- SUBMIT YOUR REPORT AS A PDF FILE WITH YOUR NAMES
Git logs as well
3