IA:TestAI/Fr

From OpenTTD
Jump to: navigation, search



Ces fichiers forment une IA fonctionnant parfaitement mais ne faisant rien, servant de base pour de nouvelles IAs.

Info.nut

 class TestAI extends AIInfo 
 {
   function GetAuthor()      { return "Nom de l'auteur"; }
   function GetName()        { return "TestAI"; }
   function GetDescription() { return "IA de test"; }
   function GetVersion()     { return 1; }
   function GetDate()        { return "29/07/2009"; }
   function CreateInstance() { return "TestAI"; }
   function GetShortName()   { return "TEST"; }
   
   function GetSettings() 
   {
     AddSetting({name = "bool_setting",
                 description = "a bool setting, default off", 
                 easy_value = 0, 
                 medium_value = 0, 
                 hard_value = 0, 
                 custom_value = 0, 
                 flags = AICONFIG_BOOLEAN});
                 
     AddSetting({name = "bool2_setting", 
                description = "a bool setting, default on", 
                easy_value = 1, 
                medium_value = 1, 
                hard_value = 1, 
                custom_value = 1, 
                flags = AICONFIG_BOOLEAN});
                
     AddSetting({name = "int_setting", 
                 description = "an int setting", 
                 easy_value = 30, 
                 medium_value = 20, 
                 hard_value = 10, 
                 custom_value = 20, 
                 flags = 0, 
                 min_value = 1, 
                 max_value = 100});    	
   }
 }
 
 RegisterAI(TestAI());

Main.nut

 class TestAI extends AIController
 {
   constructor()
   {
   } 
 }
 
 
 function TestAI::Start()
 {
   AILog.Info("TestAI démarré.");
   SetCompanyName();
  
   //fixe un type de voie légal. 
   local types = AIRailTypeList();
   AIRail.SetCurrentRailType(types.Begin());
       
   //Continue à tourner. Si Start() se termine, l'IA meurt.
   while (true)
   {
     this.Sleep(100);
     AILog.Warning("TODO: Ajouter des fonctionnalités à l'IA.");
   }
 }
 
 function TestAI::Stop()
 {
 }
 
 function TestAI::Save()
 {
   local table = {};	
   //TODO: Ajoutez vos données à sauvegarder dans la table.
   return table;
 }
 
 function TestAI::Load(version, data)
 {
   AILog.Info(" chargé");
   //TODO: Ajoutez vos routines de chargement.
 }
 
 
 function TestAI::SetCompanyName()
 {
   if(!AICompany.SetName("Test de l'IA")) {
     local i = 2;
     while(!AICompany.SetName("Teste l'IA #" + i)) {
       i = i + 1;
       if(i > 255) break;
     }
   }
   AICompany.SetPresidentName("P. Résident");
 }
Personal tools