SHARE
TWEET

enemy

a guest Apr 26th, 2013 44 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
Top