Bummer! You have been redirected as the page you requested could not be found.
Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed Basic Object-Oriented Python!
You have completed Basic Object-Oriented Python!
Preview
Creating the check for a winning game and other methods to our game class.
Accomplished in this Video
- Created a method to check if the cards at two given locations are a match
- Created a method to check if the game had been won by seeing if any card's matched attribute was still set to false
- Created a method to make sure the location the user gives exists in our grid
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
To recap,
we've put together the game class,
0:00
created cards and created the grid.
0:05
Now we need to check if two given
locations have matching cards.
0:11
Check if a game has been won.
0:17
And also check if the location of
player inputs is a valid input.
0:19
Let's start with checking for matches.
0:25
>> Let's call our method check match.
0:33
>> It'll take two locations.
0:38
These will be the location
guesses the player will input.
0:45
Let's create an empty list to hold
our two cards, since we'll need
0:49
to loop through our cards to find
the two that match the given locations.
0:54
For card and self dot cards
1:03
if card.location == loc1,
1:09
or card.location
1:15
== loc2. When the cards have
been found that match the locations,
1:20
we need to append it to our
list of cards.append(card).
1:27
Okay, now that we found the two cards,
we can check to see if they're a match.
1:34
If cards[0] == cards[1].
1:39
If they do, we need to set their matched
attribute to True and return True.
1:52
cards[0].matched = True.
1:59
cards[1].matched = True, return True.
2:11
If they don't match, then we need to
let the player know by printing out
2:19
the card and its location, since you
would be able to see the card and
2:24
where you got it when
playing the real game.
2:28
Then return False.
2:53
Nice work! Onwards, create a new
method named check_win.
3:00
It should loop through all of the cards.
3:15
If any cards' matched
attribute is still False.
3:23
We can return False because there's at
least one card who's matched attribute
3:32
is False, which means
the game hasn't been won.
3:39
Otherwise we can return True,
3:45
because none of the cards' matched
attributes are then False.
3:54
That method was a lot
smaller compared to the rest.
4:00
Nice work.
4:03
Now let's tackle player input to
make sure it's a correct location.
4:04
Let's call it check_location.
4:12
It'll take self and a time argument so we
know if this is the first or second guess.
4:19
Inside we're going to put a while loop, so
4:29
the player will continue to be
prompted for a location guess
4:32
until they provide one
that exists in our grid.
4:36
Then we need to get their input and
we can use the time
4:40
here to let the player
know what guess this is.
4:46
Now we can check if
the guess is in our locations.
5:10
I'm going to call upper on our guess
just to make sure we do get a match.
5:15
If it is a location, we can return it.
5:24
If not, then we need to let the player
know their guess isn't valid.
5:31
[BLANK AUDIO]
5:35
The only thing left is to build
the start_game method.
5:50
Take a minute to test out the methods
we've created on your own.
5:55
This is a great way to make sure you
know what the code is doing, and
5:59
to check that everything is
working the way it should.
6:03
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up