#ifndef Bestenliste_H
#define Bestenliste_H

#include <Array.h>

using namespace Framework;

class Bestenliste
{
private:
	Array< int > *spielerPunkte;
	Array< int > *spielerNummern;
	Array< int > *teamPunkte;
	Array< int > *teamMaxPunkte;
	Array< int > *teamNummern;
	int spielerAnzahl;
	int teamAnzahl;
	int ref;

public:
	// Konstruktor
	Bestenliste();
	// Destruktor
	~Bestenliste();
	// nicht constant
	void setTeamMaxPunkte( int team, int mP );
	void setTeamPunkte( int team, int p );
	void setSpielerPunkte( int spieler, int p );
	void addTeamPunkt( int team, bool plus );
	void addSpielerPunkt( int spieler, bool plus );
	void neueRunde();
	// constant
	bool istTeamAmLeben( int team ) const;
	bool hatTeamGewonnen( int team ) const;
	int getTeamPunkte( int team ) const;
	int getTeamMaxPunkte( int team ) const;
	// Reference Counting
	Bestenliste *getThis();
	Bestenliste *release();
};

#endif