-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update I1 and I2 to have interaction patterns #165
base: gh-pages
Are you sure you want to change the base?
Conversation
…that they're working on
Co-authored-by: Erin Pintozzi <[email protected]>
|
||
When a user runs the command to start the game, they will see a welcome message, followed by an empty board. The board itself will represent empty spaces with periods and column names with a letter A-G. | ||
A Cell object represents the space where a chip could be placed on the Connect 4 board. We will be able to read its column letter and row number, as well as its display value. It will also have behavior to fill in the cell with a new value. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A Cell object represents the space where a chip could be placed on the Connect 4 board. We will be able to read its column letter and row number, as well as its display value. It will also have behavior to fill in the cell with a new value. | |
A `Cell` object represents the space where a chip could be placed on the Connect 4 board. We will be able to read its column letter and row number, as well as its display value. It will also have behavior to fill in the cell with a new value. |
....... | ||
....... | ||
....... | ||
The Cell class should follow this interaction pattern: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Cell class should follow this interaction pattern: | |
The `Cell` class should follow this interaction pattern: |
# => "." | ||
pry(main)> a1.filled? | ||
# => false | ||
pry(main)> a1.fill("X") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When calling Cell#fill
are we expecting it to return the value or just perform the fill and we can get the value with a call to Cell#value
? If it is the latter then the interaction pattern would need to be updated.
pry(main)> columns = {A: a_cells, B: b_cells, C: c_cells, D: d_cells, E: e_cells, F: f_cells, G: g_cells} | ||
pry(main)> board = Board.new(columns) | ||
pry(main)> board.place_chip("A", "X") | ||
pry(main)> board.render_board |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this and the following board.render_board
calls are meant to be board.render
to match I1.
#<Cell:0x0000000130333278 @column="E", @filled=false, @placement="E4", @row=4, @value=".">, | ||
#<Cell:0x0000000130332be8 @column="E", @filled=false, @placement="E5", @row=5, @value=".">, | ||
#<Cell:0x0000000130332558 @column="E", @filled=false, @placement="E6", @row=6, @value=".">] | ||
pry(main)> board.diagonal_for(c3) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question about Board#diagonal_for
... is it only expected that this method returns diagonals from top left to bottom right and not bottom left to top right?
Since we're planning to use the old version without the interaction pattern as the "challenge" project in Mod 1 this inning, I'm wondering if it makes sense to create a "spin-off" project maybe whenever this is merged? Similar to how we created Viewing Party Lite and kept the original Viewing Party intact in Mod 3. Thoughts on the best way to handle this? |
Backend Curriculum PR Template
Description
In this PR, I've updated I1 and I2 of connect four to have an interaction pattern for students to follow.
Why are we making this update?
In the past, when we've given students this connect four project without any interaction pattern, they struggled in areas that we didn't need them to struggle on yet. For example, they would spend days trying to figure out how to get the board to render. With this change, I hope that students can focus on developing their TDD and basic ruby skills in the first two iterations, and THEN focus on their own problem solving in ITeration 3.
Type of update
How will we measure the success of this change?
Via check ins during projects, and weekly surveys. In past weekly surveys when we had the old version of this project, we had a lot of feedback around not even knowing where to start. My hope is that students will express less of a struggle around starting the project.
What questions do you have/what do you want feedback on? (optional)
I'm not quite ready to merge this, but I wanted to put this up so that we all could look at it, maybe try it out, and consider if it's written well enough for students to understand how to get started on the project.