|
@@ -9,615 +9,615 @@
|
|
|
|
|
|
// Inhalt der VideoBLSpieler Klasse aus VideoBestenliste.h
|
|
// Inhalt der VideoBLSpieler Klasse aus VideoBestenliste.h
|
|
// Konstruktor
|
|
// Konstruktor
|
|
-VideoBLSpieler::VideoBLSpieler( int sNum, int farbe, UIInit &uiFactory )
|
|
|
|
- : ReferenceCounter()
|
|
|
|
-{
|
|
|
|
- this->sNum = sNum;
|
|
|
|
- this->farbe = farbe;
|
|
|
|
- p = 0;
|
|
|
|
- nP = 0;
|
|
|
|
-
|
|
|
|
- rahmen = new LRahmen();
|
|
|
|
- rahmen->setFarbe( farbe );
|
|
|
|
- rahmen->setRamenBreite( 1 );
|
|
|
|
- rahmen->setSize( 400, 20 );
|
|
|
|
-
|
|
|
|
- name = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- name->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- name->setSchriftFarbe( farbe );
|
|
|
|
- name->setSize( 100, 20 );
|
|
|
|
- name->setPosition( 0, 0 );
|
|
|
|
- name->setText( "" );
|
|
|
|
-
|
|
|
|
- punkte = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- punkte->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- punkte->setSchriftFarbe( farbe );
|
|
|
|
- punkte->setSize( 100, 20 );
|
|
|
|
- punkte->setPosition( 100, 0 );
|
|
|
|
- punkte->setText( "" );
|
|
|
|
-
|
|
|
|
- neuPunkte = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- neuPunkte->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- neuPunkte->setSchriftFarbe( farbe );
|
|
|
|
- neuPunkte->setSize( 100, 20 );
|
|
|
|
- neuPunkte->setPosition( 200, 0 );
|
|
|
|
- neuPunkte->setText( "" );
|
|
|
|
-
|
|
|
|
- status = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- status->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- status->setSchriftFarbe( 0xFF00FF00 );
|
|
|
|
- status->setSize( 100, 20 );
|
|
|
|
- status->setPosition( 300, 0 );
|
|
|
|
- status->setText( "lebt" );
|
|
|
|
-
|
|
|
|
- rundenNP = new Array< int >();
|
|
|
|
- runde = 0;
|
|
|
|
|
|
+VideoBLSpieler::VideoBLSpieler(int sNum, int farbe, UIInit& uiFactory)
|
|
|
|
+ : ReferenceCounter()
|
|
|
|
+{
|
|
|
|
+ this->sNum = sNum;
|
|
|
|
+ this->farbe = farbe;
|
|
|
|
+ p = 0;
|
|
|
|
+ nP = 0;
|
|
|
|
+
|
|
|
|
+ rahmen = new LRahmen();
|
|
|
|
+ rahmen->setFarbe(farbe);
|
|
|
|
+ rahmen->setRamenBreite(1);
|
|
|
|
+ rahmen->setSize(400, 20);
|
|
|
|
+
|
|
|
|
+ name = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ name->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ name->setSchriftFarbe(farbe);
|
|
|
|
+ name->setSize(100, 20);
|
|
|
|
+ name->setPosition(0, 0);
|
|
|
|
+ name->setText("");
|
|
|
|
+
|
|
|
|
+ punkte = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ punkte->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ punkte->setSchriftFarbe(farbe);
|
|
|
|
+ punkte->setSize(100, 20);
|
|
|
|
+ punkte->setPosition(100, 0);
|
|
|
|
+ punkte->setText("");
|
|
|
|
+
|
|
|
|
+ neuPunkte = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ neuPunkte->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ neuPunkte->setSchriftFarbe(farbe);
|
|
|
|
+ neuPunkte->setSize(100, 20);
|
|
|
|
+ neuPunkte->setPosition(200, 0);
|
|
|
|
+ neuPunkte->setText("");
|
|
|
|
+
|
|
|
|
+ status = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ status->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ status->setSchriftFarbe(0xFF00FF00);
|
|
|
|
+ status->setSize(100, 20);
|
|
|
|
+ status->setPosition(300, 0);
|
|
|
|
+ status->setText("lebt");
|
|
|
|
+
|
|
|
|
+ rundenNP = new Array< int >();
|
|
|
|
+ runde = 0;
|
|
}
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
// Destruktor
|
|
VideoBLSpieler::~VideoBLSpieler()
|
|
VideoBLSpieler::~VideoBLSpieler()
|
|
{
|
|
{
|
|
- rahmen->release();
|
|
|
|
- name->release();
|
|
|
|
- punkte->release();
|
|
|
|
- neuPunkte->release();
|
|
|
|
- status->release();
|
|
|
|
- rundenNP->release();
|
|
|
|
|
|
+ rahmen->release();
|
|
|
|
+ name->release();
|
|
|
|
+ punkte->release();
|
|
|
|
+ neuPunkte->release();
|
|
|
|
+ status->release();
|
|
|
|
+ rundenNP->release();
|
|
}
|
|
}
|
|
|
|
|
|
// nicht constant
|
|
// nicht constant
|
|
-bool VideoBLSpieler::updateStatus( VideoSpieler *zSpieler )
|
|
|
|
-{
|
|
|
|
- if( sNum != zSpieler->getSpielerNummer() )
|
|
|
|
- return 0;
|
|
|
|
- if( zSpieler->istAmLeben() )
|
|
|
|
- {
|
|
|
|
- status->setSchriftFarbe( 0xFF00FF00 );
|
|
|
|
- status->setText( "lebt" );
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- status->setSchriftFarbe( 0xFFFF0000 );
|
|
|
|
- status->setText( "tot" );
|
|
|
|
- }
|
|
|
|
- name->setText( zSpieler->zName()->getText() );
|
|
|
|
- return 1;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLSpieler::setPunkte( int p )
|
|
|
|
-{
|
|
|
|
- this->p = p;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLSpieler::addPunkt( bool plus )
|
|
|
|
-{
|
|
|
|
- if( plus )
|
|
|
|
- nP++;
|
|
|
|
- else
|
|
|
|
- nP--;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLSpieler::updatePunkte( bool vorwärts )
|
|
|
|
-{
|
|
|
|
- if( vorwärts )
|
|
|
|
- {
|
|
|
|
- p += nP;
|
|
|
|
- rundenNP->set( nP, runde );
|
|
|
|
- nP = 0;
|
|
|
|
- runde++;
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- runde--;
|
|
|
|
- nP = rundenNP->get( runde );
|
|
|
|
- p -= nP;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLSpieler::render( int y, Bild &zRObj )
|
|
|
|
-{
|
|
|
|
- if( !zRObj.setDrawOptions( 1, y, rahmen->getBreite(), rahmen->getHeight() ) )
|
|
|
|
- return;
|
|
|
|
- punkte->setText( "" );
|
|
|
|
- if( nP == 0 )
|
|
|
|
- {
|
|
|
|
- neuPunkte->setText( "" );
|
|
|
|
- neuPunkte->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
|
- }
|
|
|
|
- else if( nP > 0 )
|
|
|
|
- {
|
|
|
|
- neuPunkte->setText( "+" );
|
|
|
|
- neuPunkte->setSchriftFarbe( 0xFF00FF00 );
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- neuPunkte->setText( "" );
|
|
|
|
- neuPunkte->setSchriftFarbe( 0xFFFF0000 );
|
|
|
|
- }
|
|
|
|
- punkte->zText()->append( p > 0 ? p : 0 );
|
|
|
|
- neuPunkte->zText()->append( nP );
|
|
|
|
- rahmen->render( zRObj );
|
|
|
|
- name->render( zRObj );
|
|
|
|
- punkte->render( zRObj );
|
|
|
|
- neuPunkte->render( zRObj );
|
|
|
|
- status->render( zRObj );
|
|
|
|
- zRObj.releaseDrawOptions();
|
|
|
|
|
|
+bool VideoBLSpieler::updateStatus(VideoSpieler* zSpieler)
|
|
|
|
+{
|
|
|
|
+ if (sNum != zSpieler->getSpielerNummer())
|
|
|
|
+ return 0;
|
|
|
|
+ if (zSpieler->istAmLeben())
|
|
|
|
+ {
|
|
|
|
+ status->setSchriftFarbe(0xFF00FF00);
|
|
|
|
+ status->setText("lebt");
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ status->setSchriftFarbe(0xFFFF0000);
|
|
|
|
+ status->setText("tot");
|
|
|
|
+ }
|
|
|
|
+ name->setText(zSpieler->zName()->getText());
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLSpieler::setPunkte(int p)
|
|
|
|
+{
|
|
|
|
+ this->p = p;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLSpieler::addPunkt(bool plus)
|
|
|
|
+{
|
|
|
|
+ if (plus)
|
|
|
|
+ nP++;
|
|
|
|
+ else
|
|
|
|
+ nP--;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLSpieler::updatePunkte(bool vorwärts)
|
|
|
|
+{
|
|
|
|
+ if (vorwärts)
|
|
|
|
+ {
|
|
|
|
+ p += nP;
|
|
|
|
+ rundenNP->set(nP, runde);
|
|
|
|
+ nP = 0;
|
|
|
|
+ runde++;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ runde--;
|
|
|
|
+ nP = rundenNP->get(runde);
|
|
|
|
+ p -= nP;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLSpieler::render(int y, Bild& zRObj)
|
|
|
|
+{
|
|
|
|
+ if (!zRObj.setDrawOptions(1, y, rahmen->getBreite(), rahmen->getHeight()))
|
|
|
|
+ return;
|
|
|
|
+ punkte->setText("");
|
|
|
|
+ if (nP == 0)
|
|
|
|
+ {
|
|
|
|
+ neuPunkte->setText("");
|
|
|
|
+ neuPunkte->setSchriftFarbe(0xFFFFFFFF);
|
|
|
|
+ }
|
|
|
|
+ else if (nP > 0)
|
|
|
|
+ {
|
|
|
|
+ neuPunkte->setText("+");
|
|
|
|
+ neuPunkte->setSchriftFarbe(0xFF00FF00);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ neuPunkte->setText("");
|
|
|
|
+ neuPunkte->setSchriftFarbe(0xFFFF0000);
|
|
|
|
+ }
|
|
|
|
+ punkte->zText()->append(p > 0 ? p : 0);
|
|
|
|
+ neuPunkte->zText()->append(nP);
|
|
|
|
+ rahmen->render(zRObj);
|
|
|
|
+ name->render(zRObj);
|
|
|
|
+ punkte->render(zRObj);
|
|
|
|
+ neuPunkte->render(zRObj);
|
|
|
|
+ status->render(zRObj);
|
|
|
|
+ zRObj.releaseDrawOptions();
|
|
}
|
|
}
|
|
|
|
|
|
// constant
|
|
// constant
|
|
int VideoBLSpieler::getSpielerNummer() const
|
|
int VideoBLSpieler::getSpielerNummer() const
|
|
{
|
|
{
|
|
- return sNum;
|
|
|
|
|
|
+ return sNum;
|
|
}
|
|
}
|
|
|
|
|
|
int VideoBLSpieler::getPunkte() const
|
|
int VideoBLSpieler::getPunkte() const
|
|
{
|
|
{
|
|
- return p + nP;
|
|
|
|
|
|
+ return p + nP;
|
|
}
|
|
}
|
|
|
|
|
|
// Inhalt der VideoBLTeam Klasse aus VideoBestenliste.h
|
|
// Inhalt der VideoBLTeam Klasse aus VideoBestenliste.h
|
|
// Konstruktor
|
|
// Konstruktor
|
|
-VideoBLTeam::VideoBLTeam( int id, int farbe, UIInit &uiFactory, char *n )
|
|
|
|
- : ReferenceCounter()
|
|
|
|
-{
|
|
|
|
- teamId = id;
|
|
|
|
- spielerAnzahl = 0;
|
|
|
|
- p = 0;
|
|
|
|
- mP = 0;
|
|
|
|
- nP = 0;
|
|
|
|
- this->farbe = farbe;
|
|
|
|
- this->uiFactory = uiFactory;
|
|
|
|
-
|
|
|
|
- rahmen = new LRahmen();
|
|
|
|
- rahmen->setFarbe( farbe );
|
|
|
|
- rahmen->setRamenBreite( 1 );
|
|
|
|
-
|
|
|
|
- spieler = new RCArray< VideoBLSpieler >();
|
|
|
|
-
|
|
|
|
- name = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- name->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- name->setSchriftFarbe( farbe );
|
|
|
|
- name->setSize( 100, 20 );
|
|
|
|
- name->setPosition( 0, 0 );
|
|
|
|
- name->setText( n );
|
|
|
|
-
|
|
|
|
- punkte = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- punkte->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- punkte->setSchriftFarbe( farbe );
|
|
|
|
- punkte->setSize( 100, 20 );
|
|
|
|
- punkte->setPosition( 100, 0 );
|
|
|
|
- punkte->setText( "" );
|
|
|
|
-
|
|
|
|
- neuPunkte = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- neuPunkte->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- neuPunkte->setSchriftFarbe( farbe );
|
|
|
|
- neuPunkte->setSize( 100, 20 );
|
|
|
|
- neuPunkte->setPosition( 200, 0 );
|
|
|
|
- neuPunkte->setText( "" );
|
|
|
|
-
|
|
|
|
- status = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- status->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- status->setSchriftFarbe( 0xFF00FF00 );
|
|
|
|
- status->setSize( 100, 20 );
|
|
|
|
- status->setPosition( 300, 0 );
|
|
|
|
- status->setText( "lebt" );
|
|
|
|
-
|
|
|
|
- rundenNP = new Array< int >();
|
|
|
|
- runde = 0;
|
|
|
|
|
|
+VideoBLTeam::VideoBLTeam(int id, int farbe, UIInit& uiFactory, const char* n)
|
|
|
|
+ : ReferenceCounter()
|
|
|
|
+{
|
|
|
|
+ teamId = id;
|
|
|
|
+ spielerAnzahl = 0;
|
|
|
|
+ p = 0;
|
|
|
|
+ mP = 0;
|
|
|
|
+ nP = 0;
|
|
|
|
+ this->farbe = farbe;
|
|
|
|
+ this->uiFactory = uiFactory;
|
|
|
|
+
|
|
|
|
+ rahmen = new LRahmen();
|
|
|
|
+ rahmen->setFarbe(farbe);
|
|
|
|
+ rahmen->setRamenBreite(1);
|
|
|
|
+
|
|
|
|
+ spieler = new RCArray< VideoBLSpieler >();
|
|
|
|
+
|
|
|
|
+ name = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ name->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ name->setSchriftFarbe(farbe);
|
|
|
|
+ name->setSize(100, 20);
|
|
|
|
+ name->setPosition(0, 0);
|
|
|
|
+ name->setText(n);
|
|
|
|
+
|
|
|
|
+ punkte = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ punkte->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ punkte->setSchriftFarbe(farbe);
|
|
|
|
+ punkte->setSize(100, 20);
|
|
|
|
+ punkte->setPosition(100, 0);
|
|
|
|
+ punkte->setText("");
|
|
|
|
+
|
|
|
|
+ neuPunkte = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ neuPunkte->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ neuPunkte->setSchriftFarbe(farbe);
|
|
|
|
+ neuPunkte->setSize(100, 20);
|
|
|
|
+ neuPunkte->setPosition(200, 0);
|
|
|
|
+ neuPunkte->setText("");
|
|
|
|
+
|
|
|
|
+ status = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ status->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ status->setSchriftFarbe(0xFF00FF00);
|
|
|
|
+ status->setSize(100, 20);
|
|
|
|
+ status->setPosition(300, 0);
|
|
|
|
+ status->setText("lebt");
|
|
|
|
+
|
|
|
|
+ rundenNP = new Array< int >();
|
|
|
|
+ runde = 0;
|
|
}
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
// Destruktor
|
|
VideoBLTeam::~VideoBLTeam()
|
|
VideoBLTeam::~VideoBLTeam()
|
|
{
|
|
{
|
|
- rahmen->release();
|
|
|
|
- spieler->release();
|
|
|
|
- name->release();
|
|
|
|
- punkte->release();
|
|
|
|
- neuPunkte->release();
|
|
|
|
- status->release();
|
|
|
|
- rundenNP->release();
|
|
|
|
|
|
+ rahmen->release();
|
|
|
|
+ spieler->release();
|
|
|
|
+ name->release();
|
|
|
|
+ punkte->release();
|
|
|
|
+ neuPunkte->release();
|
|
|
|
+ status->release();
|
|
|
|
+ rundenNP->release();
|
|
}
|
|
}
|
|
|
|
|
|
// nicht constant
|
|
// nicht constant
|
|
-bool VideoBLTeam::addSpieler( VideoSpieler *zSpieler )
|
|
|
|
|
|
+bool VideoBLTeam::addSpieler(VideoSpieler* zSpieler)
|
|
{
|
|
{
|
|
- bool gefunden = 0;
|
|
|
|
- for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
|
- {
|
|
|
|
- if( spieler->z( i )->getSpielerNummer() == zSpieler->getSpielerNummer() )
|
|
|
|
- {
|
|
|
|
- gefunden = 1;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if( gefunden )
|
|
|
|
- return 0;
|
|
|
|
- VideoBLSpieler *tmp = new VideoBLSpieler( zSpieler->getSpielerNummer(), zSpieler->getFarbe(), uiFactory );
|
|
|
|
- spieler->set( tmp, spielerAnzahl );
|
|
|
|
- spielerAnzahl++;
|
|
|
|
- return 1;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-bool VideoBLTeam::updateSpielerStatus( VideoSpieler *zSpieler )
|
|
|
|
-{
|
|
|
|
- for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
|
- {
|
|
|
|
- if( spieler->z( i )->getSpielerNummer() == zSpieler->getSpielerNummer() )
|
|
|
|
- {
|
|
|
|
- spieler->z( i )->updateStatus( zSpieler );
|
|
|
|
- return 1;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLTeam::setStatus( const char *txt, int f )
|
|
|
|
-{
|
|
|
|
- status->setText( txt );
|
|
|
|
- status->setSchriftFarbe( f );
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLTeam::setPunkte( int p )
|
|
|
|
-{
|
|
|
|
- this->p = p;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLTeam::setMaxPunkte( int mP )
|
|
|
|
-{
|
|
|
|
- this->mP = mP;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-bool VideoBLTeam::setSpielerPunkte( int sNum, int p )
|
|
|
|
-{
|
|
|
|
- for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
|
- {
|
|
|
|
- if( spieler->z( i )->getSpielerNummer() == sNum )
|
|
|
|
- {
|
|
|
|
- spieler->z( i )->setPunkte( p );
|
|
|
|
- return 1;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLTeam::addPunkt( bool plus )
|
|
|
|
-{
|
|
|
|
- if( plus )
|
|
|
|
- nP++;
|
|
|
|
- else
|
|
|
|
- nP--;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-bool VideoBLTeam::addPunkt( int sNum, bool plus )
|
|
|
|
-{
|
|
|
|
- for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
|
- {
|
|
|
|
- if( spieler->z( i )->getSpielerNummer() == sNum )
|
|
|
|
- {
|
|
|
|
- spieler->z( i )->addPunkt( plus );
|
|
|
|
- return 1;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return 0;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLTeam::updatePunkte( bool vorwärts )
|
|
|
|
-{
|
|
|
|
- if( vorwärts )
|
|
|
|
- {
|
|
|
|
- p += nP;
|
|
|
|
- rundenNP->set( nP, runde );
|
|
|
|
- nP = 0;
|
|
|
|
- runde++;
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- runde--;
|
|
|
|
- nP = rundenNP->get( runde );
|
|
|
|
- p -= nP;
|
|
|
|
- }
|
|
|
|
- for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
|
- spieler->z( i )->updatePunkte( vorwärts );
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-void VideoBLTeam::render( int y, Bild &zRObj )
|
|
|
|
-{
|
|
|
|
- rahmen->setSize( 402, 21 + 20 * spielerAnzahl );
|
|
|
|
- if( !zRObj.setDrawOptions( 1, y, rahmen->getBreite(), rahmen->getHeight() ) )
|
|
|
|
- return;
|
|
|
|
- punkte->setText( "" );
|
|
|
|
- if( nP == 0 )
|
|
|
|
- {
|
|
|
|
- neuPunkte->setText( "" );
|
|
|
|
- neuPunkte->setSchriftFarbe( 0xFFFFFFFF );
|
|
|
|
- }
|
|
|
|
- else if( nP > 0 )
|
|
|
|
- {
|
|
|
|
- neuPunkte->setText( "+" );
|
|
|
|
- neuPunkte->setSchriftFarbe( 0xFF00FF00 );
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- neuPunkte->setText( "" );
|
|
|
|
- neuPunkte->setSchriftFarbe( 0xFFFF0000 );
|
|
|
|
- }
|
|
|
|
- punkte->zText()->append( p > 0 ? p : 0 );
|
|
|
|
- punkte->zText()->append( "/" );
|
|
|
|
- punkte->zText()->append( mP );
|
|
|
|
- neuPunkte->zText()->append( nP );
|
|
|
|
- rahmen->render( zRObj );
|
|
|
|
- name->render( zRObj );
|
|
|
|
- punkte->render( zRObj );
|
|
|
|
- neuPunkte->render( zRObj );
|
|
|
|
- status->render( zRObj );
|
|
|
|
- Array< bool > *gemahlt = new Array< bool >();
|
|
|
|
- for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
|
- gemahlt->set( 0, i );
|
|
|
|
- int min = -1;
|
|
|
|
- int tmp = -1;
|
|
|
|
- for( int h = 0; h < spielerAnzahl; h++ )
|
|
|
|
- {
|
|
|
|
- min = -1;
|
|
|
|
- tmp = -1;
|
|
|
|
- for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
|
- {
|
|
|
|
- if( !spieler->z( i ) )
|
|
|
|
- continue;
|
|
|
|
- if( gemahlt->hat( i ) && gemahlt->get( i ) )
|
|
|
|
- continue;
|
|
|
|
- int p = spieler->z( i )->getPunkte();
|
|
|
|
- if( p > min )
|
|
|
|
- {
|
|
|
|
- min = p;
|
|
|
|
- tmp = i;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if( tmp >= 0 )
|
|
|
|
- {
|
|
|
|
- gemahlt->set( 1, tmp );
|
|
|
|
- spieler->z( tmp )->render( 20 + 20 * h, zRObj );
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- gemahlt->release();
|
|
|
|
- zRObj.releaseDrawOptions();
|
|
|
|
|
|
+ bool gefunden = 0;
|
|
|
|
+ for (int i = 0; i < spielerAnzahl; i++)
|
|
|
|
+ {
|
|
|
|
+ if (spieler->z(i)->getSpielerNummer() == zSpieler->getSpielerNummer())
|
|
|
|
+ {
|
|
|
|
+ gefunden = 1;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (gefunden)
|
|
|
|
+ return 0;
|
|
|
|
+ VideoBLSpieler* tmp = new VideoBLSpieler(zSpieler->getSpielerNummer(), zSpieler->getFarbe(), uiFactory);
|
|
|
|
+ spieler->set(tmp, spielerAnzahl);
|
|
|
|
+ spielerAnzahl++;
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool VideoBLTeam::updateSpielerStatus(VideoSpieler* zSpieler)
|
|
|
|
+{
|
|
|
|
+ for (int i = 0; i < spielerAnzahl; i++)
|
|
|
|
+ {
|
|
|
|
+ if (spieler->z(i)->getSpielerNummer() == zSpieler->getSpielerNummer())
|
|
|
|
+ {
|
|
|
|
+ spieler->z(i)->updateStatus(zSpieler);
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLTeam::setStatus(const char* txt, int f)
|
|
|
|
+{
|
|
|
|
+ status->setText(txt);
|
|
|
|
+ status->setSchriftFarbe(f);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLTeam::setPunkte(int p)
|
|
|
|
+{
|
|
|
|
+ this->p = p;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLTeam::setMaxPunkte(int mP)
|
|
|
|
+{
|
|
|
|
+ this->mP = mP;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool VideoBLTeam::setSpielerPunkte(int sNum, int p)
|
|
|
|
+{
|
|
|
|
+ for (int i = 0; i < spielerAnzahl; i++)
|
|
|
|
+ {
|
|
|
|
+ if (spieler->z(i)->getSpielerNummer() == sNum)
|
|
|
|
+ {
|
|
|
|
+ spieler->z(i)->setPunkte(p);
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLTeam::addPunkt(bool plus)
|
|
|
|
+{
|
|
|
|
+ if (plus)
|
|
|
|
+ nP++;
|
|
|
|
+ else
|
|
|
|
+ nP--;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool VideoBLTeam::addPunkt(int sNum, bool plus)
|
|
|
|
+{
|
|
|
|
+ for (int i = 0; i < spielerAnzahl; i++)
|
|
|
|
+ {
|
|
|
|
+ if (spieler->z(i)->getSpielerNummer() == sNum)
|
|
|
|
+ {
|
|
|
|
+ spieler->z(i)->addPunkt(plus);
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLTeam::updatePunkte(bool vorwärts)
|
|
|
|
+{
|
|
|
|
+ if (vorwärts)
|
|
|
|
+ {
|
|
|
|
+ p += nP;
|
|
|
|
+ rundenNP->set(nP, runde);
|
|
|
|
+ nP = 0;
|
|
|
|
+ runde++;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ runde--;
|
|
|
|
+ nP = rundenNP->get(runde);
|
|
|
|
+ p -= nP;
|
|
|
|
+ }
|
|
|
|
+ for (int i = 0; i < spielerAnzahl; i++)
|
|
|
|
+ spieler->z(i)->updatePunkte(vorwärts);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void VideoBLTeam::render(int y, Bild& zRObj)
|
|
|
|
+{
|
|
|
|
+ rahmen->setSize(402, 21 + 20 * spielerAnzahl);
|
|
|
|
+ if (!zRObj.setDrawOptions(1, y, rahmen->getBreite(), rahmen->getHeight()))
|
|
|
|
+ return;
|
|
|
|
+ punkte->setText("");
|
|
|
|
+ if (nP == 0)
|
|
|
|
+ {
|
|
|
|
+ neuPunkte->setText("");
|
|
|
|
+ neuPunkte->setSchriftFarbe(0xFFFFFFFF);
|
|
|
|
+ }
|
|
|
|
+ else if (nP > 0)
|
|
|
|
+ {
|
|
|
|
+ neuPunkte->setText("+");
|
|
|
|
+ neuPunkte->setSchriftFarbe(0xFF00FF00);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ neuPunkte->setText("");
|
|
|
|
+ neuPunkte->setSchriftFarbe(0xFFFF0000);
|
|
|
|
+ }
|
|
|
|
+ punkte->zText()->append(p > 0 ? p : 0);
|
|
|
|
+ punkte->zText()->append("/");
|
|
|
|
+ punkte->zText()->append(mP);
|
|
|
|
+ neuPunkte->zText()->append(nP);
|
|
|
|
+ rahmen->render(zRObj);
|
|
|
|
+ name->render(zRObj);
|
|
|
|
+ punkte->render(zRObj);
|
|
|
|
+ neuPunkte->render(zRObj);
|
|
|
|
+ status->render(zRObj);
|
|
|
|
+ Array< bool >* gemahlt = new Array< bool >();
|
|
|
|
+ for (int i = 0; i < spielerAnzahl; i++)
|
|
|
|
+ gemahlt->set(0, i);
|
|
|
|
+ int min = -1;
|
|
|
|
+ int tmp = -1;
|
|
|
|
+ for (int h = 0; h < spielerAnzahl; h++)
|
|
|
|
+ {
|
|
|
|
+ min = -1;
|
|
|
|
+ tmp = -1;
|
|
|
|
+ for (int i = 0; i < spielerAnzahl; i++)
|
|
|
|
+ {
|
|
|
|
+ if (!spieler->z(i))
|
|
|
|
+ continue;
|
|
|
|
+ if (gemahlt->hat(i) && gemahlt->get(i))
|
|
|
|
+ continue;
|
|
|
|
+ int p = spieler->z(i)->getPunkte();
|
|
|
|
+ if (p > min)
|
|
|
|
+ {
|
|
|
|
+ min = p;
|
|
|
|
+ tmp = i;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (tmp >= 0)
|
|
|
|
+ {
|
|
|
|
+ gemahlt->set(1, tmp);
|
|
|
|
+ spieler->z(tmp)->render(20 + 20 * h, zRObj);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ gemahlt->release();
|
|
|
|
+ zRObj.releaseDrawOptions();
|
|
}
|
|
}
|
|
|
|
|
|
// constant
|
|
// constant
|
|
int VideoBLTeam::getSpielerAnzahl() const
|
|
int VideoBLTeam::getSpielerAnzahl() const
|
|
{
|
|
{
|
|
- return spielerAnzahl;
|
|
|
|
|
|
+ return spielerAnzahl;
|
|
}
|
|
}
|
|
|
|
|
|
int VideoBLTeam::getPunkte() const
|
|
int VideoBLTeam::getPunkte() const
|
|
{
|
|
{
|
|
- return ( p + nP ) < 0 ? 0 : ( p + nP );
|
|
|
|
|
|
+ return (p + nP) < 0 ? 0 : (p + nP);
|
|
}
|
|
}
|
|
|
|
|
|
int VideoBLTeam::getHeight() const
|
|
int VideoBLTeam::getHeight() const
|
|
{
|
|
{
|
|
- return 21 + spielerAnzahl * 20;
|
|
|
|
|
|
+ return 21 + spielerAnzahl * 20;
|
|
}
|
|
}
|
|
|
|
|
|
bool VideoBLTeam::hatGewonnen() const
|
|
bool VideoBLTeam::hatGewonnen() const
|
|
{
|
|
{
|
|
- return p + nP >= mP;
|
|
|
|
|
|
+ return p + nP >= mP;
|
|
}
|
|
}
|
|
|
|
|
|
-int VideoBLTeam::getSpielerPunkte( int sNum ) const
|
|
|
|
|
|
+int VideoBLTeam::getSpielerPunkte(int sNum) const
|
|
{
|
|
{
|
|
- for( int i = 0; i < spielerAnzahl; i++ )
|
|
|
|
- {
|
|
|
|
- if( spieler->z( i )->getSpielerNummer() == sNum )
|
|
|
|
- return spieler->z( i )->getPunkte();
|
|
|
|
- }
|
|
|
|
- return 0;
|
|
|
|
|
|
+ for (int i = 0; i < spielerAnzahl; i++)
|
|
|
|
+ {
|
|
|
|
+ if (spieler->z(i)->getSpielerNummer() == sNum)
|
|
|
|
+ return spieler->z(i)->getPunkte();
|
|
|
|
+ }
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
|
|
|
|
// Inhalt der VideoBestenliste Klasse aus VideoBestenliste.h
|
|
// Inhalt der VideoBestenliste Klasse aus VideoBestenliste.h
|
|
// Konstruktor
|
|
// Konstruktor
|
|
-VideoBestenliste::VideoBestenliste( UIInit &uiFactory )
|
|
|
|
- : ReferenceCounter()
|
|
|
|
|
|
+VideoBestenliste::VideoBestenliste(UIInit& uiFactory)
|
|
|
|
+ : ReferenceCounter()
|
|
{
|
|
{
|
|
- rahmen = new LRahmen();
|
|
|
|
- rahmen->setRamenBreite( 1 );
|
|
|
|
- rahmen->setFarbe( 0xFFFFFFFF );
|
|
|
|
- rahmen->setSize( 420, 200 );
|
|
|
|
|
|
+ rahmen = new LRahmen();
|
|
|
|
+ rahmen->setRamenBreite(1);
|
|
|
|
+ rahmen->setFarbe(0xFFFFFFFF);
|
|
|
|
+ rahmen->setSize(420, 200);
|
|
|
|
|
|
- teams = new RCArray< VideoBLTeam >();
|
|
|
|
|
|
+ teams = new RCArray< VideoBLTeam >();
|
|
|
|
|
|
- name = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- name->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- name->setText( "Name" );
|
|
|
|
- name->setSize( 100, 20 );
|
|
|
|
- name->setPosition( 0, 0 );
|
|
|
|
|
|
+ name = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ name->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ name->setText("Name");
|
|
|
|
+ name->setSize(100, 20);
|
|
|
|
+ name->setPosition(0, 0);
|
|
|
|
|
|
- punkte = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- punkte->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- punkte->setText( "Punkte" );
|
|
|
|
- punkte->setSize( 100, 20 );
|
|
|
|
- punkte->setPosition( 100, 0 );
|
|
|
|
|
|
+ punkte = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ punkte->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ punkte->setText("Punkte");
|
|
|
|
+ punkte->setSize(100, 20);
|
|
|
|
+ punkte->setPosition(100, 0);
|
|
|
|
|
|
- neuPunkte = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- neuPunkte->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- neuPunkte->setText( "+Punkte" );
|
|
|
|
- neuPunkte->setSize( 100, 20 );
|
|
|
|
- neuPunkte->setPosition( 200, 0 );
|
|
|
|
|
|
+ neuPunkte = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ neuPunkte->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ neuPunkte->setText("+Punkte");
|
|
|
|
+ neuPunkte->setSize(100, 20);
|
|
|
|
+ neuPunkte->setPosition(200, 0);
|
|
|
|
|
|
- status = uiFactory.createTextFeld( uiFactory.initParam );
|
|
|
|
- status->setStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Center );
|
|
|
|
- status->setText( "Status" );
|
|
|
|
- status->setSize( 100, 20 );
|
|
|
|
- status->setPosition( 300, 0 );
|
|
|
|
|
|
+ status = uiFactory.createTextFeld(uiFactory.initParam);
|
|
|
|
+ status->setStyle(TextFeld::Style::Sichtbar | TextFeld::Style::Center);
|
|
|
|
+ status->setText("Status");
|
|
|
|
+ status->setSize(100, 20);
|
|
|
|
+ status->setPosition(300, 0);
|
|
|
|
|
|
- scroll = new VScrollBar();
|
|
|
|
- scroll->setKlickScroll( 7 );
|
|
|
|
|
|
+ scroll = new VScrollBar();
|
|
|
|
+ scroll->setKlickScroll(7);
|
|
|
|
|
|
- this->uiFactory = uiFactory;
|
|
|
|
- update = 0;
|
|
|
|
- teamAnzahl = 0;
|
|
|
|
|
|
+ this->uiFactory = uiFactory;
|
|
|
|
+ update = 0;
|
|
|
|
+ teamAnzahl = 0;
|
|
}
|
|
}
|
|
|
|
|
|
// Destruktor
|
|
// Destruktor
|
|
VideoBestenliste::~VideoBestenliste()
|
|
VideoBestenliste::~VideoBestenliste()
|
|
{
|
|
{
|
|
- rahmen->release();
|
|
|
|
- teams->release();
|
|
|
|
- name->release();
|
|
|
|
- punkte->release();
|
|
|
|
- neuPunkte->release();
|
|
|
|
- status->release();
|
|
|
|
- scroll->release();
|
|
|
|
|
|
+ rahmen->release();
|
|
|
|
+ teams->release();
|
|
|
|
+ name->release();
|
|
|
|
+ punkte->release();
|
|
|
|
+ neuPunkte->release();
|
|
|
|
+ status->release();
|
|
|
|
+ scroll->release();
|
|
}
|
|
}
|
|
|
|
|
|
// nicht constant
|
|
// nicht constant
|
|
-void VideoBestenliste::setTeamAnzahl( int anz )
|
|
|
|
|
|
+void VideoBestenliste::setTeamAnzahl(int anz)
|
|
{
|
|
{
|
|
- teamAnzahl = anz;
|
|
|
|
|
|
+ teamAnzahl = anz;
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::setTeamStatus( int team, const char *txt, int f )
|
|
|
|
|
|
+void VideoBestenliste::setTeamStatus(int team, const char* txt, int f)
|
|
{
|
|
{
|
|
- if( teams->z( team ) )
|
|
|
|
- teams->z( team )->setStatus( txt, f );
|
|
|
|
|
|
+ if (teams->z(team))
|
|
|
|
+ teams->z(team)->setStatus(txt, f);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::addSpieler( VideoSpieler *zSpieler )
|
|
|
|
|
|
+void VideoBestenliste::addSpieler(VideoSpieler* zSpieler)
|
|
{
|
|
{
|
|
- int team = zSpieler->getTeam();
|
|
|
|
- if( team < 0 )
|
|
|
|
- return;
|
|
|
|
- if( !teams->z( team ) )
|
|
|
|
- teams->set( new VideoBLTeam( team, zSpieler->getTeamFarbe(), uiFactory, zSpieler->zTeamName()->getText() ), team );
|
|
|
|
- teams->z( team )->addSpieler( zSpieler );
|
|
|
|
|
|
+ int team = zSpieler->getTeam();
|
|
|
|
+ if (team < 0)
|
|
|
|
+ return;
|
|
|
|
+ if (!teams->z(team))
|
|
|
|
+ teams->set(new VideoBLTeam(team, zSpieler->getTeamFarbe(), uiFactory, zSpieler->zTeamName()->getText()), team);
|
|
|
|
+ teams->z(team)->addSpieler(zSpieler);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::updateSpielerStatus( VideoSpieler *zSpieler )
|
|
|
|
|
|
+void VideoBestenliste::updateSpielerStatus(VideoSpieler* zSpieler)
|
|
{
|
|
{
|
|
- if( teams->z( zSpieler->getTeam() ) )
|
|
|
|
- teams->z( zSpieler->getTeam() )->updateSpielerStatus( zSpieler );
|
|
|
|
|
|
+ if (teams->z(zSpieler->getTeam()))
|
|
|
|
+ teams->z(zSpieler->getTeam())->updateSpielerStatus(zSpieler);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::setTeamPunkte( int teamId, int punkte )
|
|
|
|
|
|
+void VideoBestenliste::setTeamPunkte(int teamId, int punkte)
|
|
{
|
|
{
|
|
- if( teams->z( teamId ) )
|
|
|
|
- teams->z( teamId )->setPunkte( punkte );
|
|
|
|
|
|
+ if (teams->z(teamId))
|
|
|
|
+ teams->z(teamId)->setPunkte(punkte);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::setTeamMaxPunkte( int teamId, int mPunkte )
|
|
|
|
|
|
+void VideoBestenliste::setTeamMaxPunkte(int teamId, int mPunkte)
|
|
{
|
|
{
|
|
- if( teams->z( teamId ) )
|
|
|
|
- teams->z( teamId )->setMaxPunkte( mPunkte );
|
|
|
|
|
|
+ if (teams->z(teamId))
|
|
|
|
+ teams->z(teamId)->setMaxPunkte(mPunkte);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::setSpielerPunkte( int teamNum, int sNum, int punkte )
|
|
|
|
|
|
+void VideoBestenliste::setSpielerPunkte(int teamNum, int sNum, int punkte)
|
|
{
|
|
{
|
|
- if( teams->z( teamNum ) )
|
|
|
|
- teams->z( teamNum )->setSpielerPunkte( sNum, punkte );
|
|
|
|
|
|
+ if (teams->z(teamNum))
|
|
|
|
+ teams->z(teamNum)->setSpielerPunkte(sNum, punkte);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::addPunkt( int tNum, bool plus )
|
|
|
|
|
|
+void VideoBestenliste::addPunkt(int tNum, bool plus)
|
|
{
|
|
{
|
|
- if( teams->z( tNum ) )
|
|
|
|
- teams->z( tNum )->addPunkt( plus );
|
|
|
|
|
|
+ if (teams->z(tNum))
|
|
|
|
+ teams->z(tNum)->addPunkt(plus);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::addPunkt( int tNum, int sNum, bool plus )
|
|
|
|
|
|
+void VideoBestenliste::addPunkt(int tNum, int sNum, bool plus)
|
|
{
|
|
{
|
|
- if( teams->z( tNum ) )
|
|
|
|
- teams->z( tNum )->addPunkt( sNum, plus );
|
|
|
|
|
|
+ if (teams->z(tNum))
|
|
|
|
+ teams->z(tNum)->addPunkt(sNum, plus);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::updatePunkte( bool vorwärts )
|
|
|
|
|
|
+void VideoBestenliste::updatePunkte(bool vorwärts)
|
|
{
|
|
{
|
|
- for( int i = 0; i < teamAnzahl; i++ )
|
|
|
|
- {
|
|
|
|
- if( teams->z( i ) )
|
|
|
|
- teams->z( i )->updatePunkte( vorwärts );
|
|
|
|
- }
|
|
|
|
|
|
+ for (int i = 0; i < teamAnzahl; i++)
|
|
|
|
+ {
|
|
|
|
+ if (teams->z(i))
|
|
|
|
+ teams->z(i)->updatePunkte(vorwärts);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::doPublicMausEreignis( MausEreignis &me )
|
|
|
|
|
|
+void VideoBestenliste::doPublicMausEreignis(MausEreignis& me)
|
|
{
|
|
{
|
|
- scroll->doMausMessage( rahmen->getBreite() - 15, 1, 15, rahmen->getHeight() - 2, me );
|
|
|
|
|
|
+ scroll->doMausMessage(rahmen->getBreite() - 15, 1, 15, rahmen->getHeight() - 2, me);
|
|
}
|
|
}
|
|
|
|
|
|
-void VideoBestenliste::render( Bild &zRObj )
|
|
|
|
|
|
+void VideoBestenliste::render(Bild& zRObj)
|
|
{
|
|
{
|
|
- if( !zRObj.setDrawOptions( 0, 0, rahmen->getBreite(), rahmen->getHeight() ) )
|
|
|
|
- return;
|
|
|
|
- rahmen->render( zRObj );
|
|
|
|
- zRObj.addScrollOffset( 0, scroll->getScroll() );
|
|
|
|
- name->render( zRObj );
|
|
|
|
- punkte->render( zRObj );
|
|
|
|
- neuPunkte->render( zRObj );
|
|
|
|
- status->render( zRObj );
|
|
|
|
- int yOff = 20;
|
|
|
|
- Array< bool > *gemahlt = new Array< bool >();
|
|
|
|
- for( int i = 0; i < teamAnzahl; i++ )
|
|
|
|
- gemahlt->set( 0, i );
|
|
|
|
- int min = -1;
|
|
|
|
- int tmp = -1;
|
|
|
|
- for( int h = 0; h < teamAnzahl; h++ )
|
|
|
|
- {
|
|
|
|
- min = -1;
|
|
|
|
- tmp = -1;
|
|
|
|
- for( int i = 0; i < teamAnzahl; i++ )
|
|
|
|
- {
|
|
|
|
- if( !teams->z( i ) )
|
|
|
|
- continue;
|
|
|
|
- if( gemahlt->hat( i ) && gemahlt->get( i ) )
|
|
|
|
- continue;
|
|
|
|
- int p = teams->z( i )->getPunkte();
|
|
|
|
- if( p > min )
|
|
|
|
- {
|
|
|
|
- min = p;
|
|
|
|
- tmp = i;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if( tmp >= 0 )
|
|
|
|
- {
|
|
|
|
- gemahlt->set( 1, tmp );
|
|
|
|
- teams->z( tmp )->render( yOff, zRObj );
|
|
|
|
- yOff += teams->z( tmp )->getHeight();
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- gemahlt->release();
|
|
|
|
- zRObj.addScrollOffset( 0, -scroll->getScroll() );
|
|
|
|
- scroll->update( yOff, rahmen->getHeight() - 2 );
|
|
|
|
- scroll->render( rahmen->getBreite() - 16, 1, 15, rahmen->getHeight() - 2, zRObj );
|
|
|
|
- zRObj.releaseDrawOptions();
|
|
|
|
|
|
+ if (!zRObj.setDrawOptions(0, 0, rahmen->getBreite(), rahmen->getHeight()))
|
|
|
|
+ return;
|
|
|
|
+ rahmen->render(zRObj);
|
|
|
|
+ zRObj.addScrollOffset(0, scroll->getScroll());
|
|
|
|
+ name->render(zRObj);
|
|
|
|
+ punkte->render(zRObj);
|
|
|
|
+ neuPunkte->render(zRObj);
|
|
|
|
+ status->render(zRObj);
|
|
|
|
+ int yOff = 20;
|
|
|
|
+ Array< bool >* gemahlt = new Array< bool >();
|
|
|
|
+ for (int i = 0; i < teamAnzahl; i++)
|
|
|
|
+ gemahlt->set(0, i);
|
|
|
|
+ int min = -1;
|
|
|
|
+ int tmp = -1;
|
|
|
|
+ for (int h = 0; h < teamAnzahl; h++)
|
|
|
|
+ {
|
|
|
|
+ min = -1;
|
|
|
|
+ tmp = -1;
|
|
|
|
+ for (int i = 0; i < teamAnzahl; i++)
|
|
|
|
+ {
|
|
|
|
+ if (!teams->z(i))
|
|
|
|
+ continue;
|
|
|
|
+ if (gemahlt->hat(i) && gemahlt->get(i))
|
|
|
|
+ continue;
|
|
|
|
+ int p = teams->z(i)->getPunkte();
|
|
|
|
+ if (p > min)
|
|
|
|
+ {
|
|
|
|
+ min = p;
|
|
|
|
+ tmp = i;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (tmp >= 0)
|
|
|
|
+ {
|
|
|
|
+ gemahlt->set(1, tmp);
|
|
|
|
+ teams->z(tmp)->render(yOff, zRObj);
|
|
|
|
+ yOff += teams->z(tmp)->getHeight();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ gemahlt->release();
|
|
|
|
+ zRObj.addScrollOffset(0, -scroll->getScroll());
|
|
|
|
+ scroll->update(yOff, rahmen->getHeight() - 2);
|
|
|
|
+ scroll->render(rahmen->getBreite() - 16, 1, 15, rahmen->getHeight() - 2, zRObj);
|
|
|
|
+ zRObj.releaseDrawOptions();
|
|
}
|
|
}
|
|
|
|
|
|
// constant
|
|
// constant
|
|
int VideoBestenliste::getTeamAnzahl() const
|
|
int VideoBestenliste::getTeamAnzahl() const
|
|
{
|
|
{
|
|
- return teamAnzahl;
|
|
|
|
|
|
+ return teamAnzahl;
|
|
}
|
|
}
|
|
|
|
|
|
-bool VideoBestenliste::teamExistiert( int team ) const
|
|
|
|
|
|
+bool VideoBestenliste::teamExistiert(int team) const
|
|
{
|
|
{
|
|
- return teams->z( team ) != 0;
|
|
|
|
|
|
+ return teams->z(team) != 0;
|
|
}
|
|
}
|
|
|
|
|
|
-int VideoBestenliste::getTeamPunkte( int team ) const
|
|
|
|
|
|
+int VideoBestenliste::getTeamPunkte(int team) const
|
|
{
|
|
{
|
|
- return teams->z( team ) ? teams->z( team )->getPunkte() : 0;
|
|
|
|
|
|
+ return teams->z(team) ? teams->z(team)->getPunkte() : 0;
|
|
}
|
|
}
|
|
|
|
|
|
-bool VideoBestenliste::hatTeamGewonnen( int team ) const
|
|
|
|
|
|
+bool VideoBestenliste::hatTeamGewonnen(int team) const
|
|
{
|
|
{
|
|
- if( !teams->z( team ) )
|
|
|
|
- return 0;
|
|
|
|
- return teams->z( team )->hatGewonnen();
|
|
|
|
|
|
+ if (!teams->z(team))
|
|
|
|
+ return 0;
|
|
|
|
+ return teams->z(team)->hatGewonnen();
|
|
}
|
|
}
|
|
|
|
|
|
-int VideoBestenliste::getSpielerPunkte( int team, int sNum ) const
|
|
|
|
|
|
+int VideoBestenliste::getSpielerPunkte(int team, int sNum) const
|
|
{
|
|
{
|
|
- if( !teams->z( team ) )
|
|
|
|
- return 0;
|
|
|
|
- return teams->z( team )->getSpielerPunkte( sNum );
|
|
|
|
|
|
+ if (!teams->z(team))
|
|
|
|
+ return 0;
|
|
|
|
+ return teams->z(team)->getSpielerPunkte(sNum);
|
|
}
|
|
}
|