CSC112 Spring 2016 Examples
/*1* File: alpacaFracasPack.h2* Purpose: This is a class for containing a pack of attack alapacas who will be3* fighting to the death in an alpaca fracas.4*/5#ifndef ALPACAFRACASPACK_H6#define ALPACAFRACASPACK_H7#include <vector>8#include "alpaca.h"9#define MAX_POINTS 60010#define MAX_ALPACAS 151112class AlpacaFracasPack13{14public:15AlpacaFracasPack();16~AlpacaFracasPack();1718//returns the name of the pack19virtual std::string name()=0;2021//Removes the first alpaca from the pack and returns it. Returns null if there is no alpaca22Alpaca *unload();2324//Adds an alpaca to the pack returns true on success and false if this alpaca would push25//the points limit over the max points ormax alpacas26bool load(Alpaca *a);2728//returns the number of remaining alpacas29int packSize();3031//returns the number of remaining power points in the pack32unsigned int power();3334//returns the power points at the time of pack creation35unsigned int originalPower();3637//allows access to the alpacas in the pack note that this does not return by reference.38//you cannot change the alpacas around!39Alpaca * operator[](unsigned int i);4041private:42std::vector<Alpaca*> alpacaList;43unsigned int packPower;44};4546#endif4748