-
Notifications
You must be signed in to change notification settings - Fork 0
/
player.java
134 lines (100 loc) · 3.27 KB
/
player.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
import java.awt.Graphics2D;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.awt.Rectangle;
import java.util.ArrayList;
public class player extends entity{
gameBoard gb;
KeyHandler keyH; // takes key from keyhandler
public ArrayList<entity> inventory = new ArrayList<>(); // INVENTORY FOR ARRAYLIST
public player(gameBoard gb, KeyHandler keyH){ // calling the methods used
this.gb = gb;
this.keyH = keyH;
solidArea = new Rectangle(); // used for the player collision
solidArea.x = 12; //solid area < than player charachter
solidArea.y = 10;
solidArea.width = 20;
solidArea.height = 17;
setDefaultValues();
getPlayerImage();
}
public void setDefaultValues(){
x = 100;
y = 100;
speed = 4; // speed of the dog
direction = "right"; // default direction, default tile of the dog -> 100,100
// PLAYER STATUS
// level = 1;
//maxLife = 6;
// life = maxLife;
// coin = 0;
}
public void getPlayerImage(){
try{
//gets image of the dog, in different postions, when going up, down left, right
up1 = ImageIO.read(getClass().getResourceAsStream("dog.png"));
down1 = ImageIO.read(getClass().getResourceAsStream("dog.png"));
left1 = ImageIO.read(getClass().getResourceAsStream("dog.png"));
right1 = ImageIO.read(getClass().getResourceAsStream("dog copy.png"));
} catch(IOException e){
e.printStackTrace();
}
}
public void update(){ // updates new positons of the dog -> only cech the direction
if(keyH.upPressed == true || keyH.downPressed == true ||
keyH.leftPressed == true || keyH.rightPressed == true)
{
if(keyH.upPressed==true){
direction = "up";
}
else if(keyH.downPressed==true){
direction = "down";
}
else if(keyH.leftPressed==true){
direction = "left";
}
else if(keyH.rightPressed==true){
direction = "right";
}
// check tile collision
collisionOn = false;
gb.checker.CheckTile(this);
// if collision = false, player moves
if(collisionOn == false){
switch(direction){
case "up":
y -= speed;
break;
case "down":
y += speed;
break;
case "left":
x -= speed;
break;
case "right":
x += speed;
break;
}
}
}
}
public void draw(Graphics2D g2){
BufferedImage image = null;
switch(direction){ // shows image in each case
case "up":
image = up1;
break;
case "down":
image = down1;
break;
case "left":
image = left1;
break;
case "right":
image = right1;
break;
}
g2.drawImage(image, x, y,gb.tileSize, gb.tileSize,null);
}
}