Welcome to our thrilling Cross the Road game! In this action-packed adventure, you'll take control of a courageous character with a daring mission: to cross treacherous rivers and bustling roads, all while avoiding perilous obstacles.
The game is divided into two challenging environments: the roads and the rivers. The roads consist of multiple lanes, each filled with vehicles of different colors, speeds, and lengths, all moving relentlessly in their designated directions. Your quick reflexes and impeccable timing will be put to the test as you navigate through this chaotic maze of traffic. Can you make it to the other side unscathed?
But the challenge doesn't end there. The rivers present their own set of obstacles. Divided into separate lanes, the rivers feature logs of varying speeds, lengths, and directions. Your goal is to hop onto these floating logs in succession, using them as stepping stones to cross the treacherous waters. Be careful, though, as one misstep could send you plunging into the depths below.
To add an extra layer of difficulty, the game map is scattered with obstacles of different widths and heights. While these obstacles won't harm you, they act as impassable barriers, forcing you to find alternative routes. Your strategic thinking and keen observation skills will come into play as you navigate around these barriers, inching closer to the ultimate goal.
Speaking of the goal, your mission is to reach a designated goal tile located at the far end of the game map. This goal represents your triumph, a symbol of your successful navigation through the dangers that lie in your path. Will you have what it takes to conquer the obstacles and emerge victorious?
Our team of six developers worked tirelessly to create this captivating Frogger game. With each sprint, we refined our skills and incorporated key software engineering principles to ensure a polished and immersive gaming experience. Testing was an integral part of our development process, and we meticulously crafted unit tests to verify the functionality of our implementation.
Prepare yourself for a thrilling journey as you dodge traffic, hop onto logs, and overcome obstacles in your quest to reach the goal. The Cross the Road game offers an exciting blend of action, strategy, and skill that will keep you hooked for hours on end.
Are you ready to take on the challenge? Get your reflexes ready, gather your courage, and embark on a daring adventure in our Frogger game!
Using the terminal:
- Clone the GitHub Project
$ git clone https://github.com/RiRah123/Frogger.git
- Navigate to the cloned project
$ cd Frogger
- Run the Android Studio app with the following command
$ adb shell am start -n "com.example.s2/com.example.s2.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
During this sprint, we performed object-oriented analysis (OOA) and created a Domain model and Use Case Diagram. In terms of implementation, we developed three screens: a welcome screen, a player configuration screen, and an initial game screen. We focused on Java (not Kotlin) and ensured that our application's functionality aligned with the requirements. We eagerly awaited the upcoming demo to showcase our progress.
This sprint encompassed further object-oriented analysis (OOA), where we crafted user stories and System Sequence Diagrams (SSDs). For implementation, we constructed a game screen featuring road, river, and goal tiles, allowing the character sprite to freely move around. We built upon the foundation laid in Sprint 1, emphasizing the importance of analysis when developing complex systems.
Design-wise, we created a Detailed Class Diagram (DCD) and a Sequence Diagram (SD). In terms of implementation, we introduced three types of vehicles, each with distinct behaviors such as sizes and speeds. Additionally, we implemented a score system to track the player's progress. This sprint expanded upon the previous ones, refining the obstacles on road tiles and enhancing the scoring system.
Design deliverables included a write-up on SOLID/GRASP principles. In terms of implementation, we developed scenarios for losing lives and implemented the game over screen. Building upon the work of earlier sprints, we focused on water tiles (river), vehicle collisions, and proper tracking of remaining lives. Emphasizing SOLID and GRASP principles helped us grasp the benefits of following these patterns.
The final sprint involved writing a code smells analysis. We implemented scenarios for winning the game and introduced the logs for crossing the river. Tracking the score and remaining lives, we ensured that the Game Win Screen displayed them appropriately. Reflecting on code smells, we identified areas where our code could be improved. This sprint emphasized Object-Oriented Analysis and provided an opportunity for team-based code review.