Advertisement
Guest User

Turret Dispenser Class - Java Tower Defense Game

a guest
Aug 9th, 2013
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. import java.awt.*;
  2.  
  3. public class TurretDispenser extends Rectangle {
  4. public Rectangle turretRange;
  5. public int turretRangeSize = 130;
  6. public int groundID;
  7. public int airID;
  8.  
  9. public int shotGrunty = -1;
  10. public int shotMunchy = -1;
  11.  
  12. public boolean shootingGrunty = false;
  13. public boolean shootingMunchy = false;
  14.  
  15. public TurretDispenser(int x, int y, int width, int height, int groundID, int airID) {
  16. setBounds(x , y, width, height);
  17. turretRange = new Rectangle(x - (turretRangeSize/2), y - (turretRangeSize/2), width + (turretRangeSize), height + (turretRangeSize));
  18. this.groundID = groundID;
  19. this.airID = airID;
  20. }
  21.  
  22. public void draw(Graphics g) {
  23. g.drawImage(Screen.tileset_ground[groundID], x, y, width, height, null);
  24.  
  25. if(airID != Value.airAir) {
  26. g.drawImage(Screen.tileset_air[airID], x, y, width, height, null);
  27. }
  28. }
  29.  
  30. public void physics() {
  31.  
  32. //Grunt physics
  33. if(shotGrunty != -1 && turretRange.intersects(NzambiGrunt.nzambiGrunt[shotGrunty])) {
  34. shootingGrunty = true;
  35. }else{
  36. shootingGrunty = false;
  37. }
  38.  
  39. if(!shootingGrunty && !shootingMunchy) {
  40. if(airID == Value.airTowerHotep) {
  41. for(int i = 0; i < NzambiGrunt.nzambiGrunt.length; i++) {
  42. if(NzambiGrunt.nzambiGrunt[i].inGameGrunty) {
  43. if(turretRange.intersects(NzambiGrunt.nzambiGrunt[i])) {
  44. shootingGrunty = true;
  45. shootingMunchy = true;
  46. shotGrunty = i;
  47. }
  48. }
  49. }
  50. }
  51. }
  52.  
  53. if(shootingGrunty) {
  54. if(NzambiGrunt.healthFrameGrunty >= NzambiGrunt.healthAmountGrunty) {
  55. NzambiGrunt.nzambiGrunt[shotGrunty].gruntyLoseHealth(1);
  56.  
  57. NzambiGrunt.healthFrameGrunty = 0;
  58. } else {
  59. NzambiGrunt.healthFrameGrunty += 1;
  60. }
  61.  
  62. if(NzambiGrunt.nzambiGrunt[shotGrunty].isDeadGrunty()) {
  63. shootingGrunty = false;
  64. shootingMunchy = false;
  65. shotGrunty = -1;
  66. }
  67. }
  68.  
  69. //Muncher Physics
  70. if(shotMunchy != -1 && turretRange.intersects(NzambiMuncher.nzambiMuncher[shotMunchy])) {
  71. shootingMunchy = true;
  72. } else {
  73. shootingMunchy = false;
  74. }
  75.  
  76.  
  77. if(!shootingMunchy && !shootingGrunty) {
  78. if(airID == Value.airTowerHotep) {
  79. for(int i = 0; i < NzambiMuncher.nzambiMuncher.length; i++) {
  80. if(NzambiMuncher.nzambiMuncher[i].inGameMunchy) {
  81. if(turretRange.intersects(NzambiMuncher.nzambiMuncher[i])) {
  82. shootingMunchy = true;
  83. shootingGrunty = true;
  84. shotMunchy = i;
  85. }
  86. }
  87. }
  88. }
  89. }
  90.  
  91. if(shootingMunchy) {
  92. if(NzambiMuncher.healthFrameMunchy >= NzambiMuncher.healthAmountMunchy) {
  93. NzambiMuncher.nzambiMuncher[shotMunchy].munchyLoseHealth(1);
  94.  
  95. NzambiMuncher.healthFrameMunchy = 0;
  96. } else {
  97. NzambiMuncher.healthFrameMunchy += 1;
  98. }
  99.  
  100. if(NzambiMuncher.nzambiMuncher[shotMunchy].isDeadMunchy()) {
  101. shootingMunchy = false;
  102. shootingGrunty = false;
  103. shotMunchy = -1;
  104. }
  105. }
  106. }
  107.  
  108. public void getMoney(int nzambiGruntID, int nzambiMuncherID) {
  109. Screen.coinage += (Value.gruntyDeathReward[nzambiGruntID] + Value.muncherReward[nzambiMuncherID]);
  110. }
  111.  
  112. public void fight(Graphics g) {
  113. if(Screen.isDebug) {
  114. if(airID == Value.airTowerHotep) {
  115. g.drawRect(turretRange.x, turretRange.y, turretRange.width, turretRange.height);
  116. }
  117. }
  118.  
  119. // Stroke drawingStroke = new BasicStroke(2, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0, new float[]{5}, 0);
  120. Stroke drawingStroke = new BasicStroke(2);
  121.  
  122. //Grunt Graphics (Something here is causing the error i think, don't know what :s)
  123. if(shootingGrunty) {
  124. Graphics2D g2 = (Graphics2D) g;
  125. g2.setStroke(drawingStroke);
  126. g.setColor(new Color(255, 255, 0));
  127. g.drawLine(x + (width / 2), y + (height / 2), NzambiGrunt.nzambiGrunt[shotGrunty].x + (NzambiGrunt.nzambiGrunt[shotGrunty].width / 2), NzambiGrunt.nzambiGrunt[shotGrunty].y + (NzambiGrunt.nzambiGrunt[shotGrunty].height / 2));
  128. g2.setStroke(new BasicStroke(1));
  129. g.setColor(new Color(0, 0, 0));
  130. }
  131.  
  132. //Muncher Graphics
  133. if(shootingMunchy) {
  134. Graphics2D g2 = (Graphics2D) g;
  135. g2.setStroke(drawingStroke);
  136. g.setColor(new Color(255, 255, 0));
  137. g.drawLine(x + (width / 2), y + (height / 2), NzambiMuncher.nzambiMuncher[shotMunchy].x + (NzambiMuncher.nzambiMuncher[shotMunchy].width / 2), NzambiMuncher.nzambiMuncher[shotMunchy].y + (NzambiMuncher.nzambiMuncher[shotMunchy].height / 2));
  138. g2.setStroke(new BasicStroke(1));
  139. g.setColor(new Color(0, 0, 0));
  140. }
  141. }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement