Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Rectangle;
- import javax.swing.ImageIcon;
- public class enemy
- {
- int rx;
- int ry;
- int playerX;
- int playerY;
- int fireX;
- int fireY;
- int fireDir;
- private Image STATUE;
- private Rectangle enemyRec;
- map m;
- protected boolean fireShot=false;
- public enemy(map m)
- {
- fireX=-1;
- fireY=-1;
- this.m=m;
- STATUE=new ImageIcon("sprites/statue.png").getImage();
- setx(m.enemySpawnx());
- sety(m.enemySpawny());
- enemyRec=new Rectangle(rx,ry,48,48);
- }
- //sets the x coordinate
- public void setx(int n)
- {
- rx=n*48;
- }
- //sets the x coordinate
- public void sety(int n)
- {
- ry=n*48;
- }
- //gets the player's coordinate for use with scanning
- public void getPlayerCoord(int n, int n2){
- playerX=n;
- playerY=n2;
- }
- public void update()
- {
- for(int i=0;i<=3;i++){
- scan(i);
- }
- }
- public void draw(Graphics g)
- {
- g.drawImage(STATUE, enemyRec.x, enemyRec.y, null);
- }
- //scans for nearby playes in cardinal directions. 0 for left, 1 for right, 2 for up, 3 for down
- public void scan(int n){
- outerloop1:
- if (n==0){
- for(int i=enemyRec.x;i>=0;i--){
- if(enemyRec.y==playerY&&i==playerX)
- {
- fireX=enemyRec.x-48;
- fireY=enemyRec.y;
- shootFire();
- fireDir=0;
- }
- if(m.tileMap[enemyRec.y/48][i/48]==1)
- {
- break outerloop1;
- }
- }
- }
- outerloop2:
- if (n==1){
- for(int i=enemyRec.x; i<=m.width*48;i++){
- if(enemyRec.y==playerY&&i==playerX)
- {
- fireX=enemyRec.x+48;
- fireY=enemyRec.y;
- shootFire();
- fireDir=1;
- }
- if(m.tileMap[enemyRec.y/48][i/48]==1)
- {
- break outerloop2;
- }
- }
- }
- outerloop3:
- if (n==2){
- for(int i=enemyRec.y; i>=0;i--){
- if(enemyRec.x==playerX&&i==playerY)
- {
- fireX=enemyRec.x;
- fireY=enemyRec.y-48;
- shootFire();
- fireDir=2;
- }
- if(m.tileMap[i/48][enemyRec.x/48]==1)
- {
- break outerloop3;
- }
- }
- }
- outerloop4:
- if (n==3){
- for(int i=enemyRec.y; i<=m.height*48;i++){
- if(enemyRec.x==playerX&&i==playerY)
- {
- fireX=enemyRec.x;
- fireY=48+enemyRec.y;
- shootFire();
- fireDir=3;
- }
- if(m.tileMap[i/48][enemyRec.x/48]==1)
- {
- break outerloop4;
- }
- }
- }
- }
- //used to show that the enemy is making a fireball
- public void shootFire(){
- if(fireShot==false){
- fireShot=true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement