Advertisement
Guest User

enemy

a guest
Apr 26th, 2013
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. import java.awt.Graphics;
  2. import java.awt.Image;
  3. import java.awt.Rectangle;
  4. import javax.swing.ImageIcon;
  5.  
  6. public class enemy
  7. {
  8. int rx;
  9. int ry;
  10. int playerX;
  11. int playerY;
  12. int fireX;
  13. int fireY;
  14. int fireDir;
  15. private Image STATUE;
  16. private Rectangle enemyRec;
  17. map m;
  18. protected boolean fireShot=false;
  19.  
  20. public enemy(map m)
  21. {
  22. fireX=-1;
  23. fireY=-1;
  24. this.m=m;
  25. STATUE=new ImageIcon("sprites/statue.png").getImage();
  26. setx(m.enemySpawnx());
  27. sety(m.enemySpawny());
  28. enemyRec=new Rectangle(rx,ry,48,48);
  29. }
  30.  
  31. //sets the x coordinate
  32. public void setx(int n)
  33. {
  34. rx=n*48;
  35. }
  36.  
  37. //sets the x coordinate
  38. public void sety(int n)
  39. {
  40. ry=n*48;
  41. }
  42.  
  43. //gets the player's coordinate for use with scanning
  44. public void getPlayerCoord(int n, int n2){
  45. playerX=n;
  46. playerY=n2;
  47. }
  48.  
  49. public void update()
  50. {
  51. for(int i=0;i<=3;i++){
  52. scan(i);
  53. }
  54. }
  55.  
  56. public void draw(Graphics g)
  57. {
  58. g.drawImage(STATUE, enemyRec.x, enemyRec.y, null);
  59. }
  60. //scans for nearby playes in cardinal directions. 0 for left, 1 for right, 2 for up, 3 for down
  61. public void scan(int n){
  62. outerloop1:
  63. if (n==0){
  64. for(int i=enemyRec.x;i>=0;i--){
  65. if(enemyRec.y==playerY&&i==playerX)
  66. {
  67. fireX=enemyRec.x-48;
  68. fireY=enemyRec.y;
  69. shootFire();
  70. fireDir=0;
  71.  
  72. }
  73. if(m.tileMap[enemyRec.y/48][i/48]==1)
  74. {
  75. break outerloop1;
  76. }
  77. }
  78.  
  79. }
  80.  
  81. outerloop2:
  82. if (n==1){
  83. for(int i=enemyRec.x; i<=m.width*48;i++){
  84. if(enemyRec.y==playerY&&i==playerX)
  85. {
  86. fireX=enemyRec.x+48;
  87. fireY=enemyRec.y;
  88. shootFire();
  89. fireDir=1;
  90.  
  91. }
  92. if(m.tileMap[enemyRec.y/48][i/48]==1)
  93. {
  94. break outerloop2;
  95. }
  96. }
  97.  
  98. }
  99.  
  100. outerloop3:
  101. if (n==2){
  102. for(int i=enemyRec.y; i>=0;i--){
  103. if(enemyRec.x==playerX&&i==playerY)
  104. {
  105. fireX=enemyRec.x;
  106. fireY=enemyRec.y-48;
  107. shootFire();
  108. fireDir=2;
  109. }
  110. if(m.tileMap[i/48][enemyRec.x/48]==1)
  111. {
  112. break outerloop3;
  113. }
  114. }
  115.  
  116. }
  117.  
  118. outerloop4:
  119. if (n==3){
  120. for(int i=enemyRec.y; i<=m.height*48;i++){
  121. if(enemyRec.x==playerX&&i==playerY)
  122. {
  123. fireX=enemyRec.x;
  124. fireY=48+enemyRec.y;
  125. shootFire();
  126. fireDir=3;
  127. }
  128. if(m.tileMap[i/48][enemyRec.x/48]==1)
  129. {
  130. break outerloop4;
  131. }
  132. }
  133.  
  134. }
  135. }
  136.  
  137. //used to show that the enemy is making a fireball
  138. public void shootFire(){
  139. if(fireShot==false){
  140. fireShot=true;
  141. }
  142.  
  143. }
  144.  
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement