Constants class Add the following constants int ONE = 0 int TWO = 1 int NUM_PLAY
ID: 3907822 • Letter: C
Question
Constants class
Add the following constants
int>
int TWO = 1
int NUM_PLAYERS = 4
int DEAL_ONE = 2
int DEAL_TWO = 3
core package
AiPlayer class
Card class
Deck class
Update class to
If not already included, generate getter/setter for member variable of data type Set that represents the deck of cards for the game
Game class
Update class to
Modify member variable named trump to be of data type class Card instead of enumeration Suit
Add member variable of data type class ArrayList specifically to only allow for instances of class Player that represents the game table layout (i.e. players of the game Euchre are set up so that team members sit across from each other, therefore the deal would be similar to TeamOne.PlayerOne, TeamTwo.PlayerOne, TeamOne.PlayerTwo, TeamTwo.PlayerTwo depending upon who the dealer is)
Add member variable of data type int to represent an integer index of the current dealer based on the table layout
Add member variable of data type int to represent an integer index of the lead player based on the table layout
setTable
dealHand
displayHands
Return type void
Empty parameter list
Instantiate the member variable that represents the player table that is of data type ArrayList
Instantiate two instances of class Team set equal to each instance of class Team stored in the member variable of data type class ArrayList specifically of data type class Team
Instantiate four instances of class Player set equal to each instance of class Player stored in the member variable in class Team of data type class ArrayList of data type class Player
(i.e. players of the game Euchre are set up so that team members sit across from each other, therefore the deal would be similar to TeamOne.PlayerOne, TeamTwo.PlayerTwo, TeamOne.PlayerTwo, TeamTwo.PlayerTwo depending upon who the dealer is)
There should be an instance of class Player that represents TeamOne, PlayerOne
There should be an instance of class Player that represents TeamOne, PlayerTwo
There should be an instance of class Player that represents TeamTwo, PlayerOne
There should be an instance of class Player that represents TeamTwo, PlayerTwo
Explicitly add each player to the member variable that represents the game table, from above in an alternating pattern so that a player from TeamOne is added, followed by a player from TeamTwo, followed by a player from TeamOne, followed by a player from TeamTwo; this requires using the method signature of class ArrayList.add that requires two arguments; the first argument is the position in the ArrayList (i.e. 0, 1, 2, 3), the second argument is the object of data type class Player (e.g. table.add(0, teamOnePlayerOne)
Instantiate an instance of class Random
Set the member variable of primitive data type int that will represent a random integer of four players to determine who the initial dealer of the game is set equal to the method call .nextInt passing as an argument the value of the number of players in the game (i.e. four)
Set the member variable that represents the current dealer equal to the randomly selected value from item f. above using the .get method in class ArrayList on the member variable that represents the Euchre table
Return type void
Empty parameter list
Call method setDealerAndLead
Create a local variable of data type int to represent the current player index initialized to the leadIdx member variable
Create a local variable of data type class Iterator explicitly only allowing for members of class Card set equal to member variable deck, calling method getDeck followed by method getIterator
Call method dealOne passing as arguments the variables player index and the iterator
If the current player value is greater than 3, reset the variable to the value of 0; otherwise increment the current player
Call method dealTwo passing as arguments the variables player index and the iterator
If the current player value is greater than 3, reset the variable to the value of 0; otherwise increment the current player
Set the member variable trump equal to the next card on the deck
Return type void
Data type int representing the current player index
Data type Iterator representing the iterator
Instantiate an instance of class Card set equal to method call next on the parameter iterator
Outputs to the console the dealt card and the player it was dealt to
Adds the card to the player’s hand by calling method getHand followed by method add, on the player instance stored at the parameter index location of member variable table
Remove the current card from the HashSet using method call remove
Return type void
Data type int representing the current player index
Data type Iterator representing the iterator
Instantiate an instance of class Card set equal to method call next on the parameter iterator
Outputs to the console the dealt card and the player it was dealt to
Adds the card to the player’s hand by calling method getHand followed by method add, on the player instance stored at the parameter index location of member variable table
Remove the current card from the HashSet using method call remove
Call method outputHands in class Team
HumanPlayer class
IPlayer interface
Player class
Update class to
Add member variable of data type class ArrayList specifically only allowing for instances of class Card that represents the player’s hand
Generate getter/setter for the member variable above representing the player’s hand
Receives no parameters
Instantiates the member variable of type ArrayList representing the player’s hand
Return type void
Empty parameter list
Output to the console the face and suit of each card in the player’s hand
Team class
Update class to
If it isn’t already included, add member variable of data type class String to represent the team’s name
Generate getter/setter for member variable representing the team’s name
Return type void
Empty parameter list
Call method outputHands for each player
Constants class
Add the following constants
int>
int TWO = 1
int NUM_PLAYERS = 4
int DEAL_ONE = 2
int DEAL_TWO = 3
core package
AiPlayer class
Card class
Deck class
Update class to
If not already included, generate getter/setter for member variable of data type Set that represents the deck of cards for the game
Game class
Update class to
Add member variablesModify member variable named trump to be of data type class Card instead of enumeration Suit
Add member variable of data type class ArrayList specifically to only allow for instances of class Player that represents the game table layout (i.e. players of the game Euchre are set up so that team members sit across from each other, therefore the deal would be similar to TeamOne.PlayerOne, TeamTwo.PlayerOne, TeamOne.PlayerTwo, TeamTwo.PlayerTwo depending upon who the dealer is)
Add member variable of data type int to represent an integer index of the current dealer based on the table layout
Add member variable of data type int to represent an integer index of the lead player based on the table layout
Update custom constructor to call methods AFTER existing method callssetTable
dealHand
displayHands
Write method setTable to do the following:Return type void
Empty parameter list
Instantiate the member variable that represents the player table that is of data type ArrayList
Instantiate two instances of class Team set equal to each instance of class Team stored in the member variable of data type class ArrayList specifically of data type class Team
Instantiate four instances of class Player set equal to each instance of class Player stored in the member variable in class Team of data type class ArrayList of data type class Player
(i.e. players of the game Euchre are set up so that team members sit across from each other, therefore the deal would be similar to TeamOne.PlayerOne, TeamTwo.PlayerTwo, TeamOne.PlayerTwo, TeamTwo.PlayerTwo depending upon who the dealer is)
There should be an instance of class Player that represents TeamOne, PlayerOne
There should be an instance of class Player that represents TeamOne, PlayerTwo
There should be an instance of class Player that represents TeamTwo, PlayerOne
There should be an instance of class Player that represents TeamTwo, PlayerTwo
Explicitly add each player to the member variable that represents the game table, from above in an alternating pattern so that a player from TeamOne is added, followed by a player from TeamTwo, followed by a player from TeamOne, followed by a player from TeamTwo; this requires using the method signature of class ArrayList.add that requires two arguments; the first argument is the position in the ArrayList (i.e. 0, 1, 2, 3), the second argument is the object of data type class Player (e.g. table.add(0, teamOnePlayerOne)
Write method setDealerAndLead to do the followingInstantiate an instance of class Random
Set the member variable of primitive data type int that will represent a random integer of four players to determine who the initial dealer of the game is set equal to the method call .nextInt passing as an argument the value of the number of players in the game (i.e. four)
Set the member variable that represents the current dealer equal to the randomly selected value from item f. above using the .get method in class ArrayList on the member variable that represents the Euchre table
Write method dealHand to do the followingReturn type void
Empty parameter list
Call method setDealerAndLead
Create a local variable of data type int to represent the current player index initialized to the leadIdx member variable
Create a local variable of data type class Iterator explicitly only allowing for members of class Card set equal to member variable deck, calling method getDeck followed by method getIterator
For the first deal of two cards each, loop through the number of playersCall method dealOne passing as arguments the variables player index and the iterator
If the current player value is greater than 3, reset the variable to the value of 0; otherwise increment the current player
For the second deal of three cards each, loop through the number of playersCall method dealTwo passing as arguments the variables player index and the iterator
If the current player value is greater than 3, reset the variable to the value of 0; otherwise increment the current player
Set the member variable trump equal to the next card on the deck
Write method dealOne so it does the followingReturn type void
Receives two parametersData type int representing the current player index
Data type Iterator representing the iterator
Loops twiceChecks if the iterator has a next CardInstantiate an instance of class Card set equal to method call next on the parameter iterator
Outputs to the console the dealt card and the player it was dealt to
Adds the card to the player’s hand by calling method getHand followed by method add, on the player instance stored at the parameter index location of member variable table
Remove the current card from the HashSet using method call remove
Write method dealTwo so it does the followingReturn type void
Receives two parametersData type int representing the current player index
Data type Iterator representing the iterator
Loops thriceChecks if the iterator has a next CardInstantiate an instance of class Card set equal to method call next on the parameter iterator
Outputs to the console the dealt card and the player it was dealt to
Adds the card to the player’s hand by calling method getHand followed by method add, on the player instance stored at the parameter index location of member variable table
Remove the current card from the HashSet using method call remove
Write method displayHands to do the followingLoops through the game teamsCall method outputHands in class Team
HumanPlayer class
IPlayer interface
Player class
Update class to
Add member variable of data type class ArrayList specifically only allowing for instances of class Card that represents the player’s hand
Generate getter/setter for the member variable above representing the player’s hand
Write a customer constructor thatReceives no parameters
Instantiates the member variable of type ArrayList representing the player’s hand
Write method displayHandReturn type void
Empty parameter list
Using an enhanced for loop, loop through the hand of the playerOutput to the console the face and suit of each card in the player’s hand
Team class
Update class to
If it isn’t already included, add member variable of data type class String to represent the team’s name
Generate getter/setter for member variable representing the team’s name
Write method outputHandsReturn type void
Empty parameter list
Using an enhanced for loop, loop through the collection of class TeamCall method outputHands for each player
Explanation / Answer
C#:
Java: