{"action":"created","issue":{"url":"https://api.github.com/repos/TheIronYard--Orlando/FEE--2015--SPRING/issues/198","labels_url":"https://api.github.com/repos/TheIronYard--Orlando/FEE--2015--SPRING/issues/198/labels{/name}","comments_url":"https://api.github.com/repos/TheIronYard--Orlando/FEE--2015--SPRING/issues/198/comments","events_url":"https://api.github.com/repos/TheIronYard--Orlando/FEE--2015--SPRING/issues/198/events","html_url":"https://github.com/TheIronYard--Orlando/FEE--2015--SPRING/issues/198","id":55947366,"number":198,"title":"16 -- A Nice Game of Chess -- Sam Kauffman","user":{"login":"sak55","id":10141533,"avatar_url":"https://avatars.githubusercontent.com/u/10141533?v=3","gravatar_id":"","url":"https://api.github.com/users/sak55","html_url":"https://github.com/sak55","followers_url":"https://api.github.com/users/sak55/followers","following_url":"https://api.github.com/users/sak55/following{/other_user}","gists_url":"https://api.github.com/users/sak55/gists{/gist_id}","starred_url":"https://api.github.com/users/sak55/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sak55/subscriptions","organizations_url":"https://api.github.com/users/sak55/orgs","repos_url":"https://api.github.com/users/sak55/repos","events_url":"https://api.github.com/users/sak55/events{/privacy}","received_events_url":"https://api.github.com/users/sak55/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-01-29T19:50:05Z","updated_at":"2015-01-29T19:52:39Z","closed_at":null,"body":"## Deliverables\r\n\r\n* _WIP Issue:_ `16 -- A Nice Game of Chess` with:\r\n  * checkpoints, features, and estimates!\r\n  * link to the _team_ repo\r\n  * link to the first issue in the team repo\r\n* _WIP Branch:_ `TIY-Chessboard:master`\r\n  * a repository called `TIY-Chessboard`\r\n    * with everyone added as collaborators\r\n  * _multiple commits_ to `TIY-Chessboard:master` made by merging PRs _only_\r\n  * _multiple_ PRs in `TIY-Chessboard`\r\n    * from `feature/` branches to `master`\r\n    * containing multiple commits\r\n    * reviewed by team members\r\n  * Starting with HTML5 Boilerplate, modify:\r\n    * `css/main.css`\r\n    * `index.html`\r\n    * `js/main.js`\r\n* A fully-responsive chessboard with:\r\n  * labels for ranks and files\r\n  * pieces provided via unicode\r\n  * hover states for each piece (not empty squares)\r\n* A responsive interface that provides `<button>`'s for:\r\n  * playing the next move\r\n  * resetting the board\r\n  * playing _all remaining moves_ at once"},"comment":{"url":"https://api.github.com/repos/TheIronYard--Orlando/FEE--2015--SPRING/issues/comments/72092173","html_url":"https://github.com/TheIronYard--Orlando/FEE--2015--SPRING/issues/198#issuecomment-72092173","issue_url":"https://api.github.com/repos/TheIronYard--Orlando/FEE--2015--SPRING/issues/198","id":72092173,"user":{"login":"sak55","id":10141533,"avatar_url":"https://avatars.githubusercontent.com/u/10141533?v=3","gravatar_id":"","url":"https://api.github.com/users/sak55","html_url":"https://github.com/sak55","followers_url":"https://api.github.com/users/sak55/followers","following_url":"https://api.github.com/users/sak55/following{/other_user}","gists_url":"https://api.github.com/users/sak55/gists{/gist_id}","starred_url":"https://api.github.com/users/sak55/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sak55/subscriptions","organizations_url":"https://api.github.com/users/sak55/orgs","repos_url":"https://api.github.com/users/sak55/repos","events_url":"https://api.github.com/users/sak55/events{/privacy}","received_events_url":"https://api.github.com/users/sak55/received_events","type":"User","site_admin":false},"created_at":"2015-01-29T19:52:39Z","updated_at":"2015-01-29T19:52:39Z","body":"## Requirements\r\n\r\nWork in pairs or trios for this project. One person will create a _new_ repository called `TIY-Chessboard`, then [invite the others as collaborators](https://help.github.com/articles/adding-collaborators-to-a-personal-repository/), 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!_\r\n\r\n### Process\r\n\r\nThere 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_!\r\n\r\nPrioritize your feature list according to difficulty and dependency. For example, you can't move pieces on a board until you have pieces. Go figure.\r\n\r\n#### Write no code on Thursday!\r\n\r\nDraw 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..._\r\n\r\n#### Starting on Friday...\r\n\r\nDivvy 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._\r\n\r\n### Implementation\r\n\r\nTurn 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!\r\n\r\n#### Time to wire up the chessboard!\r\n\r\nMake buttons across the bottom, side, or top that will increment the board through moves, which are stored as elements in an `Array`.\r\n\r\nAfter each move, update the `#chessboard`. Start by just \"refreshing\" the `outerHTML` property. Yuck. What about just changing the classes on each cell instead?\r\n\r\n#### Add buttons for \"rewind\" and \"fast-forward\"...\r\n\r\nOn \"rewind\", reset the JavaScript `board` _and_ the `#chessboard` back to the starting position. On \"fast-forward\", apply all the _remaining_ moves in rapid succession.\r\n"}}