Skip to content

BTBTravis/freecell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The project was created as part of a Technical Challenge from NGX Interactive

Goal: Create and implementation of classic Windows solitaire card game FreeCell

preview_gif_1

preview_gif_2

Progress

  • 4 “free cell” positions at top.
  • 4 “foundation” position to move cards to complete the game
  • 8 cascade columns
  • Welcome Screen
  • Play screen
  • End screen
    • I have yet to win a game ha but when I do I will build this out
  • Follow logic/rules of the classic game
  • Random deal to lay out cards in starting cascade columns
  • Clicking on “open” card in a column, will move to open ‘freecell’ if one is available
    • Currently clicking selects a card and then clicking again places the card
  • Ability to drag a single card to new legal position
    • Currently you move cards into legal positions via clicking to select then clicking to place
    • Dragging is a v2 feature
  • Cannot move card to illegal position
  • It must include some kind of JSON I/O. Show us how you would use JSON for external data.
    • FreeCell class includes a stateToJson method, state is console logged on scoring a card
  • All the source code and assets must be uploaded to public GitHub/Bitbucket account

Issues

Tech highlights

  • js object destructuring. Example in App.js
  • business logic separate from the view. FreeCell.js
  • held off bringing in state management library. No redux or mobx just react.

Possible Imporvments

  • unit tests for FreeCell.js
  • good opportunity for generative testing Ex. try moving every card to every possible location
  • adding prop-types would improve stability
  • add react dnd for dragging interaction

Releases

No releases published

Packages

No packages published