Update schedule.md #1085

Closed
MicFin opened this Issue Dec 21, 2017 · 8 comments

Comments

Projects
None yet
4 participants
@MicFin
Contributor

MicFin commented Dec 21, 2017

@MicFin MicFin added the enhancement label Dec 21, 2017

@Frinkiac-7

This comment has been minimized.

Frinkiac-7 commented Feb 12, 2018

That link returns a 404, mate. https://git.generalassemb.ly/wdi-bos-faculty/instructors/issues/104

@jordanallain

This comment has been minimized.

Contributor

jordanallain commented Jan 9, 2019

that's because you don't have access to it

@jordanallain

This comment has been minimized.

Contributor

jordanallain commented Feb 11, 2019

noticing a trend of people writing their JS first without thinking about how that JS has to interact with their HTML and also the API. I think we should mention in the schedule something to that effect because it sucks to get working JS logic that you have to basically completely re-do once you realize the API needs an array or your javascript has to be updated when someone clicks on the DOM.

@jordanallain

This comment has been minimized.

Contributor

jordanallain commented Feb 11, 2019

Here are some minor changes, shifted the javascript parts to after a bit of HTML to hopefully avoid developers needing to completely change their javascript code after initially getting it to work.

Planning

  1. Review game-project-scope-study
  2. User Stories
  3. Review project-planning-wireframes-practice
  4. Wire Frames

Set Up

  1. Download Browser Template
  2. Create a Github Repository
  3. Deploy to Github Pages

Game UI Round 1

  1. Design a simple game board
  2. Add a click handler for when a space on the game board is clicked
  3. If the user clicks on a valid space then add their X or O
  4. Do not allow users to add an X or O to an invalid space
  5. Do not allow users to add an X or O to any spaces after the game is over

Game Engine

  1. Create Empty Board in JS
  2. Create Current Player
  3. Add Current Player to Board
    • Current Player rotates between x and o
    • Can not choose already occupied spots
  4. Check Board for Winner

Game UI Round 2

  1. Update the game engine when the game board is updated
  2. Add messaging for the user when the turn changes
  3. Add messaging for the user when the user clicks on an invalid space
  4. Add messaging for the user when the game is over (win or draw)

Authentication

  1. Review api-token-auth
  2. Sign Up (curl then web app)
  3. Sign In (curl then web app)
  4. Change Password (curl then web app)
  5. Sign Out (curl then web page)
  6. All API calls have success or failure messages

Game API

  1. Review jquery-ajax-crud
  2. Create Game, start new game (curl then web app)
  3. Update Game, play the game (curl then web app)
  4. Get Games (curl then web app)

Final Touches

  1. README
  2. Troubleshoot/Debug
  3. Style
@caleb-pearce

This comment has been minimized.

Contributor

caleb-pearce commented Feb 11, 2019

Looks awesome. Couple super minor things I noticed:

Might want to put this one in round 2, since they won't know if the game is over in round 1:

Do not allow users to add an X or O to any spaces after the game is over

I might also rephrase "Create current player" to something like "keep track of current player", just so they don't think they need to make a new object to represent each player or something. Then, I might add a bullet to the "Game Engine" section that's something like "Store moves in JS representation of the board".

@jordanallain

This comment has been minimized.

Contributor

jordanallain commented Feb 11, 2019

Might want to put this one in round 2, since they won't know if the game is over in round 1:

### Game UI Round 2

1.  [ ] Update the game engine when the game board is updated
1.  [ ] Add messaging for the user when the turn changes
1.  [ ] Add messaging for the user when the user clicks on an invalid space
1.  [ ] Add messaging for the user when the game is over (win or draw)
1.  [ ] Do not allow users to add an X or O to any spaces after the game is over

I might also rephrase "Create current player" to something like "keep track of current player":

1.  [ ] Create a way to keep track of the current player

Then, I might add a bullet to the "Game Engine" section that's something like "Store moves in JS representation of the board":

1.  [ ] Add current player to your JavaScript representation of the board
    -  [ ] Current player rotates between x and o
    -  [ ] Can not choose already occupied spots
@jordanallain

This comment has been minimized.

Contributor

jordanallain commented Feb 11, 2019

howzat?

@caleb-pearce

This comment has been minimized.

Contributor

caleb-pearce commented Feb 11, 2019

Looks great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment