Advertisement
Guest User

Untitled

a guest
Dec 15th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.12 KB | None | 0 0
  1. [comment encoding = UTF-8 /]
  2. [module toJava('http://www.xtext.org/example/mydsl/Tw')]
  3.  
  4.  
  5. [template public toJava(aPartie : Partie)]
  6. [comment @main/]
  7. [file (aPartie.name.concat('.java'), false, 'UTF-8')]
  8. [aPartie.initialisation()/]
  9.  
  10. public Exemple1() {
  11.  
  12. /* Génération des types de case */
  13. [for (aCase : Case | Case.allInstances())]
  14. [aCase.setCase()/]
  15. [/for]
  16.  
  17. /* Projectiles */
  18. [for (aProjectile : Projectile | Projectile.allInstances())]
  19. [aProjectile.setProjectile()/]
  20. [/for]
  21.  
  22. /* Obstacle */
  23. TypeObstacle o = new TypeObstacle(1,1,Strategie.STRATEGIEFAIBLE,p);
  24. [for (aObstacle : ObstacleVague | ObstacleVague.allInstances())]
  25. [aObstacle.setObstacle()/]
  26. [/for]
  27.  
  28.  
  29.  
  30. /* Vagues */
  31. [for (aVague : Vague | Vague.allInstances())]
  32. [aVague.setVague()/]
  33. [/for]
  34.  
  35.  
  36.  
  37. /* Niveaux */
  38. [for (aNiveau : Niveau | Niveau.allInstances())]
  39. [aNiveau.setNiveau()/]
  40. [/for]
  41.  
  42. niveauEnCours = niveau;
  43.  
  44. }
  45.  
  46. [aPartie.generateMain()/]
  47. [/file]
  48. [/template]
  49.  
  50. [template public initialisation(maPartie : Partie)]
  51. import java.util.ArrayList;
  52.  
  53. public class Exemple1 {
  54. public static EtatJeu etatJeu;
  55. public static Niveau niveauEnCours;
  56. public static Vague vagueEnCours;
  57. public static ArrayList<Mobile> listeMobiles = new ArrayList<Mobile>();
  58. public static ArrayList<Obstacle> listeObstacles = new ArrayList<Obstacle>() ;
  59. public static ArrayList<Projectile> listeProjectiles = new ArrayList<Projectile>();
  60. public static ArrayList<Niveau> listeNiveaux = new ArrayList<Niveau>();
  61. public static ArrayList<Vague> listeVagues = new ArrayList<Vague>();
  62. public static Terrain terrain = new Terrain(3,5);
  63.  
  64. [/template]
  65.  
  66. [template public setCase(maCase : Case)]
  67. Case case[maCase.x/][maCase.y/] = new Case("[maCase.name/]",2,2,Case.Type.[maCase.name/], [maCase.x/] , [maCase.y/]);
  68. terrain.ajouterCase(case[maCase.x/][maCase.y/]);
  69. [/template]
  70.  
  71.  
  72. [template public setProjectile(monProjectile : Projectile)]
  73. Projectile p = new Projectile([monProjectile.volume/],[monProjectile.energie/],[monProjectile.vitesse/],[monProjectile.portee/],[monProjectile.masse/]);
  74. [/template]
  75.  
  76. [template public setObstacle(monObstacle : ObstacleVague)]
  77. Obstacle ob[monObstacle.case.x/][monObstacle.case.y/] = new Obstacle(o, case[monObstacle.case.x/][monObstacle.case.y/]);
  78. listeObstacles.add(ob[monObstacle.case.x/][monObstacle.case.y/]);
  79. [/template]
  80.  
  81. [template public setVague(aVague : Vague)]
  82. Vague vague[aVague.name/] = new Vague(listeMobiles,listeObstacles,[aVague.ravitaillement/]);
  83. vagueEnCours = vague[aVague.name/];
  84. listeVagues.add(vague[aVague.name/]);
  85. [/template]
  86.  
  87. [template public setNiveau(aNiveau : Niveau)]
  88. Niveau niveau[aNiveau.name/] = new Niveau([aNiveau.dureePause/],[aNiveau.energieInitiale/],[aNiveau.nbMobileEchec/]);
  89. listeNiveaux.add(niveau[aNiveau.name/]);
  90. [/template]
  91.  
  92.  
  93. [template public setTypeMobile(aTypeMobile : TypeMobile)]
  94. TypeMobile typeMobile[aTypeMobile.volume/][aTypeMobile.energie/][aTypeMobile.vitesse/][aTypeMobile.strategie/] = new TypeMobile([aTypeMobile.volume/],[aTypeMobile.energie/],[aTypeMobile.vitesse/],[aTypeMobile.strategie/],p);
  95. [/template]
  96.  
  97. [template public setMobile(monMobile : MobileVague)]
  98. Mobile mobile[monMobile.Mobile.volume/][monMobile.Mobile.energie/][monMobile.Mobile.vitesse/][monMobile.Mobile.strategie/],[monMobile.positionVague/] = new Mobile(typeMobile[monMobile.Mobile.volume/][monMobile.Mobile.energie/][monMobile.Mobile.vitesse/][monMobile.Mobile.strategie/],[monMobile.positionVague/],case[monMobile.entree.x/][monMobile.entree.y/],case[monMobile.sortie.x/][monMobile.sortie.y/]);
  99. listeMobiles.add(mobile[monMobile.Mobile.volume/][monMobile.Mobile.energie/][monMobile.Mobile.vitesse/][monMobile.Mobile.strategie/],[monMobile.positionVague/]);
  100. [/template]
  101.  
  102. [template public generateMain(maPartie : Partie)]
  103. public static void main() {
  104. Exemple1 monJeu = new Exemple1();
  105. //monJeu.affichageTerrain();
  106. etatJeu = new EtatJeu(niveauEnCours.getNbMobileEchec() , EtatJeu.Etat.PAUSE , 1 , 1 , niveauEnCours.getEnergieInitiale());
  107. TowerDefenseSwing tw = new TowerDefenseSwing();
  108. }
  109. [/template]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement