Skip to content

Commit 4748e2a

Browse files
committed
Started to make swimming more efficent
1 parent 6d71ff6 commit 4748e2a

File tree

2 files changed

+76
-26
lines changed

2 files changed

+76
-26
lines changed

src/com/redomar/game/entities/Player.java

Lines changed: 21 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.redomar.game.Game;
44
import com.redomar.game.InputHandler;
5+
import com.redomar.game.entities.efx.Swim;
56
import com.redomar.game.gfx.Colours;
67
import com.redomar.game.gfx.Screen;
78
import com.redomar.game.level.LevelHandler;
@@ -13,10 +14,12 @@ public class Player extends Mob {
1314

1415
private InputHandler input;
1516
private static Name customeName = new Name();
17+
private Swim swim;
1618

1719
private int colour = Colours.get(-1, 111, 240, 310);
1820
private int tickCount = 0;
1921
private String userName;
22+
2023

2124
public static String guestPlayerName = customeName.setName("Player ");
2225

@@ -58,39 +61,23 @@ public void tick() {
5861
} else {
5962
isMoving = false;
6063
}
61-
62-
if (level.getTile(this.getX() >> 3, this.getY() >> 3).getId() == 4) {
63-
isSwimming = true;
64-
}
65-
66-
if (isSwimming
67-
&& level.getTile(this.getX() >> 3, this.getY() >> 3).getId() != 4) {
68-
isSwimming = false;
69-
}
64+
65+
Swimming();
7066

7167
if (level.getTile(this.getX() >> 3, this.getY() >> 3).getId() == 11) {
7268
changeLevels = true;
7369
}
7470

75-
if (level.getTile(this.getX() >> 3, this.getY() >> 3).getId() == 12) {
76-
isMagma = true;
77-
}
71+
tickCount++;
72+
}
7873

79-
if (isMagma
80-
&& level.getTile(this.getX() >> 3, this.getY() >> 3).getId() != 12) {
81-
isMagma = false;
82-
}
83-
84-
if (level.getTile(this.getX() >> 3, this.getY() >> 3).getId() == 14){
85-
isMuddy = true;
86-
}
87-
88-
if(isMuddy
89-
&& level.getTile(this.getX() >> 3, this.getY() >> 3).getId() != 14){
90-
isMuddy = false;
91-
}
74+
private void Swimming() {
9275

93-
tickCount++;
76+
setSwim(new Swim(level, getX(), getY()));
77+
78+
isSwimming = getSwim().water(isSwimming);
79+
isMagma = getSwim().magma(isMagma);
80+
isMuddy = getSwim().mud(isMuddy);
9481
}
9582

9683
public void render(Screen screen) {
@@ -261,4 +248,12 @@ public String getSantizedUsername() {
261248
return this.getUsername();
262249
}
263250

251+
public Swim getSwim() {
252+
return swim;
253+
}
254+
255+
public void setSwim(Swim swim) {
256+
this.swim = swim;
257+
}
258+
264259
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package com.redomar.game.entities.efx;
2+
3+
import com.redomar.game.level.LevelHandler;
4+
5+
public class Swim {
6+
7+
private static LevelHandler level;
8+
private int x;
9+
private int y;
10+
11+
public Swim(LevelHandler level, int x, int y){
12+
Swim.level = level;
13+
this.x = x;
14+
this.y = y;
15+
}
16+
17+
public boolean water(boolean isSwimming){
18+
if (level.getTile(x >> 3, y >> 3).getId() == 4) {
19+
isSwimming = true;
20+
}
21+
22+
if (isSwimming
23+
&& level.getTile(x >> 3, y >> 3).getId() != 4) {
24+
isSwimming = false;
25+
}
26+
return isSwimming;
27+
}
28+
29+
public boolean magma(boolean isMagma){
30+
if (level.getTile(x >> 3, y >> 3).getId() == 12) {
31+
isMagma = true;
32+
}
33+
34+
if (isMagma
35+
&& level.getTile(x >> 3, y >> 3).getId() != 12) {
36+
isMagma = false;
37+
}
38+
39+
return isMagma;
40+
}
41+
42+
public boolean mud(boolean isMuddy){
43+
if (level.getTile(x >> 3, y >> 3).getId() == 14) {
44+
isMuddy = true;
45+
}
46+
47+
if (isMuddy
48+
&& level.getTile(x >> 3, y >> 3).getId() != 14) {
49+
isMuddy = false;
50+
}
51+
52+
return isMuddy;
53+
}
54+
55+
}

0 commit comments

Comments
 (0)