You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this project, you will use JavaScript to model a deck of playing cards. You'll also add functionality to it such as shuffling and dealing.
Shuffling Cards
Computers are notoriously bad at random numbers. This is a pretty deep and complex topic, but it's worth pointing out that most random numbers we use in computing are actually "pseudorandom". For this assignment, you will read about, then implement, a popular algorithm that shuffles the order of a finite set using JavaScript's built in Math.random() function as a pseudorandom number generator.
Objectives
Demonstrate usage of JavaScript objects and arrays to model resources
Understand and implement algorithms
Create an event-driven user interface
Requirements
Your deck should contain 52 unique cards.
All cards should be represented as as string such as "Ace of Hearts"
There are four suits: "Clubs", "Diamonds", "Hearts", and "Spades".
There are 13 ranks: "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", and "King".
You will model these in code, in any way you see fit. It may require you to experiment and try a number of techniques. There are many valid solutions. Your user interface should consist of a face-down deck, and a face-up "hand" of cards that have been dealt with.
Multiply that number by n. If we think of this random value as a percentage, multiplying these gives us a number that is some "percentage" of n. Their product is 8.4, or 42% of n.
We use Math.floor() to round down to the nearest whole number, i.e. 8.
Because we're rounding down, it's impossible to get 20. This will give us an integer between 0 and 19. This technique is perfect for finding a "random" index in an array of length n.
All Cards on Deck!
In this project, you will use JavaScript to model a deck of playing cards. You'll also add functionality to it such as shuffling and dealing.
Shuffling Cards
Computers are notoriously bad at random numbers. This is a pretty deep and complex topic, but it's worth pointing out that most random numbers we use in computing are actually "pseudorandom". For this assignment, you will read about, then implement, a popular algorithm that shuffles the order of a finite set using JavaScript's built in
Math.random()
function as a pseudorandom number generator.Objectives
Requirements
You will model these in code, in any way you see fit. It may require you to experiment and try a number of techniques. There are many valid solutions. Your user interface should consist of a face-down deck, and a face-up "hand" of cards that have been dealt with.
Read about, and implement the Fisher–Yates shuffle algorithm:
For our purposes,
n
is52
:Explorer Mode
Adventure Mode
Epic Mode
Additional Resources
A Hint on Random Numbers
This snippet will give you a random integer,
z
between0
andn
:Let's break this down from the inside out:
n
is20
.Math.random()
to generate a floating-point number between0
and1
. Let's assume our random value is0.42
.n
. If we think of this random value as a percentage, multiplying these gives us a number that is some "percentage" ofn
. Their product is8.4
, or 42% ofn
.Math.floor()
to round down to the nearest whole number, i.e.8
.Because we're rounding down, it's impossible to get
20
. This will give us an integer between0
and19
. This technique is perfect for finding a "random" index in an array of lengthn
.Slides
https://slides.com/markdewey-1/arrays-and-loops
The text was updated successfully, but these errors were encountered: