SHARE
TWEET

Untitled

a guest Jul 29th, 2017 112 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Exemple 1 Simple
  2. Affiche "Bonjour !"
  3.  
  4. Exemple 2 avec une méthode fonctionnelle
  5. ("On attache une méthode fonctionnelle au prototype père, ici, le programme même")
  6. ->message {
  7.     "Bonjour" !
  8. }
  9. évoque .message()
  10.  
  11. Exemple 3 avec une méthode fonctionnelle
  12. ("On attache une méthode fonctionnelle à un prototype créé")
  13.  
  14. ("création du type 'traitement'")
  15. traitement<<entité
  16.  
  17. ("instanciation d'un prototype typé 'traitement'")
  18. foo:traitement
  19.  
  20. ("on attache la méthode fonctionnelle à notre nouveau prototype")
  21. foo->message {
  22.     "Bonjour" !
  23. }
  24. évoque foo.message()
  25.  
  26. Exemple 4 plus complexe
  27. .nom=L'attaque des clones
  28. .spécification=2.0
  29. .auteur=cpc6128
  30.  
  31. énergie:nombre = 1000
  32. nom:texte
  33.  
  34. ("Création de deux nouveaux prototypes ")
  35. stormtrooper<<entité:énergie
  36. jedi<<entité:énergie, nom
  37.  
  38. ("création des instances vierges :")
  39. prototype:stormtrooper
  40. yoda:jedi
  41.  
  42. ("********************************************")
  43. ("Méthodes fonctionnelles d'un stormtrooper :")
  44. ("********************************************")
  45.  
  46. prototype->attaquer {
  47.         ("Le stormtrooper perd de l'energie quand il attaque")
  48.         force:nombre = 100
  49.    
  50.         mélange force
  51.         .énergie = .énergie - force * 10
  52.         retourne force
  53.         }
  54.  
  55. prototype->perdre énergie {
  56.         *point:nombre
  57.  
  58.         .énergie = .énergie - point
  59.         retourne .énergie
  60. }
  61.  
  62. prototype->vivant {
  63.         si .énergie > 0 retourne vrai
  64.         sinon retourne faux
  65. }
  66.  
  67. ("***********************************")
  68. ("Méthodes fonctionnelles d'un jedi :")
  69. ("***********************************")
  70.  
  71. yoda->frapper {
  72.         *ennemi:stormtrooper
  73.         force:nombre = 500
  74.  
  75.         mélange force
  76.         évoque ennemi.perdre énergie(force)
  77.         retourne force
  78. }
  79.  
  80. yoda->prendre coup {
  81.         *point:nombre
  82.         .énergie = .énergie - point
  83.         retourne .énergie
  84. }
  85.  
  86. yoda->respire encore {
  87.         si .énergie > 0 retourne vrai
  88.         sinon retourne faux
  89. }
  90.  
  91. ("********************")
  92. ("Méthode principale :")
  93. ("********************")
  94.  
  95. ->principal {
  96.         *prototype:stormtrooper
  97.         *yoda:jedi
  98.         armée:casier:stormtrooper vide
  99.         taille armée:nombre = 100
  100.         vivants:nombre = taille armée ("Nombre de stormtroopers encore vivants")
  101.  
  102.         prototype.énergie = 1000      
  103.         yoda.énergie = 1000       
  104.  
  105.         ("On ajoute les clones du prototype dans l'armée :")
  106.         pour chaque taille armée ajoute #prototype dans armée
  107.         ("àààà l'attaaaqueeee !")
  108.         tant que vivants > 0 {
  109.             i:nombre
  110.             pour i de 0 à taille armée - 1 {
  111.                 si armée{i}.vivant() = vrai {
  112.                     dégât:nombre
  113.                     efface tableau
  114.                     "--> Attaque du stormtrooper n° " + i + " :" !
  115.                     dégât vaut armée{i}.attaquer()
  116.                     "    Il vient de faire une attaque de " + dégât + " points." !
  117.                     "    Il reste " + yoda.prendre coup(dégât) + " énergie à " + yoda.nom !
  118.                     si yoda.respire encore() = faux {
  119.                         "    " + yoda.nom + " est mort. " !
  120.                         "****L'alliance a perdu !" !
  121.                         termine
  122.                     }
  123.                     "    " + yoda.nom + " répond en attaquant... " !
  124.                     dégât = yoda.frapper(armée{i})
  125.                     "    ...il vient de faire un attaque de " + dégât + " points." !
  126.                     "    Le stormtrooper a maintenant " + (armée{i}).énergie + " points d'énergie." !
  127.                     si armée{i}.vivant() = faux {
  128.                         "    Le stormtrooper n° + " + i + " est mort !" !
  129.                         décrémente vivants
  130.                     }
  131.                     attends 500 milliseconde
  132.                 }
  133.             }
  134.         }
  135.         "    L'armée des clones est décimée !" !
  136.         "****L'alliance a gagné !" !
  137. }
  138.  
  139. ("*************************")
  140. ("On exécute le programme :")
  141. ("*************************")
  142.  
  143. évoque .principal(prototype,yoda)
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top