Project Brief

You joined an online game platform startup and your task is to build a game that people can play in their browser.

It will be based on the classic Memory Game, where a player needs to flip all the cards in a grid until they find all the matching pairs. You aspire to make the game smooth and pleasant, so they have fun and keep playing it.

[!NOTE] Take some time to research online for similar games and how they look and work to gain inspiration. This is an important skill to practice because you won't always know (or be told) how to approach a new task.

Requirements

Here are the features and details of the the app that need to be implemented. They have been listed in an order that might be useful to follow, but feel free to tackle the steps in the order that you see best fit.

You are strongly encouraged to add your own features, details, design and flare throughout the steps, as long as these requirements are still met.

Week 1 Milestone

The Flippable Card

You are provided with a card picture and a card backside image which you can use, which you can find here, or feel free to choose your own.

Your app needs to:

It can look and be animated in any way you like, but here's some inspiration:

The Card Grid

Next, you need to set up the cards in a grid, so they are displayed in a way suitable for the game to be played. You'll need some more pictures now!

Tips:

  1. You'll want to use an object to store the card details, such as an id, name, picture and more.

  2. You'll need to store multiple of these objects, and then traverse through them to display them in a grid.

  3. Each unique card will need to appear twice in the grid in a random order - think about doubling and shuffling your array to achieve this.

  4. Make sure all the cards are still flippable and animate as you implemented in the first step!

Here's some inspiration:

Counters and Timers

Now you need to add some of the core game functionality:

Tips:

  1. Revealing a card is not the same as a click! Your counter should incrememt with reveals.

Week 2 Milestone

Storing and Retrieving Your Cards

Up until now, your cards have been hardcoded in your app code. Instead, these should be stored in a database and fetched via an API which the frontend can use to retrieve and display them.

Tips:

  1. After these changes, your game should appear to the player to function just as it did before.

  2. Refer to your exercises from previous modules if you need a reminder on creating databases and APIs.

The Game Logic

The final step is to add the game logic, so it becomes a playable game!

Week 3 Milestone - Your own ideas!

Now your game is working, it's time to introduce your own features! Think of some improvements or changes to the game and implement it.

You should choose 3 features/improvements as a minimum to showcase as part of your project. But, you are welcome to add more and further polish your app to a high standard until you are super proud of it!

Some ideas for inspiration:

Last updated