• API
• FAQ
• Tools
• Trends
• Archive
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