TheIronYard--Orlando / FEE--2015--SPRING

Class projects for the Front-End Engineering cohort of @TheIronYard--Orlando for Spring 2015
Creative Commons Zero v1.0 Universal
13 stars 6 forks source link

16 -- A Nice Game of Chess -- Sam Kauffman #198

Open sak55 opened 9 years ago

sak55 commented 9 years ago

Deliverables

sak55 commented 9 years ago

Requirements

Work in pairs or trios for this project. One person will create a new repository called TIY-Chessboard, then invite the others as collaborators, Each person must add work to feature/ branches and open Pull Requests to master that are reviewed by peers before being merged. All commits to master must be merge commits!

Process

There are a lot of moving parts in this assignment, so spend Thursday planning!. Plan the work out in "features" -- discrete chunks of functionality -- and estimate them; break down "features" into "tasks" -- bite-size pieces of a "feature". Anything larger than a Small should be broken down further. Write these down as the first issue in your new repo and link to it in your WIP Issue!

Prioritize your feature list according to difficulty and dependency. For example, you can't move pieces on a board until you have pieces. Go figure.

Write no code on Thursday!

Draw some diagrams of how the system will work. Collaborate on your old chessboard. Clean up any code you've already written or re-write it together. Build a model of the sytem with strips of paper. Come up with names for things. Just plan together...

Starting on Friday...

Divvy up the work by tasks and features. Create feature/ branches for your work. Name them collaboratively. Open PRs early so that others can see what you're working on. When you think you're finished with something, show it to your teammate(s), have them check out your branch (stashing or committing their changes first), and evaluate your progress. If you're working together, ask one of the other teams to take a look. Compare notes frequently with the others. This is not a competition.

Implementation

Turn your print(board) function into a toString(board) function that returns String rather than logging it. Replace the outerHTML of #chessboard with the result of toString(board) and ditch all that HTML!

Time to wire up the chessboard!

Make buttons across the bottom, side, or top that will increment the board through moves, which are stored as elements in an Array.

After each move, update the #chessboard. Start by just "refreshing" the outerHTML property. Yuck. What about just changing the classes on each cell instead?

Add buttons for "rewind" and "fast-forward"...

On "rewind", reset the JavaScript board and the #chessboard back to the starting position. On "fast-forward", apply all the remaining moves in rapid succession.

sak55 commented 9 years ago

First Issue. https://github.com/sak55/TIY-Chessboard/issues/1

sak55 commented 9 years ago

TeAm @sak55 @adamkarb repo https://github.com/sak55/TIY-Chessboard

LoganArnett commented 9 years ago

Looking for links back to your PR's, I can see you guys had quite a few which is great, good organization of features

adamkarb commented 9 years ago

@LoganArnett how dare you we had so many commits

sak55 commented 9 years ago

https://github.com/sak55/TIY-Chessboard