Skip to content

Commit 0aa2fcb

Browse files
committed
Sound effect, UI changes. Returned main tiles to GitHub.
1 parent f8152ab commit 0aa2fcb

File tree

835 files changed

+54
-26
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

835 files changed

+54
-26
lines changed

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,4 @@ build/
4141
/src/main/resources/META-INF/
4242
/META-INF/
4343
/src/test/
44-
/save.dat
45-
/src/main/resources/tiles/
44+
/save.dat

config.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
fullscreen=Off
2-
music_volume=0
3-
se_volume=1
2+
music_volume=2
3+
se_volume=2

src/main/java/com/khomsi/game/entity/player/Player.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,11 @@ public void setDefaultPosition() {
8888
worldX = GameManager.TILE_SIZE * 30;
8989
worldY = GameManager.TILE_SIZE * 21;
9090
direction = "down";
91-
//TODO remove later
91+
//TODO remove later(after finishing debugging)
9292
// gameManager.currentMap = 2;
9393
// worldX = GameManager.TILE_SIZE * 21;
9494
// worldY = GameManager.TILE_SIZE * 34;
95+
9596
// gameManager.currentMap = 3;
9697
// worldX = GameManager.TILE_SIZE * 25;
9798
// worldY = GameManager.TILE_SIZE * 1;

src/main/java/com/khomsi/game/main/GameManager.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ public class GameManager extends JPanel implements Runnable {
117117
public boolean playerRun = false;
118118
public boolean fullScreenOn = false;
119119
public boolean bossBattleOn = false;
120+
public boolean isSEPlaying = false;
121+
public boolean isMusicPlaying = false;
122+
120123
public Instant startTime;
121124
public Duration playTime;
122125
// Add a timer variable to keep track of the game time
@@ -468,6 +471,11 @@ public void playSE(int i) {
468471
se.play();
469472
}
470473

474+
public void stopTitleMusic() {
475+
music.stop();
476+
isMusicPlaying = false;
477+
}
478+
471479
public void changeArea() {
472480
if (nextArea != currentArea) {
473481
stopMusic();

src/main/java/com/khomsi/game/main/logic/CutSceneManager.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,14 @@ public void sceneDungeonBoss() {
3636
for (int i = 0; i < gameManager.object[1].length; i++) {
3737
if (gameManager.object[gameManager.currentMap][i] == null) {
3838
gameManager.object[gameManager.currentMap][i] = new DungeonDoorClosedObject(gameManager);
39-
//TODO change the location of door and the map of dungeon 2
4039
gameManager.object[gameManager.currentMap][i].worldX = GameManager.TILE_SIZE * 25;
4140
gameManager.object[gameManager.currentMap][i].worldY = GameManager.TILE_SIZE * 8;
4241
gameManager.object[gameManager.currentMap][i].markered = true;
42+
i++;
43+
gameManager.object[gameManager.currentMap][i] = new DungeonDoorClosedObject(gameManager);
44+
gameManager.object[gameManager.currentMap][i].worldX = GameManager.TILE_SIZE * 25;
45+
gameManager.object[gameManager.currentMap][i].worldY = GameManager.TILE_SIZE * 33;
46+
gameManager.object[gameManager.currentMap][i].markered = true;
4347
gameManager.playSE(5);
4448
break;
4549
}

src/main/java/com/khomsi/game/main/tools/KeyHandler.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,8 @@ private void gameOverState(int code) {
151151
//fixme check the se
152152
gameManager.playMusic(0);
153153
} else if (gameManager.ui.commandNum == 1) {
154-
gameManager.ui.titleScreenState = -1;
155-
gameManager.gameState = GameManager.START_STATE;
156154
gameManager.resetGame(true);
155+
System.exit(0);
157156
}
158157
}
159158
}
@@ -257,6 +256,11 @@ private void startState(int code) {
257256
}
258257

259258
private void tutorialState(int code) {
259+
// Play music only once in tutorial screen
260+
if (!gameManager.isMusicPlaying) {
261+
gameManager.playMusic(25);
262+
gameManager.isMusicPlaying = true;
263+
}
260264
if (gameManager.ui.titleScreenState == 0) {
261265
if (!isEnterPressed && code == KeyEvent.VK_ENTER) {
262266
gameManager.ui.titleScreenState = 2;
@@ -268,6 +272,11 @@ private void tutorialState(int code) {
268272

269273

270274
private void titleState(int code) {
275+
// Play music only once in title screen
276+
if (!gameManager.isMusicPlaying) {
277+
gameManager.playMusic(25);
278+
gameManager.isMusicPlaying = true;
279+
}
271280
if (gameManager.ui.titleScreenState == 1) {
272281
if (code == KeyEvent.VK_DOWN || code == KeyEvent.VK_S) {
273282
gameManager.ui.commandNum = 2; // Move cursor to "EXIT GAME" (commandNum = 2)
@@ -282,6 +291,7 @@ private void titleState(int code) {
282291
case 2 -> System.exit(0);
283292
case 1 -> {
284293
if (gameManager.saveLoad.load()) {
294+
gameManager.stopTitleMusic();
285295
gameManager.saveLoad.load();
286296
gameManager.gameState = GameManager.PLAY_STATE;
287297
gameManager.playMusic(0);
@@ -300,6 +310,7 @@ private void titleState(int code) {
300310
}
301311

302312
if (!isEnterPressed && code == KeyEvent.VK_ENTER) {
313+
gameManager.stopTitleMusic();
303314
if (gameManager.saveLoad.hasFile) {
304315
gameManager.saveLoad.file.delete();
305316
gameManager.resetTimer();

src/main/java/com/khomsi/game/main/tools/Sound.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,33 @@ public class Sound {
1414
URL[] soundURL = new URL[30];
1515

1616
public Sound() {
17-
//TODO make it automatic in future
1817
soundURL[0] = getResource("main-theme.wav");
19-
soundURL[1] = getResource("snd_pombark.wav");
20-
soundURL[2] = getResource("mus_sfx_a_grab.wav");
18+
soundURL[1] = getResource("snd_fireball_cast.wav");
19+
soundURL[2] = getResource("snd_pick_up.wav");
2120
soundURL[3] = getResource("mus_dununnn.wav");
2221
soundURL[4] = getResource("mus_dooropen.wav");
2322
soundURL[5] = getResource("mus_doorclose.wav");
24-
soundURL[6] = getResource("snd_power.wav");
23+
soundURL[6] = getResource("snd_pickup_coin.wav");
2524
soundURL[7] = getResource("snd_victory.wav");
26-
soundURL[8] = getResource("hitmonster.wav");
25+
soundURL[8] = getResource("snd_damage_monster.wav");
2726
soundURL[9] = getResource("receivedamage.wav");
2827
soundURL[10] = getResource("sword-swipes.wav");
29-
soundURL[11] = getResource("level_up.wav");
28+
soundURL[11] = getResource("snd_level_up.wav");
3029
soundURL[12] = getResource("cursor.wav");
3130
soundURL[13] = getResource("cuttree.wav");
3231
soundURL[14] = getResource("game_over.wav");
3332
soundURL[15] = getResource("sleep.wav");
34-
soundURL[16] = getResource("parry.wav");
33+
soundURL[16] = getResource("snd_parry.wav");
3534
soundURL[17] = getResource("blocked.wav");
3635
soundURL[18] = getResource("snd_text_2.wav");
3736
soundURL[19] = getResource("Merchant.wav");
3837
soundURL[20] = getResource("Dungeon.wav");
3938
soundURL[21] = getResource("snd_switchpull_n.wav");
4039
soundURL[22] = getResource("boss_music.wav");
4140
soundURL[23] = getResource("fight-theme.wav");
41+
soundURL[24] = getResource("snd_startscreen.wav");
42+
soundURL[25] = getResource("title-theme.wav");
43+
soundURL[26] = getResource("mus_sfx_a_grab.wav");
4244
}
4345

4446
private URL getResource(String path) {

src/main/java/com/khomsi/game/main/tools/ui/UI.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -855,6 +855,10 @@ public void drawTutorialScreen() {
855855
}
856856

857857
private void drawStartScreen() {
858+
if (!gameManager.isSEPlaying) {
859+
gameManager.playSE(24);
860+
gameManager.isSEPlaying = true;
861+
}
858862
Color bgColor = new Color(0, 0, 0);
859863
if (titleScreenState == -1) {
860864
graphics2D.setColor(bgColor);
@@ -926,12 +930,7 @@ public void drawTitleScreen() {
926930

927931
x = getXCenterText(text) + 20;
928932
y += GameManager.TILE_SIZE * 3;
929-
//Draw back button
930-
if (gameManager.saveLoad.hasFile) {
931-
drawMenuItem("Back", x, y, commandNum == 2);
932-
} else {
933-
drawMenuItem("Exit", x, y, commandNum == 2);
934-
}
933+
drawMenuItem("Exit", x, y, commandNum == 2);
935934
}
936935
}
937936

src/main/java/com/khomsi/game/objects/PlaceObjects.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,11 @@ private void objectsOnMap3() {
147147
gameManager.object[mapNum][index] = new DungeonDoorOpenedObject(gameManager);
148148
gameManager.object[mapNum][index].worldX = GameManager.TILE_SIZE * 25;
149149
gameManager.object[mapNum][index].worldY = GameManager.TILE_SIZE * 8;
150+
index++;
151+
152+
gameManager.object[mapNum][index] = new DungeonDoorOpenedObject(gameManager);
153+
gameManager.object[mapNum][index].worldX = GameManager.TILE_SIZE * 25;
154+
gameManager.object[mapNum][index].worldY = GameManager.TILE_SIZE * 33;
150155
}
151156

152157
public void setInteractiveTiles() {

src/main/java/com/khomsi/game/objects/interact/KeyObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.khomsi.game.objects.interact;
22

3-
import com.khomsi.game.main.GameManager;
43
import com.khomsi.game.entity.Entity;
4+
import com.khomsi.game.main.GameManager;
55

66
public class KeyObject extends Entity {
77
public static final String OBJ_NAME = "Key";

0 commit comments

Comments
 (0)