Skip to content

gudwalMJ/PokeAdventure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PokeAdventure Game

Click here to see the deployed game!

Introduction

PokeAdventure is an engaging and nostalgic browser-based game that brings the world of Pokemon to life in an exciting river-crossing challenge. Take control of Totodile, the Water-type Pokemon, and embark on an adventure to cross the river, facing various obstacles and collecting rewards along the way.

Features

  • Dynamic Gameplay: Navigate Totodile across the river using arrow keys, avoiding obstacles and collecting points to achieve victory.
  • Diverse Obstacles: Encounter a variety of Pokemon obstacles, including Falinks, Lapras, Lotad, each with unique behaviors and challenges.
  • Special Events: Discover hidden Easter Eggs and special items that can dramatically impact your score and add an extra layer of excitement to the game.
  • Strategic Challenges: Test your reflexes and strategic thinking as you overcome obstacles, avoid collisions, and strive for a high score.
  • Immersive Soundtrack: Immerse yourself in the Pokemon world with a captivating soundtrack, enhancing the gaming experiance.
  • Interactive Elements: Mute the in-game music at any time with the click of a button for a customizable experience.

How to Play:

  1. Start the Game: Click the "Start Game" button to begin your PokeAdventure.
  2. Navigate Totodile: Use the arrow keys on your keyboard to move Totodile across the river.
  3. Avoid Collisions: Dodge obstacles, including Falinks, Lapras, Lotad, to prevent losing lives.
  4. Collect Points: Gather points by successfully navigating the river and collecting special items like Berries.
  5. Winning the Game: Reach a score of 4000 or more to emerge victorius. Face challenges, discover secrets, and enjoy the journey!

Backlog

  • Structuring Code Cleaning up, and structuring the code for easier readability.
  • Adjusting the screen size Adjusting the size to be more adaptable for all ratios.
  • High-score counter: Implementing the counter for keeping track of users high-scores.
  • Different Obstacles: Update the sprites after a certain points, to create more diverse world building.
  • Main Menu Soundtrack Adding a soundtrack to the main menu as well.
  • Level system Adding different levels.

Technologies Used

  • HTML
  • CSS
  • JavaScript
  • DOM Manipulation
  • JS Classes
  • Local Storage

States

  • Main Screen
  • Game Screen
  • Game Over Screen

Project Structure

script.js

  • Initialization
  • Event Handling
  • Game initialization and Button Click Sound
  • Restart Game
  • Toggle Sound
  • Event listeners

game.js

  • Constructor
  • Sound Methods
  • Initialization and Setup
  • Game Loop and Animation
  • Collision Handling
  • Score and Display
  • Game State Management
  • Helper Functions

player.js

  • Constructor
  • Sound Methods
  • Collision Detection
  • Event Handlers
  • Movement and Positioning
  • Sprite and Animation

obstacleFalinks.js

  • Constructor
  • Spawn Method
  • Move Method
  • Initialization

obstacleLapras.js

  • Constructor
  • Spawn Method
  • Move Method
  • Initialization

obstacleLotad.js

  • Constructor
  • Spawn Method
  • Move Method
  • Initialization

feraligatr.js

  • Constructor
  • Spawn Method

easterEgg.js

  • Constructor
  • Spawn Method

berry.js

  • Constructor
  • Spawn Method
  • Handle Collision

Links