Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
CSSE1001/CSSE7030
1 Introduction
Loosely speaking, the engine of a game computes the state of the game whereas the graphical user
interface displays the state. For instance, in chess, change_position was part of the game engine
whereas print_board is part of the GUI.
For this assignment implement a (simplified) game engine for Pokemon battles. For those unfamiliar
with how Pokemon battles play out, a video example is provided here.1
. The extent to
which our engine differs from the real game is described in Section 3.
You are not developing a GUI because we have provided one (so you can play the game whose
engine you wrote).
You are required to implement a number of classes and their subsequent methods which are
described in Section 4. Any changes to these requirements will be listed in a changelog under the
Assignment 2 folder in Blackboard.
Your program’s output must match the expected output exactly; minor differences in output (such
as whitespace or casing) will cause tests to fail, resulting in zero marks for that test.
2 Getting Started
Download a2.zip from Blackboard — this archive contains the necessary files to start this assignment.
Once extracted, the a2.zip archive will provide the following files/directories:
a2.py
The game engine. This is the only file you submit and modify. Do not make changes to any
other files.
a2 support.py
Constants, functions, and classes you may find helpful for writing the engine. Read the
docstrings in order to understand how to use them in your solution.
game.py
If you wish, run this file to play the your Pokemon game.
battle view.py
Instruction for drawing the game to the screen.
1
data.py
Data about Pokemon, moves and trainers, used in the game.
images
A folder with images used by the battle view.
3 Gameplay
The general structure of a Pokemon battle is given in the next section, followed by a more in-depth
description of each component.