|
@@ -16,7 +16,7 @@ Spiel::Spiel()
|
|
spielerGUI = 0;
|
|
spielerGUI = 0;
|
|
deads = new RCArray< DeadPlayer >();
|
|
deads = new RCArray< DeadPlayer >();
|
|
nextId = 0;
|
|
nextId = 0;
|
|
- rendern = 0;
|
|
|
|
|
|
+ begonnen = 0;
|
|
rZeit = 0;
|
|
rZeit = 0;
|
|
gameTicks = 0;
|
|
gameTicks = 0;
|
|
spielerAnzahl = 0;
|
|
spielerAnzahl = 0;
|
|
@@ -668,7 +668,7 @@ void Spiel::ladeDaten()
|
|
|
|
|
|
void Spiel::doPublicMausEreignis( MausEreignis &me )
|
|
void Spiel::doPublicMausEreignis( MausEreignis &me )
|
|
{
|
|
{
|
|
- if( me.verarbeitet )
|
|
|
|
|
|
+ if( me.verarbeitet || !begonnen )
|
|
return;
|
|
return;
|
|
if( end )
|
|
if( end )
|
|
{
|
|
{
|
|
@@ -680,7 +680,7 @@ void Spiel::doPublicMausEreignis( MausEreignis &me )
|
|
|
|
|
|
void Spiel::doTastaturEreignis( TastaturEreignis &te )
|
|
void Spiel::doTastaturEreignis( TastaturEreignis &te )
|
|
{
|
|
{
|
|
- if( te.verarbeitet )
|
|
|
|
|
|
+ if( te.verarbeitet || !begonnen )
|
|
return;
|
|
return;
|
|
if( end )
|
|
if( end )
|
|
{
|
|
{
|
|
@@ -755,7 +755,7 @@ void Spiel::stknVerarbeitung()
|
|
break;
|
|
break;
|
|
case 3: // spiel start
|
|
case 3: // spiel start
|
|
pause = 0;
|
|
pause = 0;
|
|
- rendern = 1;
|
|
|
|
|
|
+ begonnen = 1;
|
|
n->setVerarbeitet();
|
|
n->setVerarbeitet();
|
|
break;
|
|
break;
|
|
case 4: // tasten stand
|
|
case 4: // tasten stand
|
|
@@ -838,11 +838,12 @@ void Spiel::render( Bild &zRObj )
|
|
if( s->getId() == spielerNummer )
|
|
if( s->getId() == spielerNummer )
|
|
i = s;
|
|
i = s;
|
|
}
|
|
}
|
|
- if( !i )
|
|
|
|
- return;
|
|
|
|
if( zRObj.setDrawOptions( 300, 0, zRObj.getBreite() - 300, zRObj.getHeight() ) )
|
|
if( zRObj.setDrawOptions( 300, 0, zRObj.getBreite() - 300, zRObj.getHeight() ) )
|
|
{
|
|
{
|
|
- zRObj.addScrollOffset( (int)i->getX() - ( zRObj.getBreite() - 300 ) / 2, (int)i->getY() - zRObj.getHeight() / 2 );
|
|
|
|
|
|
+ if( !begonnen )
|
|
|
|
+ zRObj.addScrollOffset( mapSize.x - ( zRObj.getBreite() - 300 ) / 2, mapSize.y - zRObj.getHeight() / 2 );
|
|
|
|
+ else if( i )
|
|
|
|
+ zRObj.addScrollOffset( (int)i->getX() - ( zRObj.getBreite() - 300 ) / 2, (int)i->getY() - zRObj.getHeight() / 2 );
|
|
for( auto f = feuer.getIterator(); f; f++ )
|
|
for( auto f = feuer.getIterator(); f; f++ )
|
|
f->render( zRObj );
|
|
f->render( zRObj );
|
|
for( auto s = schalter.getIterator(); s; s++ )
|
|
for( auto s = schalter.getIterator(); s; s++ )
|
|
@@ -870,9 +871,12 @@ void Spiel::render( Bild &zRObj )
|
|
// TODO: render timer
|
|
// TODO: render timer
|
|
zRObj.releaseDrawOptions();
|
|
zRObj.releaseDrawOptions();
|
|
}
|
|
}
|
|
- chat->render( zRObj );
|
|
|
|
- if( end )
|
|
|
|
- end->render( zRObj );
|
|
|
|
|
|
+ if( begonnen )
|
|
|
|
+ {
|
|
|
|
+ chat->render( zRObj );
|
|
|
|
+ if( end )
|
|
|
|
+ end->render( zRObj );
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
void Spiel::setMapSize( int width, int height )
|
|
void Spiel::setMapSize( int width, int height )
|
|
@@ -1704,7 +1708,7 @@ ResourceRegistry *Spiel::zResources() const
|
|
|
|
|
|
int Spiel::läuft() const
|
|
int Spiel::läuft() const
|
|
{
|
|
{
|
|
- if( !rendern )
|
|
|
|
|
|
+ if( !begonnen )
|
|
return 3;
|
|
return 3;
|
|
if( !end )
|
|
if( !end )
|
|
return 2;
|
|
return 2;
|