Kaynağa Gözat

change array iteration

Kolja Strohm 2 yıl önce
ebeveyn
işleme
007696fb60
2 değiştirilmiş dosya ile 69 ekleme ve 70 silme
  1. 4 4
      Fangen/Fangen.vcxproj
  2. 65 66
      Fangen/Map.cpp

+ 4 - 4
Fangen/Fangen.vcxproj

@@ -28,26 +28,26 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v143</PlatformToolset>
     <CharacterSet>Unicode</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v143</PlatformToolset>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v143</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v142</PlatformToolset>
+    <PlatformToolset>v143</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>

+ 65 - 66
Fangen/Map.cpp

@@ -9,7 +9,7 @@
 
 // Inhalt der Map Klasse aus Map.h
 // Konstruktor
-Map::Map( KSGClient::MinigameServerClient *klient )
+Map::Map( KSGClient::MinigameServerClient* klient )
     : ReferenceCounter()
 {
     this->klient = klient;
@@ -48,21 +48,21 @@ Map::~Map()
 }
 
 // nicht constant
-void Map::reset( Text *zOptionen )
+void Map::reset( Text* zOptionen )
 {
     gameTime = 0;
     tastenStände = 0;
     if( rGen )
-        rGen = (RandomGenerator *)rGen->release();
+        rGen = (RandomGenerator*)rGen->release();
     beendet = 0;
     score = 0;
     scoreCheck = score * 11197;
     gegner->leeren();
     ziele->leeren();
     if( spieler )
-        spieler = (Spieler *)spieler->release();
+        spieler = (Spieler*)spieler->release();
     ziele->leeren();
-    Text *tmp = zOptionen->getTeilText( zOptionen->positionVon( '=' ) + 1, zOptionen->positionVon( ',' ) );
+    Text* tmp = zOptionen->getTeilText( zOptionen->positionVon( '=' ) + 1, zOptionen->positionVon( ',' ) );
     breite = *tmp;
     tmp->release();
     tmp = zOptionen->getTeilText( zOptionen->positionVon( '=', 1 ) + 1, zOptionen->positionVon( ',', 1 ) );
@@ -92,28 +92,28 @@ void Map::reset( Text *zOptionen )
             capture.close();
         capture.setDatei( "data/Minigames/Fangen/data/game.mgc" );
         capture.open( Datei::Style::schreiben | Datei::Style::ende | Datei::Style::lesen );
-        Datei *save = new Datei();
+        Datei* save = new Datei();
         save->setDatei( "data/Minigames/Fangen/data/game.save" );
         save->open( Datei::Style::lesen );
         int br = 0;
         int hö = 0;
         __int64 seed;
-        save->lese( (char *)&seed, 8 );
+        save->lese( (char*)&seed, 8 );
         rGen = new RandomGenerator();
         rGen->setSeed( seed );
-        save->lese( (char *)&gameTime, 8 );
-        save->lese( (char *)&br, 4 );
-        save->lese( (char *)&hö, 4 );
+        save->lese( (char*)&gameTime, 8 );
+        save->lese( (char*)&br, 4 );
+        save->lese( (char*)&hö, 4 );
         if( br == breite && hö == höhe )
         {
-            save->lese( (char *)&score, 4 );
+            save->lese( (char*)&score, 4 );
             scoreCheck = score * 11197;
             spieler = new Spieler( SPIELER, save );
             int anz = 0;
-            save->lese( (char *)&anz, 4 );
+            save->lese( (char*)&anz, 4 );
             for( int i = 0; i < anz; i++ )
                 gegner->add( new Spieler( GEGNER, save ) );
-            save->lese( (char *)&anz, 4 );
+            save->lese( (char*)&anz, 4 );
             for( int i = 0; i < anz; i++ )
                 ziele->add( new Spieler( ZIEL, save ) );
         }
@@ -132,7 +132,7 @@ void Map::reset( Text *zOptionen )
             capture.erstellen();
             capture.open( Datei::Style::schreiben );
             __int64 seed = rGen->getSeed();
-            capture.schreibe( (char *)&seed, 8 );
+            capture.schreibe( (char*)&seed, 8 );
         }
         else
         {
@@ -155,12 +155,12 @@ void Map::reset( Text *zOptionen )
     }
 }
 
-void Map::doPublicMausEreignis( MausEreignis &me )
+void Map::doPublicMausEreignis( MausEreignis& me )
 {
 
 }
 
-void Map::doTastaturEreignis( TastaturEreignis &te )
+void Map::doTastaturEreignis( TastaturEreignis& te )
 {
     cs.lock();
     bool ok = 1;
@@ -199,7 +199,7 @@ void Map::doTastaturEreignis( TastaturEreignis &te )
         {
             if( klient )
             {
-                capture.schreibe( (char *)&gameTime, 8 );
+                capture.schreibe( (char*)&gameTime, 8 );
                 capture.schreibe( &tastenStände, 1 );
             }
         }
@@ -265,10 +265,9 @@ bool Map::tick( double tickVal )
         DateiRemove( "data/Minigames/Fangen/data/upload.mgc" );
         DateiUmbenennen( "data/Minigames/Fangen/data/game.mgc", "data/Minigames/Fangen/data/upload.mgc" );
         int tmpScore = score;
-        KSGClient::MinigameServerClient *tmpKlient = dynamic_cast<KSGClient::MinigameServerClient *>( klient->getThis() );
-        new AsynchronCall( [tmpScore, tmpKlient]()
-        {
-            InitDatei *opd = new InitDatei( "data/Minigames/Fangen/data/optionen.ini" );
+        KSGClient::MinigameServerClient* tmpKlient = dynamic_cast<KSGClient::MinigameServerClient*>(klient->getThis());
+        new AsynchronCall( [tmpScore, tmpKlient]() {
+            InitDatei* opd = new InitDatei( "data/Minigames/Fangen/data/optionen.ini" );
             opd->laden();
             Text optionen = "Width=";
             optionen += opd->zWert( "Breite" )->getText();
@@ -287,29 +286,29 @@ bool Map::tick( double tickVal )
             DateiRemove( "data/Minigames/Fangen/data/upload.mgc" );
             tmpKlient->release();
         } );
-        KSGTDatei *stb = new KSGTDatei( "data/Minigames/Fangen/data/score.ksgt" );
+        KSGTDatei* stb = new KSGTDatei( "data/Minigames/Fangen/data/score.ksgt" );
         if( !stb->laden() )
             DateiPfadErstellen( "data/Minigames/Fangen/data/score.ksgt" );
-        RCArray< Text > *zeile = new RCArray< Text >();
-        Zeit *zeit = getZeit();
+        RCArray< Text >* zeile = new RCArray< Text >();
+        Zeit* zeit = getZeit();
         zeile->add( zeit->getZeit( "y-m-d h:i:s" ) );
         zeit->release();
-        Text *scoreT = new Text();
+        Text* scoreT = new Text();
         scoreT->append( score );
         zeile->add( scoreT );
-        Text *breiteT = new Text();
+        Text* breiteT = new Text();
         breiteT->append( breite );
         zeile->add( breiteT );
-        Text *höheT = new Text();
+        Text* höheT = new Text();
         höheT->append( höhe );
         zeile->add( höheT );
-        Text *geschwindigkeitT = new Text();
+        Text* geschwindigkeitT = new Text();
         geschwindigkeitT->append( geschwindigkeit );
         zeile->add( geschwindigkeitT );
-        Text *zAnzahlT = new Text();
+        Text* zAnzahlT = new Text();
         zAnzahlT->append( zAnzahl );
         zeile->add( zAnzahlT );
-        Text *nAnzahlT = new Text();
+        Text* nAnzahlT = new Text();
         nAnzahlT->append( neuGegner );
         zeile->add( nAnzahlT );
         stb->addZeile( 7, zeile );
@@ -322,7 +321,7 @@ bool Map::tick( double tickVal )
     return 1;
 }
 
-void Map::render( Bild &zRObj )
+void Map::render( Bild& zRObj )
 {
     if( !spieler )
         return;
@@ -351,15 +350,15 @@ void Map::render( Bild &zRObj )
     zRObj.addScrollOffset( xStart, yStart );
     if( rMap )
     {
-        const Punkt &dOff = zRObj.getDrawOff();
+        const Punkt& dOff = zRObj.getDrawOff();
         map->render( zRObj );
-        zRObj.setPixelDP( 10 + ( 200 * spieler->getX() ) / breite + dOff.x, 10 + ( 200 * spieler->getY() ) / höhe + dOff.y, 0xFF00FF00 );
+        zRObj.setPixelDP( 10 + (200 * spieler->getX()) / breite + dOff.x, 10 + (200 * spieler->getY()) / höhe + dOff.y, 0xFF00FF00 );
         for( int i = 0; i < gAnz; i++ )
-            zRObj.setPixelDP( 10 + ( 200 * gegner->z( i )->getX() ) / breite + dOff.x, 10 + ( 200 * gegner->z( i )->getY() ) / höhe + dOff.y, 0xFFFF0000 );
+            zRObj.setPixelDP( 10 + (200 * gegner->z( i )->getX()) / breite + dOff.x, 10 + (200 * gegner->z( i )->getY()) / höhe + dOff.y, 0xFFFF0000 );
         for( int i = 0; i < zAnz; i++ )
-            zRObj.setPixelDP( 10 + ( 200 * ziele->z( i )->getX() ) / breite + dOff.x, 10 + ( 200 * ziele->z( i )->getY() ) / höhe + dOff.y, 0xFF00FFFF );
-        kam->setPosition( 10 + ( 200 * kamX ) / breite, 10 + ( 200 * kamY ) / höhe );
-        kam->setSize( ( 200 * 800 ) / breite, ( 200 * 500 ) / höhe );
+            zRObj.setPixelDP( 10 + (200 * ziele->z( i )->getX()) / breite + dOff.x, 10 + (200 * ziele->z( i )->getY()) / höhe + dOff.y, 0xFF00FFFF );
+        kam->setPosition( 10 + (200 * kamX) / breite, 10 + (200 * kamY) / höhe );
+        kam->setSize( (200 * 800) / breite, (200 * 500) / höhe );
         if( kam->getBreite() > 200 )
             kam->setSize( 200, kam->getHeight() );
         if( kam->getHeight() > 200 )
@@ -374,23 +373,23 @@ void Map::speichern()
     {
         if( capture.istOffen() )
             capture.close();
-        Datei *d = new Datei();
+        Datei* d = new Datei();
         d->setDatei( "data/Minigames/Fangen/data/game.save" );
         d->erstellen();
         d->open( Datei::Style::schreiben );
         __int64 seed = rGen->getSeed();
-        d->schreibe( (char *)&seed, 8 );
-        d->schreibe( (char *)&gameTime, 8 );
-        d->schreibe( (char *)&breite, 4 );
-        d->schreibe( (char *)&höhe, 4 );
-        d->schreibe( (char *)&score, 4 );
+        d->schreibe( (char*)&seed, 8 );
+        d->schreibe( (char*)&gameTime, 8 );
+        d->schreibe( (char*)&breite, 4 );
+        d->schreibe( (char*)&höhe, 4 );
+        d->schreibe( (char*)&score, 4 );
         spieler->save( d );
         int anz = gegner->getEintragAnzahl();
-        d->schreibe( (char *)&anz, 4 );
+        d->schreibe( (char*)&anz, 4 );
         for( int i = 0; i < anz; i++ )
             gegner->z( i )->save( d );
         anz = ziele->getEintragAnzahl();
-        d->schreibe( (char *)&anz, 4 );
+        d->schreibe( (char*)&anz, 4 );
         for( int i = 0; i < anz; i++ )
             ziele->z( i )->save( d );
         d->close();
@@ -400,37 +399,37 @@ void Map::speichern()
         DateiRemove( "data/Minigames/Fangen/data/game.save" );
 }
 
-Map::Save *Map::saveState()
+Map::Save* Map::saveState()
 {
-    Save *s = new Save();
+    Save* s = new Save();
     s->beendet = beendet;
     s->gameTime = gameTime;
     s->score = score;
     s->scoreCheck = scoreCheck;
     s->gegner = new RCArray<Spieler>();
-    for( auto g = gegner->getIterator(); g; g++ )
+    for( auto g : *gegner )
         s->gegner->add( g->copy() );
     s->ziele = new RCArray<Spieler>();
-    for( auto z = ziele->getIterator(); z; z++ )
+    for( auto z : *ziele )
         s->ziele->add( z->copy() );
     s->spieler = spieler->copy();
     return s;
 }
 
-void Map::reloadState( Map::Save *s )
+void Map::reloadState( Map::Save* s )
 {
     beendet = s->beendet;
     gameTime = s->gameTime;
     score = s->score;
     scoreCheck = s->scoreCheck;
     gegner->leeren();
-    for( auto g = s->gegner->getIterator(); g; g++ )
-        gegner->add( dynamic_cast<Spieler *>( g->getThis() ) );
+    for( auto g : *s->gegner )
+        gegner->add( dynamic_cast<Spieler*>(g->getThis()) );
     ziele->leeren();
-    for( auto z = s->ziele->getIterator(); z; z++ )
-        ziele->add( dynamic_cast<Spieler *>( z->getThis() ) );
+    for( auto z : *s->ziele )
+        ziele->add( dynamic_cast<Spieler*>(z->getThis()) );
     spieler->release();
-    spieler = dynamic_cast<Spieler *>( s->spieler->getThis() );
+    spieler = dynamic_cast<Spieler*>(s->spieler->getThis());
     s->ziele->release();
     s->gegner->release();
     s->spieler->release();
@@ -458,7 +457,7 @@ bool Map::canGoDown() const
 }
 
 
-int Map::getBestOption( bool *left, bool *up, bool *right, bool *down, int maxSteps )
+int Map::getBestOption( bool* left, bool* up, bool* right, bool* down, int maxSteps )
 {
     if( !maxSteps && !beendet )
         return score;
@@ -471,30 +470,30 @@ int Map::getBestOption( bool *left, bool *up, bool *right, bool *down, int maxSt
     for( int x = 0; x < orderCount; x++ )
     {
         int i = order[ x ];
-        Save *save = saveState();
+        Save* save = saveState();
         TastaturEreignis te;
         te.taste = T_Links;
         te.verarbeitet = 0;
-        te.id = ( i | 0x1 ) == i ? TE_Press : TE_Release;
+        te.id = (i | 0x1) == i ? TE_Press : TE_Release;
         doTastaturEreignis( te );
         te.taste = T_Oben;
         te.verarbeitet = 0;
-        te.id = ( i | 0x2 ) == i ? TE_Press : TE_Release;
+        te.id = (i | 0x2) == i ? TE_Press : TE_Release;
         doTastaturEreignis( te );
         te.taste = T_Rechts;
         te.verarbeitet = 0;
-        te.id = ( i | 0x4 ) == i ? TE_Press : TE_Release;
+        te.id = (i | 0x4) == i ? TE_Press : TE_Release;
         doTastaturEreignis( te );
         te.taste = T_Unten;
         te.verarbeitet = 0;
-        te.id = ( i | 0x8 ) == i ? TE_Press : TE_Release;
+        te.id = (i | 0x8) == i ? TE_Press : TE_Release;
         doTastaturEreignis( te );
         tick( 0.05 );
         tick( 0.05 );
         tick( 0.05 );
         tick( 0.05 );
         tick( 0.05 );
-        Save *save2 = saveState();
+        Save* save2 = saveState();
         tick( 0.05 );
         tick( 0.05 );
         tick( 0.05 );
@@ -517,10 +516,10 @@ int Map::getBestOption( bool *left, bool *up, bool *right, bool *down, int maxSt
             reloadState( save2 );
         reloadState( save );
     }
-    *left = ( best | 0x1 ) == best;
-    *up = ( best | 0x2 ) == best;
-    *right = ( best | 0x4 ) == best;
-    *down = ( best | 0x8 ) == best;
+    *left = (best | 0x1) == best;
+    *up = (best | 0x2) == best;
+    *right = (best | 0x4) == best;
+    *down = (best | 0x8) == best;
     return maxScore;
 }