school/cs142/lab10/ArenaInterface.h

57 lines
1.3 KiB
C++

#pragma once
#include <iostream>
#include <string>
#include <vector>
#include "FighterInterface.h"
using namespace std;
/*
WARNING: It is expressly forbidden to modify any part of this document, including its name
*/
class ArenaInterface
{
public:
ArenaInterface(){}
virtual ~ArenaInterface(){}
/*
addFighter(string)
Adds a new fighter to the collection of fighters in the arena. Do not allow
duplicate names. Reject any string that does not adhere to the format
outlined in the lab specs.
Return true if a new fighter was added; false otherwise.
*/
virtual bool addFighter(string info) = 0;
/*
removeFighter(string)
Removes the fighter whose name is equal to the given name. Does nothing if
no fighter is found with the given name.
Return true if a fighter is removed; false otherwise.
*/
virtual bool removeFighter(string name) = 0;
/*
getFighter(string)
Returns the memory address of a fighter whose name is equal to the given
name. Returns NULL if no fighter is found with the given name.
Return a memory address if a fighter is found; NULL otherwise.
*/
virtual FighterInterface* getFighter(string name) = 0;
/*
getSize()
Returns the number of fighters in the arena.
Return a non-negative integer.
*/
virtual int getSize() = 0;
};