← Back to Projects

Random Card Generator

Goal

4Geeks Coding Projects tutorials and exercises for people learning to code or improving their coding skills

Difficulty

beginner

Repository

Click to open

Video

Click to open

Live demo

Not available

Average duration

4 hrs

Technologies

alt text Random Card Dealer in Javascript, HTML and CSS

In this project you will learn how to change your website styles during the runtime using VanillaJS (plain normal js).

πŸ“ Instructions

Create an algorithm that randomly builds a card on every refresh:

  1. Every time the website refreshes a new random card needs to show.

  2. The card must have one of the possible suits: Hearts, Spades, Clubs and Diamonds.

  3. The card value must be one of the following: 1 to 10, King, Queen, Jack or Ace, (no joker).

In the end, the project needs to look similar to this demo.

🌱 How to start this project

Do not clone this repository.

The first step to start coding is cloning the vanilla.js boilerplate on your local computer or gitpod.

a) If using Gitpod (recommended) you can clone the boilerplate by clicking here.

b) If working locally type the following command from your command line:

$ git clone https://github.com/4GeeksAcademy/vanillajs-hello.git

πŸ’‘ Important:

Remember to create a new repository, update the remote (git remote set-url origin <your new url>), and upload the code to your new repository using add, commit and push.

πŸ’‘ Hints

  • Remember that the first event of a website lifecycle is onLoad (your code starts running there). You should generate a random number between 1 and 4 to pick a suit and another random number between 0 and 12 to pick a card number.

  • Create a general .card class that applies the general styles to each card, and one additional CSS class for each suit: .spade, .club, .heart & .diamond.

  • Apply the .card class to the entire div but only apply one of the suit classes at a time, depending on what suit you want to apply. For example, a 3 of Hearts will have this HTML declaration:

<div class='card heart'></div>
  • You can grab the icons from here (copy and paste into your code): ♦ β™₯ β™  ♣

😎 Feeling Confident?

The following requirements are not needed to sucessfully finish this project, but you can try and challenge yourself!

+1 Add a button that generates a new card when clicked.

+1 Add a timer that generates a new card every 10 seconds.

+1 Allow the user to specify the card weight and height using text inputs.

Goal

4Geeks Coding Projects tutorials and exercises for people learning to code or improving their coding skills

Difficulty

beginner

Repository

Click to open

Live demo

Not available

Average duration

4 hrs

All rights reserved, 4Geeks LLC 2021. Read more about 4Geeks and what we are going here.