home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 31 / CDASC_31_1996_juillet_aout.iso / vrac / lsdoor09.zip / EXAMPLE5.CPP < prev    next >
Text File  |  1996-05-15  |  2KB  |  60 lines

  1. // Example5.Cpp - This example demonstrates how to locate a particular
  2. //   database handle using only part of the name.
  3. //
  4. //   An example where this might be used would be a door game where you can
  5. // send money to another player.  Your door prompts the player, "Who do you
  6. // wish to send money to?"  By using routines similar to the one presented
  7. // below the user needn't type the entire handle out, nor will they need
  8. // to spell it exactly right.
  9. //
  10. //   The routine can also be modified to ask the user (when searching
  11. // for "ShadowWave"):
  12. //   "Is Shadow who you mean?  (Y/N)"     User answers No.
  13. //   "Is Shades who you mean?  (Y/N)"     User answers No.
  14. //   "Is ShadowWand who you mean?  (Y/N"  User answers Yes.
  15. //
  16. //   See Example4.Cpp for information on using the LsDoor SDK databases.
  17.  
  18. #define MainModule
  19. #include "LsDoor.H"
  20. #include "Example4.H"    // This provides the data base functions.
  21.  
  22. char *errorModule( void ){ return "Example5 Partials"; }
  23.  
  24.  
  25. void main( void )
  26. {
  27.   if( !DoorInit( doorsysDISABLE ) ) exit(1);      // Get things started...
  28.  
  29.   char find[80];
  30.  
  31.   display( "\n@CW@cho shall I look up? @W" );
  32.   s_gets( find, 80 );
  33.  
  34.   int i;
  35.   int amount = 0, best = -1;
  36.   open_player();               // Open the player database, see Example5.Cpp.
  37.   while( next_player() )       // Retrieves the next player's record..
  38.   {
  39.     if( (i=matches( find, player.handle ) ) >= 1 )
  40.     {
  41.       if( i > amount )  // More of the strings match, make this the 'best'.
  42.       {
  43.     best = player.num; amount = i;
  44.       }
  45.     }
  46.   }
  47.   if( best != -1 ) load_player( best );
  48.   close_player();         // Close the player database, see Example5.Cpp
  49.  
  50.   display("\n@RT@rhe best I could do was the player %s (a.k.a. %s).",
  51.     player.handle, player.bbshandle );
  52.  
  53.   exit(0);                                        // Always use exit()
  54. }
  55.  
  56. // End of Example5.Cpp
  57.  
  58.  
  59.  
  60.