Complete the function game, which simulates a simple, turn-based game between two players and returns the winner (if there is one). The function takes four arguments: • m1 and m2 are strings representing the moves for players 1 and 2, respectively. • h1 and h2 are numbers that represent the starting health of players 1 and 2, respectively. Each character in a player's string represents a different action (Attack, Defend or Shield). Player actions and their respective character codes are described bellow: Character Code D B Action Attack Defend Block with Shield Taking Turns Each player can make one move per round. The players continue to move until they run out of moves or one (or both) players are knocked out. How much damage each player takes per round depends on the actions of the players: • If both players choose to Defend or Block (in any combination), neither player takes any damage. • If both players Attack, both players take 3 points of damage. • If a player is Defending and their opponent Attacks, the Defender takes 2 points of damage. • If a player Blocks (with the shield) and their opponent Attacks, the Blocker takes 1 point of damage. Return Value The game ends when one player is knocked out (health becomes ≤0), both players are knocked out, or both players run out of moves. • If Player 1 is not knocked out, but Player 2 is knocked out, the function returns P1, followed by the hit points of each player. (e.g., p1, 5, 0) • If Player 2 is not knocked out, but Player 1 is knocked out, the function returns P2, followed by the hit points of each player. (e.g., P2, -1, 8)

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
Complete the function game, which simulates a simple, turn-based game between two players and returns the winner (if there is one).
The function takes four arguments:
• m1 and m2 are strings representing the moves for players 1 and 2, respectively.
• h1 and h2 are numbers that represent the starting health of players 1 and 2, respectively.
Each character in a player's string represents a different action (Attack, Defend or Shield). Player actions and their respective character codes
are described bellow:
Character Code
A
D
B
Action
Attack
Defend
Block with Shield
Taking Turns
Each player can make one move per round. The players conti to move until they run out of moves or one (or both) players are knocked out.
How much damage each player takes per round depends on the actions of the players:
• If both players choose to Defend or Block (in any combination), neither player takes any damage.
• If both players Attack, both players take 3 points of damage.
• If a player is Defending and their opponent Attacks, the Defender takes 2 points of damage.
• If a player Blocks (with the shield) and their opponent Attacks, the Blocker takes 1 point of damage.
Return Value
The game ends when one player is knocked out (health becomes ≤0), both players are knocked out, or both players run out of moves.
If Player 1 is not knocked out, but Player 2 is knocked out, the function returns P1, followed by the hit points of each player. (e.g., P1, 5,
0)
If Player 2 is not knocked out, but Player 1 is knocked out, the function returns P2, followed by the hit points of each player. (e.g., P2, -1,
8)
• If the game ends before either player is knocked out, or if both players are knocked out, the function returns Tie, followed by the
remaining hit points of each player. (e.g., Tie, 3, 8 or Tie, -1, 0)
• If the players don't have the same number of moves in their respective strings, return Error.
Assumptions
• You may assume that the strings m1 and m2 only contain characters corresponding to valid actions.
Transcribed Image Text:Complete the function game, which simulates a simple, turn-based game between two players and returns the winner (if there is one). The function takes four arguments: • m1 and m2 are strings representing the moves for players 1 and 2, respectively. • h1 and h2 are numbers that represent the starting health of players 1 and 2, respectively. Each character in a player's string represents a different action (Attack, Defend or Shield). Player actions and their respective character codes are described bellow: Character Code A D B Action Attack Defend Block with Shield Taking Turns Each player can make one move per round. The players conti to move until they run out of moves or one (or both) players are knocked out. How much damage each player takes per round depends on the actions of the players: • If both players choose to Defend or Block (in any combination), neither player takes any damage. • If both players Attack, both players take 3 points of damage. • If a player is Defending and their opponent Attacks, the Defender takes 2 points of damage. • If a player Blocks (with the shield) and their opponent Attacks, the Blocker takes 1 point of damage. Return Value The game ends when one player is knocked out (health becomes ≤0), both players are knocked out, or both players run out of moves. If Player 1 is not knocked out, but Player 2 is knocked out, the function returns P1, followed by the hit points of each player. (e.g., P1, 5, 0) If Player 2 is not knocked out, but Player 1 is knocked out, the function returns P2, followed by the hit points of each player. (e.g., P2, -1, 8) • If the game ends before either player is knocked out, or if both players are knocked out, the function returns Tie, followed by the remaining hit points of each player. (e.g., Tie, 3, 8 or Tie, -1, 0) • If the players don't have the same number of moves in their respective strings, return Error. Assumptions • You may assume that the strings m1 and m2 only contain characters corresponding to valid actions.
Examples:
Function Call
game ('DBDDD', 'DBDBD', 2, 5)
game ('DBD', 'ABDB', 3, 3)
game ('DABDA', 'AABDA', 6, 7)
game ('AAAADD', 'DDAABA', 9, 9)
game ('AAAADD', 'DDAABA', 19, 23)
game ('ADAABADA', 'DAADADAA', 5, 5)
game ('AADAABADA', 'ADAADADAA', 6, 6)
game ('ABDAAADBBDAABDAB', 'ABDBADBAAAAAAADA', 18, 22)
game (DDBBDAAADBDBD', 'AAAAAAAADAAAA', 17, 12)
game ('DBADABAABAABADABA', 'ABDADBDBADABDADAB', 15, 9)
game ('DBADADDDDDDBADABA', 'ABDADBDBAAAAAAAAB 15,9)
"
I
Return Value
('Tie', 2, 5)
Error
('P2', -2, 1)
('P1', 3, -1)
('Tie', 11, 13)
('Tie', 0, 0)
('Tie', -2, -2)
('P2¹, -1, 7)
('P2', 0, 3)
('P1', 10, 0)
('P2¹, -1, 2)
Transcribed Image Text:Examples: Function Call game ('DBDDD', 'DBDBD', 2, 5) game ('DBD', 'ABDB', 3, 3) game ('DABDA', 'AABDA', 6, 7) game ('AAAADD', 'DDAABA', 9, 9) game ('AAAADD', 'DDAABA', 19, 23) game ('ADAABADA', 'DAADADAA', 5, 5) game ('AADAABADA', 'ADAADADAA', 6, 6) game ('ABDAAADBBDAABDAB', 'ABDBADBAAAAAAADA', 18, 22) game (DDBBDAAADBDBD', 'AAAAAAAADAAAA', 17, 12) game ('DBADABAABAABADABA', 'ABDADBDBADABDADAB', 15, 9) game ('DBADADDDDDDBADABA', 'ABDADBDBAAAAAAAAB 15,9) " I Return Value ('Tie', 2, 5) Error ('P2', -2, 1) ('P1', 3, -1) ('Tie', 11, 13) ('Tie', 0, 0) ('Tie', -2, -2) ('P2¹, -1, 7) ('P2', 0, 3) ('P1', 10, 0) ('P2¹, -1, 2)
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Datatypes
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education