Computers and Technology

Part A: WOFPlayer We're going to start by defining a class to
represent a Wheel of Fortune player, called WOFPlayer. Every instance of WOFPlayer has three instance variables:
-.name: The name of the player (should be passed into the constructor)
-.prizeMoney: The amount of prize money for this player (an integer, initialized to 0)
-.prizes: The prizes this player has won so far (a list, initialized to [])Of these instance variables, only name should be passed into the constructor.
It should also have the following methods (note: we will exclude self in our descriptions):
-.addMoney(amt): Add amt to self. prizeMoney
-.goBankrupt(): Set self. prizeMoney to 0
-.addPrize(prize): Append prize to self. prizes
-.__str__(): Returns the player's name and prize money in the following format:
-Steve ($1800) (for a player with instance variables .name == 'Steve' and prizeMoney == 1800)
Part B: WOFHumanPlayer
Next, we're going to define a class named WOFHumanPlayer, which should inherit from WOFPlayer (part A). This class is going to represent a human player. In addition to having all of the instance variables and methods that WOFPlayer has, WOFHumanPlayer should have an additional method:
-.getMove(category, obscuredPhrase, guessed): Should ask the user to enter a move (using input()) and return whatever string they entered..getMove()'s prompt should be:
{name} has ${prizeMoney}
Category: {category}
Phrase: {obscured_phrase}
Guessed: {guessed}
Guess a letter, phrase, or type 'exit' or 'pass':
For example:
Steve has $200Category: Places
Phrase: _L___ER NN_L P_RK
Guessed: B, E, K, L, N, P, R, X, Z
Guess a letter, phrase, or type 'exit' or 'pass':
The user can then enter:
-'exit' to exit the game
-'pass' to skip their turn
-a single character to guess that letter
-a complete phrase (a multi-character phrase other than 'exit' or 'pass') to guess that phraseNote that .getMove() does not need to enforce anything about the user's input; that will be done via the game logic that we define in the next ActiveCode window.
Part C: WOFComputerPlayer
Finally, we're going to define a class named WOFComputerPlayer, which should inherit from WOFPlayer (part A) This class is going to represent a computer player.
Every computer player will have a difficulty instance variable. Players with a higher difficulty generally play "better". There are many ways to implement this. We'll do the following:
-If there aren't any possible letters to choose (for example: if the last character is a vowel but this player doesn't have enough to guess a vowel), we'll 'pass'
-Otherwise, semi-randomly decide whether to make a "good" move or a "bad" move on a given turn (a higher difficulty should make it more likely for the player to make a "good" move)
-To make a "bad" move, we'll randomly decide on a possible letter.
-To make a "good" move, we'll choose a letter according to their overall frequency in the English language. In addition to having all of the instance variables and methods that WOFPlayer has, WOFComputerPlayer should have:
Class variable
-.SORTED_FREQUENCIES: Should be set to '', which is a list of English characters sorted from least frequent ('Z') to most frequent ('E'). We'll use this when trying to make a "good" move. Additional Instance variable
-.difficulty: The level of difficulty for this computer (should be passed as the second argument into the constructor after .name)Methods
-.smartCoinFlip(): This method will help us decide semi-randomly whether to make a "good" or "bad" move. A higher difficulty should make us more likely to make a "good" move. Implement this by choosing a random number between 1 and 10 using random. randint(1, 10) (see above) and returning True if that random number is greater than self. difficulty. If the random number is less than or equal to self. difficulty, return False.
-.getPossibleLetters(guessed): This method should return a list of letters that can be guessed.
-These should be characters that are in LETTERS ('') but not in the guessed parameter.
-Additionally, if this player doesn't have enough prize money to guess a vowel (variable VOWEL_COST set to 250), then vowels (variable VOWELS set to 'AEIOU') should not be included
-.getMove(category, obscuredPhrase, guessed): Should return a valid move.
-Use the .getPossibleLetters(guessed) method described above.
-If there aren't any letters that can be guessed (this can happen if the only letters left to guess are vowels and the player doesn't have enough for vowels), return 'pass'
-Use the .smartCoinFlip() method to decide whether to make a "good" or a "bad" move
-If making a "good" move (.smartCoinFlip() returns True), then return the most frequent (highest index in SORTED_FREQUENCIES) possible character
-If making a "bad" move (.smartCoinFlip() returns False), then return a random character from the set of possible characters (use random. choice())

answer
Answers: 3

Other questions on the subject: Computers and Technology

image
Computers and Technology, 23.06.2019 01:20, shiann2002
Me with this program in c++ ! computers represent color by combining sub-colors red, green, and blue (rgb). each sub-color's value can range from 0 to 255. thus (255, 0, 0) is bright red. (130, 0, 130) is a medium purple. (0, 0, 0) is black, (255, 255, 255) is white, and (40, 40, 40) is a dark gray. (130, 50, 130) is a faded purple, due to the (50, 50, 50) gray part. (in other word, equal amounts of red, green, blue yield gray).given values for red, green, and blue, remove the gray part. ex: if the input is 130 50 130, the output is: 80 0 80. thus, find the smallest value, and then subtract it from all three values, thus removing the gray.
Answers: 3
image
Computers and Technology, 23.06.2019 12:00, deflox74
What does the level 1 topic in a word outline become in powerpoint? a. first-level bullet item b. slide title c. third-level bullet item d. second-level bullet item
Answers: 1
image
Computers and Technology, 24.06.2019 03:30, etxchrissy
What is the purpose of a computer network needs assessment? to analyze which workers need more training to improve their performance to compare worker productivity to determine what steps employees can take to increase company revenue to evaluate how to move from the current status to the desired goal
Answers: 2
image
Computers and Technology, 25.06.2019 10:40, phavion
If you're using the paintbrush tool and want to change the color of the paint being used what should you change
Answers: 2
Do you know the correct answer?
Part A: WOFPlayer We're going to start by defining a class to
represent a Wheel of Fortune pl...

Questions in other subjects:

Konu
Mathematics, 15.07.2020 17:01