## Level 5 Practice

Level 5 Practice

### Required Projects

Warmup: Maxit
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: For getting neighboring squares in a grid, refer to the grid help page.
Warmup: Taxman
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: For determining if a number is a factor, use the remainder operator.
Easy: Ultimate Tic-tac-toe
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: For getting an element's ancestor, use parentElement or closest.
Hint: For getting an element's descendents, use children, querySelector, or querySelectorAll.
Easy: Connect Four
Template: Click this link, fork, and invite mrcodeswildride: new project
Medium: Mastermind
Template: Click this link, fork, and invite mrcodeswildride: new project
Medium: Video Poker
Template: Click this link, fork, and invite mrcodeswildride: new project
Note: Use this list of poker hands.
Hint: For making a deck of cards, make an object for each card.

### Optional Projects

Hard: 2048
Template: Click this link, fork, and invite mrcodeswildride: new project
Canvas Project: Graphing Tool
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: For moving, flipping, and magnifying the axes, use the translate and scale methods.
Hint: For evaluating the equation, use the eval function.
Video Game: Archery
Template: Click this link, fork, and invite mrcodeswildride: new project
Hint: For calculating an arrow's horizontal velocity, take the cosine of its angle.
Hint: For calculating an arrow's vertical velocity, take the sine of its angle.
Video Game: Lunar Lander
Template: Click this link, fork, and invite mrcodeswildride: new project