Advertisement
Guest User

Untitled

a guest
Jul 29th, 2017
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
q/kdb+ 3.48 KB | None | 0 0
  1. Exemple Simple
  2. Affiche "Bonjour !"
  3.  
  4. Exemple avec une méthode fonctionnelle 1
  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 avec une méthode fonctionnelle 2
  12. ("On attache une méthode fonctionnelle à un prototype créé")
  13.  
  14. ("création du prototype traitement")
  15. traitement<<entité
  16.  
  17. ("instanciation d'un prototype 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 complexe
  27. .prototype=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)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement