Skip to content

Commit 921f02e

Browse files
committed
v1.7 Alpha
2 parents bf18da9 + 4a0abea commit 921f02e

File tree

17 files changed

+540
-133
lines changed

17 files changed

+540
-133
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
JavaGame Alpha v1.6.4
1+
JavaGame Alpha v1.7
22
=====================
33

44
[![Ohloh Stats](https://www.ohloh.net/p/JavaGame/widgets/project_thin_badge.gif)](https://www.ohloh.net/p/JavaGame)

jar/javagame.jar

2.5 KB
Binary file not shown.

src/com/redomar/game/Game.java

Lines changed: 51 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class Game extends Canvas implements Runnable {
3434

3535
// Setting the size and name of the frame/canvas
3636
private static final long serialVersionUID = 1L;
37-
private static final String game_Version = "v1.6.4 Alpha";
37+
private static final String game_Version = "v1.7 Alpha";
3838
private static final int WIDTH = 160;
3939
private static final int HEIGHT = (WIDTH / 3 * 2);
4040
private static final int SCALE = 3;
@@ -50,6 +50,10 @@ public class Game extends Canvas implements Runnable {
5050
private static int shirtCol;
5151
private static int faceCol;
5252
private static boolean[] alternateCols = new boolean[2];
53+
private static int fps;
54+
private static int tps;
55+
private static int steps;
56+
private static boolean[] devMode = new boolean[2];
5357

5458
private static JFrame frame;
5559

@@ -65,7 +69,7 @@ public class Game extends Canvas implements Runnable {
6569
private BufferedImage image2 = new BufferedImage(WIDTH, HEIGHT - 30,
6670
BufferedImage.TYPE_INT_RGB);
6771
private Screen screen;
68-
private InputHandler input;
72+
private static InputHandler input;
6973
private WindowHandler window;
7074
private LevelHandler level;
7175
private Player player;
@@ -95,6 +99,8 @@ public Game() {
9599
getFrame().setLocationRelativeTo(null);
96100
getFrame().setVisible(true);
97101

102+
setDevMode(false);
103+
setDevTime(false);
98104
}
99105

100106
public void init() {
@@ -117,7 +123,7 @@ public void init() {
117123
setMap("/levels/custom_level.png");
118124
setMap(1);
119125
Packet00Login loginPacket = new Packet00Login(player.getUsername(),
120-
player.getX(), player.getY());
126+
(int) player.getX(), (int) player.getY());
121127

122128
if (socketServer != null) {
123129
socketServer.addConnection((PlayerMP) getPlayer(), loginPacket);
@@ -215,6 +221,8 @@ public void run() {
215221
if (System.currentTimeMillis() - lastTimer >= 1000) {
216222
lastTimer += 1000;
217223
getFrame().setTitle("JavaGame - Version "+WordUtils.capitalize(game_Version).substring(1, game_Version.length()));
224+
fps = frames;
225+
tps = ticks;
218226
frames = 0;
219227
ticks = 0;
220228
}
@@ -234,8 +242,8 @@ public void render() {
234242
return;
235243
}
236244

237-
int xOffset = getPlayer().getX() - (screen.getWidth() / 2);
238-
int yOffset = getPlayer().getY() - (screen.getHeight() / 2);
245+
int xOffset = (int) getPlayer().getX() - (screen.getWidth() / 2);
246+
int yOffset = (int) getPlayer().getY() - (screen.getHeight() / 2);
239247

240248
getLevel().renderTiles(screen, xOffset, yOffset);
241249

@@ -304,6 +312,7 @@ public void render() {
304312
g.drawString("Press Q to quit", (getWidth()/2)-("Press Q to quit".length()*3), getHeight() -17);
305313
g.setColor(Color.YELLOW);
306314
g.drawString(time.getTime(), (getWidth() - 58), (getHeight() - 3));
315+
status(g, isDevMode());
307316
g.setColor(Color.WHITE);
308317
if (noAudioDevice == true) {
309318
g.setColor(Color.RED);
@@ -338,6 +347,19 @@ public void render() {
338347
bs.show();
339348
}
340349

350+
private void status(Graphics g, boolean TerminalMode) {
351+
if (TerminalMode == true){
352+
g.setColor(Color.GREEN);
353+
g.drawString("JavaGame Stats", 0, 10);
354+
g.drawString("FPS/TPS: " + fps + "/" + tps, 0, 25);
355+
if ((player.getNumSteps() & 15) == 15) {
356+
steps += 1;
357+
}
358+
g.drawString("Foot Steps: " + steps, 0, 40);
359+
g.drawString("NPC: " + WordUtils.capitalize(String.valueOf(isNpc())) , 0, 55);
360+
}
361+
}
362+
341363
public static void main(String[] args) {
342364
new Menu().start();
343365
}
@@ -514,4 +536,28 @@ public static void setAternateColsS(boolean alternateCols){
514536
Game.alternateCols[0] = alternateCols;
515537
}
516538

539+
public static InputHandler getInput() {
540+
return input;
541+
}
542+
543+
public void setInput(InputHandler input) {
544+
Game.input = input;
545+
}
546+
547+
public static boolean isDevMode() {
548+
return devMode[0];
549+
}
550+
551+
public static void setDevMode(boolean devMode) {
552+
Game.devMode[0] = devMode;
553+
}
554+
555+
public static boolean isDevTime() {
556+
return devMode[1];
557+
}
558+
559+
public static void setDevTime(boolean devTime) {
560+
Game.devMode[1] = devTime;
561+
}
562+
517563
}

src/com/redomar/game/InputHandler.java

Lines changed: 42 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.awt.event.KeyEvent;
44
import java.awt.event.KeyListener;
55

6+
import com.redomar.game.lib.SleepThread;
67
import com.redomar.game.script.PrintTypes;
78
import com.redomar.game.script.Printing;
89

@@ -39,7 +40,8 @@ public void toggle(boolean isPressed) {
3940
private Printing print = new Printing();
4041
private boolean PlayMusic = false;
4142
private int map;
42-
43+
private boolean untoggle = false;
44+
4345
public void keyPressed(KeyEvent e) {
4446
toggleKey(e.getKeyCode(), true);
4547
}
@@ -53,17 +55,24 @@ public void keyTyped(KeyEvent e) {
5355
}
5456

5557
public void toggleKey(int keyCode, boolean isPressed) {
56-
if (keyCode == KeyEvent.VK_W || keyCode == KeyEvent.VK_UP) {
57-
getUp().toggle(isPressed);
58-
}
59-
if (keyCode == KeyEvent.VK_S || keyCode == KeyEvent.VK_DOWN) {
60-
getDown().toggle(isPressed);
61-
}
62-
if (keyCode == KeyEvent.VK_A || keyCode == KeyEvent.VK_LEFT) {
63-
getLeft().toggle(isPressed);
64-
}
65-
if (keyCode == KeyEvent.VK_D || keyCode == KeyEvent.VK_RIGHT) {
66-
getRight().toggle(isPressed);
58+
if(untoggle == false){
59+
if (keyCode == KeyEvent.VK_W || keyCode == KeyEvent.VK_UP) {
60+
getUp().toggle(isPressed);
61+
}
62+
if (keyCode == KeyEvent.VK_S || keyCode == KeyEvent.VK_DOWN) {
63+
getDown().toggle(isPressed);
64+
}
65+
if (keyCode == KeyEvent.VK_A || keyCode == KeyEvent.VK_LEFT) {
66+
getLeft().toggle(isPressed);
67+
}
68+
if (keyCode == KeyEvent.VK_D || keyCode == KeyEvent.VK_RIGHT) {
69+
getRight().toggle(isPressed);
70+
}
71+
}else{
72+
getUp().toggle(false);
73+
getDown().toggle(false);
74+
getLeft().toggle(false);
75+
getRight().toggle(false);
6776
}
6877
if (keyCode == KeyEvent.VK_M) {
6978
this.setPlayMusic(true);
@@ -102,7 +111,20 @@ public void toggleKey(int keyCode, boolean isPressed) {
102111
Game.getFrame().dispose();
103112
System.exit(1);
104113
}
114+
115+
if (keyCode == KeyEvent.VK_BACK_QUOTE){
116+
if (Game.isDevTime() == false && Game.isDevMode() == false){
117+
Game.setDevMode(true);
118+
Game.setDevTime(true);
119+
new Thread(new SleepThread());
120+
}
121+
}
122+
}
123+
124+
public void untoggle(boolean toggle){
125+
this.untoggle = toggle;
105126
}
127+
106128

107129
public int getMap() {
108130
return map;
@@ -152,4 +174,12 @@ public void setRight(Key right) {
152174
this.right = right;
153175
}
154176

177+
public boolean isUntoggle() {
178+
return untoggle;
179+
}
180+
181+
public void setUntoggle(boolean untoggle) {
182+
this.untoggle = untoggle;
183+
}
184+
155185
}

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

Lines changed: 19 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.redomar.game.entities;
22

3+
import java.util.List;
4+
35
import com.redomar.game.Game;
46
import com.redomar.game.entities.efx.Swim;
57
import com.redomar.game.gfx.Colours;
@@ -10,27 +12,33 @@ public class Dummy extends Mob {
1012

1113
private int colour, shirtCol, faceCol; // = Colours.get(-1, 111, 240, 310);
1214
private int tickCount = 0;
13-
private int xa = 0;
14-
private int ya = 0;
15+
private double xa = 0;
16+
private double ya = 0;
1517
private boolean[] swimType;
1618
private int[] swimColour;
19+
private static double speed = 0.75;
1720

1821
private Swim swim;
1922

2023
public Dummy(LevelHandler level, String name, int x, int y, int shirtCol,
2124
int faceCol) {
22-
super(level, "h", x, y, 1);
25+
super(level, "h", x, y, speed);
2326
this.faceCol = faceCol;
2427
this.shirtCol = shirtCol;
2528
this.colour = Colours.get(-1, 111, shirtCol, faceCol);
2629
}
2730

2831
public void tick() {
2932

30-
followMovementAI(getX(), getY(), Game.getPlayer().getX(), Game
31-
.getPlayer().getY(), xa, ya, this);
33+
List<Player> players = level.getPlayers(this, 8);
34+
if (players.size() > 0) {
35+
followMovementAI((int) getX(), (int) getY(), (int) Game.getPlayer().getX(), (int) Game
36+
.getPlayer().getY(), xa, ya, speed, this);
37+
}else{
38+
isMoving = false;
39+
}
3240

33-
setSwim(new Swim(level, getX(), getY()));
41+
setSwim(new Swim(level, (int) getX(), (int) getY()));
3442
swimType = getSwim().swimming(isSwimming, isMagma, isMuddy);
3543
isSwimming = swimType[0];
3644
isMagma = swimType[1];
@@ -57,11 +65,14 @@ public void render(Screen screen) {
5765
} else if (movingDir > 1) {
5866
xTile += 4 + ((numSteps >> walkingSpeed) & 1) * 2;
5967
flipTop = (movingDir - 1) % 2;
68+
if(!isMoving){
69+
xTile = 4;
70+
}
6071
}
6172

6273
int modifier = 8 * scale;
63-
int xOffset = getX() - modifier / 2;
64-
int yOffset = getY() - modifier / 2 - 4;
74+
int xOffset = (int) getX() - modifier / 2;
75+
int yOffset = (int) getY() - modifier / 2 - 4;
6576

6677
if (isSwimming || isMagma || isMuddy) {
6778
swimColour = getSwim().waveCols(isSwimming, isMagma, isMuddy);
@@ -104,39 +115,6 @@ public void render(Screen screen) {
104115
}
105116
}
106117

107-
public boolean hasCollided(int xa, int ya) {
108-
int xMin = 0;
109-
int xMax = 7;
110-
int yMin = 3;
111-
int yMax = 7;
112-
113-
for (int x = xMin; x < xMax; x++) {
114-
if (isSolid(xa, ya, x, yMin)) {
115-
return true;
116-
}
117-
}
118-
119-
for (int x = xMin; x < xMax; x++) {
120-
if (isSolid(xa, ya, x, yMax)) {
121-
return true;
122-
}
123-
}
124-
125-
for (int y = yMin; y < yMax; y++) {
126-
if (isSolid(xa, ya, xMin, y)) {
127-
return true;
128-
}
129-
}
130-
131-
for (int y = yMin; y < yMax; y++) {
132-
if (isSolid(xa, ya, xMax, y)) {
133-
return true;
134-
}
135-
}
136-
137-
return false;
138-
}
139-
140118
public Swim getSwim() {
141119
return swim;
142120
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
public abstract class Entity {
77

8-
protected int x, y;
8+
protected double x, y;
99
protected LevelHandler level;
1010

1111
public Entity(LevelHandler level) {
@@ -20,15 +20,15 @@ public final void init(LevelHandler level) {
2020

2121
public abstract void render(Screen screen);
2222

23-
public int getX() {
23+
public double getX() {
2424
return x;
2525
}
2626

2727
public void setX(int x) {
2828
this.x = x;
2929
}
3030

31-
public int getY() {
31+
public double getY() {
3232
return y;
3333
}
3434

0 commit comments

Comments
 (0)