Skip to content
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

final project, previous commits not available because I cloned the wr… #25

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

AngelaPoland
Copy link

@AngelaPoland AngelaPoland commented Feb 14, 2018

…ong file.

Word Guess

Congratulations! You're submitting your assignment.

Comprehension Questions

Feature Feedback
How do you feel you and your partner did in sharing responsibilities? We tried to pair code in the beginning along the rules of a driver and navigator but after lot of hours we settled into doing more of our strengths to trudge forward. Victoria was better at the higher order logic and Angela was better at the fine detail, keyboarding, and piloting Atom.
For each partner what parts of the project did you find challenging? Thinking in tandem as a pair was difficult. We supplemented pair programming with chucks of individual processing time in between. AP - I found the trying to figure out the organization of all the methods and which classes they should go in difficult and longer to process.
Describe an instance where you used a method for something to encapsulate the functionality within your class. What does it do? What are its inputs and outputs? We created a method to replace the blanks that represented letters with the user's correctly-guessed letters. The input was an array of positions where the guess matched (created, of course, by another private method) and the output was a new version of the blanks, with correct-ly guessed letters in their proper positions.
Describe an instance where you used a local variable instead of an instance variable. Why did you make that choice? There were quite a few places where, to enhance readability, etc., we wound up assigning the output of a class method to a local variable, often so that it could be passed into something else with a minimum of fuss. That happened a great deal in the until loop that generated the guessing turns.
What code, if any, did you feel like you were duplicating more than necessary? This code is actually fairly DRY IMO (this is VEG talking), especially given how little refactoring time we ended up having. What I will say is that there are a few places where things I thought could be eliminated ended up causing errors when I removed them, and I'm not at all sure why. Given another four or so hours of free time, I would love to go in and try to untangle that. AP - I agree with V. I'll just add, we would love feedback if you do not agree and have suggestions.
Is there a specific piece of code you'd like feedback on? During testing, we were having issues with a statement repeatly printing the number of guesses the player had left. We eventually just took this statement out of the UI entirely and think it may have occurred on lines 127-30 and 178.

@CheezItMan
Copy link

Word-Guess Game

What We're Looking For

Feature Feedback
Baseline
Regular Commits with meaningful commit messages. No, because you originally cloned the wrong repo
Readable code with consistent indentation. Pretty good overall
Answered comprehension questions Check, It is important for you to switch and get comfortable with each role as you learn different things as driver and navigator.
Product Functionalities
Created a Class to encapsulate game functionality. Yes, although the same is a bit weird since it encapsulates all the game logic. It would be better to create multiple smaller classes rather than the huge game class you have. Still it works as needed.
Used methods to DRY up your code. Check
Created instance variables & local variables where appropriate. Check, you'll learn about constants this week and some of your instance variables would be better as constants.
Used Arrays to store lists of letters guessed. Check
Used variables & random numbers to allow the game to function with multiple words, no hard-coded answers. Check, nice work with .sample
Programmed "defensively" to detect errors in user input. You should "trap" user input in a loop to only accept valid entries. As it is, the user can enter numbers or punctuation instead of letters A-Z.
Overall nice work, I left some entries in your code. You hit all the primary requirements.




class Solution

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The class name here is not great. Objects made from this aren't solutions, they are tracking progress against a secret word. So maybe SecretWord or WordGuess would make sense. It's also mixing logic with gameplay features and output.


test_guess_record.get_number_of_guesses

#piranhas_needed = test_guess_record.get_number_of_guesses

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the reason this wasn't working is that it counts correct guesses

end

def replace_blank_with_successful_guess(identified_match_positions, user_guess)
original_guess_solution_array = @guess_solution_array

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is never used

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants