Advertisement
Guest User

Untitled

a guest
Sep 24th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if (getTurn() > 1) return;
  2. include('Compilateur_byMe');
  3. //:: LEVEL TO COMPILE
  4. // Renseigner la plage de valeur des valeurs que vous voulez compilez par exemple : [1, 7] signifie qe les 7 premiers levels seront compilés
  5. global PLAGE_LEVEL = [ -1 , -1 ]; // Par defaut tout les levels (-1 signifie le minimum/maximum, ainsi [-1,-1] signifie tout les levels)
  6.  
  7. //:: CONSTANTE DE RETOUR
  8. global COMPIL_SUCCESS = 1;
  9. global COMPIL_ERR_END_OF_LINE = -1;
  10. global COMPIL_ERR_VAR_NON_EXISTENT = -2;
  11. global COMPIL_ERR_UNDIFINED = -42;
  12.  
  13. function CompileAndRun (@str) {
  14.     // Votre compilation :
  15.     _CompileAndRun(str);
  16. }
  17.  
  18. //Niveau 1 : Simple initialisation d'une variable et addition sur elle même.
  19. CountOpe (1, COMPIL_SUCCESS, function () { return CompileAndRun('
  20.   var test = 5;
  21.   test = test + 1;
  22. '); } );
  23.  
  24. //Niveau 2 : Affichage d'une variable avec debug
  25. CountOpe (2, COMPIL_SUCCESS, function () { return CompileAndRun('
  26.   var disp = 6;
  27.   debug(disp);
  28. '); } );
  29.  
  30. //Niveau 3 : Premiere condition
  31. CountOpe (3, COMPIL_SUCCESS, function () { return CompileAndRun('
  32.     var ok = true;
  33.     if (ok) {
  34.         debug(ok);
  35.     }
  36.     else debug("pas ok");
  37. '); } );
  38.  
  39. //Niveau 4 : Le while, boucle conditionnelle
  40. CountOpe (4, COMPIL_SUCCESS, function () { return CompileAndRun('
  41.     var increment = 3;
  42.     while (increment > 0) {
  43.         increment--;
  44.         debug(increment);
  45.     }
  46. '); } );
  47.  
  48. //Niveau 5 : For utilisation basique
  49. CountOpe (5, COMPIL_SUCCESS, function () { return CompileAndRun('
  50.     for (var i = 0; i < 3; i++) {
  51.         debug("i : " + i);
  52.     }
  53. '); } );
  54.  
  55. //Niveau 6 : Fonction
  56. CountOpe (6, COMPIL_SUCCESS, function () { return CompileAndRun('
  57.     function haha () { debug("something"); }
  58.    
  59.     haha();
  60. '); } );
  61.  
  62. //Niveau 7 : boucle while
  63. CountOpe (7, COMPIL_SUCCESS, function () { return CompileAndRun('
  64.     var enemy = getNearestEnemy();
  65.     while (getMP() > 0 || getCellDistance(getCell(), getCell(enemy))) {
  66.         moveToward(enemy, 0);
  67.         debug(getCellDistance(getCell(), getCell(enemy)));
  68.     }
  69. '); } );
  70.  
  71. //Niveau 8 : foreach
  72. CountOpe (8, COMPIL_SUCCESS, function () { return CompileAndRun('
  73.     for (var weap in getWeapons()) {
  74.         debug(getWeaponName(weap));
  75.     }
  76. '); } );
  77.  
  78. function CountOpe (@lvl, @wantedOutput @callback) {
  79.     if (!((lvl >= PLAGE_LEVEL[0] || PLAGE_LEVEL[1] === -1) && (lvl <= PLAGE_LEVEL[1] || PLAGE_LEVEL[1] === -1))) return;
  80.     var ope = getOperations();
  81.     var output = @(callback());
  82.     ope = getOperations() - ope - 6; //Determine sur un appel à "vide" (CompileAndRun vide)
  83.    
  84.     var debugText = 'Niveau ' + lvl;
  85.     if (output === wantedOutput) debugText += ' à été bien compilé en ' + ope + ' opérations , la valeur de retour est bien ' + output;
  86.     else debugText += ' n\'as pas été bien compilé en ' + ope + ' opérations , la valeur de retour à été : ' + output + ' à la place de ' + wantedOutput;
  87.     debugE(debugText);
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement