[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdegames/kpat/patsolve
From:       Stephan Kulow <coolo () kde ! org>
Date:       2008-02-02 12:22:06
Message-ID: 1201954926.880531.19132.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 769918 by coolo:

speedup finding solutions by 30% in finding good moves
first 


 M  +6 -2      spider.cpp  


--- trunk/KDE/kdegames/kpat/patsolve/spider.cpp #769917:769918
@@ -257,10 +257,14 @@
     *a = false;
     *numout = n;
 
+    // find out how many contious cards are on top of each pile
     int conti[10];
     for ( int j = 0; j < 10; j++ )
     {
         conti[j] = 0;
+        if ( !Wlen[j] )
+            continue;
+
         for ( ; conti[j] < Wlen[j]-1; ++conti[j] )
         {
             if ( SUIT( *Wp[j] ) != SUIT( W[j][Wlen[j]-conti[j]-2] ) ||
@@ -327,8 +331,8 @@
                         printcard( card, stderr );
                         fprintf( stderr, "%d %d %d %d %d\n", i, j, conti[i], \
conti[j],l );  #endif
-                        if ( conti[j]+l != 13 || conti[i]>conti[j]+l || SUIT( card ) \
                != SUIT( *Wp[j] ) ) {
-                            // fprintf( stderr, "continue\n" );
+                        if ( conti[j]+l+1 != 13 || conti[i]>conti[j]+l || SUIT( card \
) != SUIT( *Wp[j] ) ) { +                            //fprintf( stderr, "continue %d \
%d %d %d\n",conti[j]+l, conti[i],conti[j]+l, SUIT( card ) != SUIT( *Wp[j] ) );  \
continue;  }
                     }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic