From 3f47e5474cf96bbffa2b7d96d1a63cdbef5e2ae1 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 29 Jan 2017 13:50:13 +0100 Subject: [PATCH] Add sounds and animate taking pieces --- android/assets/sound/game_over.mp3 | Bin 0 -> 24912 bytes android/assets/sound/invalid_drop.mp3 | Bin 0 -> 3152 bytes android/assets/sound/piece_drop.mp3 | Bin 0 -> 1689 bytes android/assets/sound/strip_clear.mp3 | Bin 0 -> 39541 bytes android/assets/sound/take_pieces.mp3 | Bin 0 -> 3152 bytes .../io/github/lonamiwebs/klooni/Klooni.java | 21 ++++++++++++ .../github/lonamiwebs/klooni/game/Board.java | 16 +++++++++ .../lonamiwebs/klooni/game/PieceHolder.java | 31 +++++++++++++++++- .../github/lonamiwebs/klooni/game/Scorer.java | 11 +++---- .../lonamiwebs/klooni/screens/GameScreen.java | 6 ++++ 10 files changed, 77 insertions(+), 8 deletions(-) create mode 100644 android/assets/sound/game_over.mp3 create mode 100644 android/assets/sound/invalid_drop.mp3 create mode 100644 android/assets/sound/piece_drop.mp3 create mode 100644 android/assets/sound/strip_clear.mp3 create mode 100644 android/assets/sound/take_pieces.mp3 diff --git a/android/assets/sound/game_over.mp3 b/android/assets/sound/game_over.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2c9d86d4e00b2dcf36b21ab301eb7e18d26e039e GIT binary patch literal 24912 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 literal 0 HcmV?d00001 diff --git a/android/assets/sound/piece_drop.mp3 b/android/assets/sound/piece_drop.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..55d38648ae8824a5538483d1bd836101ed5f7e04 GIT binary patch literal 1689 zcmeZtF=k-^0p*b3U{@f`&%nU!lUSB!YNlsmpl4`c2$qEq|9?9iK;lA}o_T5cKo(FR z13Lo)TMmN_3W!AkwJ2a7D%ght?xTSJC;((L(2>bNN17RcI540BW3c7qsmI5FdH;V0 z9ARMKVu@D~-ORw5IYHIi<^qFBu`wr~iQD0>S(Y!8Te3_JJr-edV9dSDn|N8)@tSpf z{nHl`4h#a0JQe-_KXTp$f`uT%5+6Q%_yC>p_y7ZoBNGDy;|kAWNqM%Lvle^Jh-~U? zSKclm)x5CrgIa@w#{mVVjob|RGuRs(8#I{f>krB@UVh-?GDA1M^+s8b#-aax4~-;} zGQR#lzH(y44e#Imk$=nd|0i8J|8FZWLIRJ?RGE~dmD+Y$`9R(O-$6$>m^fl2rT0E$ zP?TeOc=8)dM?k=`;FhqY2=0Xq3JF=9%nnN;McJaYuU?B3-!<>-wz}8$TmN5v=eE~5 z^-Q&`w$tC*{g;)!jxiq4TPD~fm@bu&=*Gyvl&N-(dE55iW<#B% z;RJ0p={QC{r50v;$Lnf~a!%C0TU5%HVX>yMI85nl)Y)*$=LdRP53JwocRRUs>1wy{ zf0;VZye;+Jn)CL?=2bf{rW=MbXfQVQuy}S@nIF8ZXF9Q~iTma~-eX(E<|VVenYlH|FSRS58)LO63F;SF_UxUqk!^in@ ziA`d@qTb=IDLuU!`M=hA`4Jchf@Y~m02`)K)r{abw#OYf?5+b`uiuALneXexEy zPxAksxhbr{Q@NYe5_WUE$tqm>B~_YrL+SUIi~5gws?69BQvY(zLzbvdr``vw5~)il za;)9HEM?6JNfGO-`~T~1x~{ig{H?(OBc@f^wHGsg|CZAG5;VKb?X=F!RXw{}Ox*Sy zx!rNruQlg=1kaBtN1YlE=$U{#WZJ~VBFn)Kj3FLorO5L+46gU4%`*=(yl3fP`@e4e zwZ3h?ryePtmN2cW|N2Vt?+m|gzX}Syx>E1lDh39_rK>u7WR252E_Wp?U~PQDt=G#P zyUtnUhv$pg=F281YhS-B9loh6dg=Gb_qDYu)9;pcyS^*QTXa8G?wx_jt67T!g`Y3x zPl+_XA$E8HJCBzfZ{TzxiG^HuCA3$aS`vOIrdUh=_x^8n*Z!@)`t8D%OY8sE?E+@` zN#@C!YBwjWInrIcz|L=>qQilCkB(h#pSDa7EmEecgu z>ax1YDQ}KA{`2`?*6sB>visearnXaN80C^~< aiLFOmeqCyl!td62&pi?oXlEVmO$Gq|Ffu^^ literal 0 HcmV?d00001 diff --git a/android/assets/sound/strip_clear.mp3 b/android/assets/sound/strip_clear.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..fe7b1375232edb0e749f474c833ee4ef94d8cbb4 GIT binary patch literal 39541 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 literal 0 HcmV?d00001 diff --git a/android/assets/sound/take_pieces.mp3 b/android/assets/sound/take_pieces.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..966d06ced11f6888017095bfd6bbbf5d2214fb6a GIT binary patch literal 3152 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 literal 0 HcmV?d00001 diff --git a/core/src/io/github/lonamiwebs/klooni/Klooni.java b/core/src/io/github/lonamiwebs/klooni/Klooni.java index 07667a2..9b36467 100644 --- a/core/src/io/github/lonamiwebs/klooni/Klooni.java +++ b/core/src/io/github/lonamiwebs/klooni/Klooni.java @@ -2,6 +2,7 @@ package io.github.lonamiwebs.klooni; import com.badlogic.gdx.Game; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Preferences; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.NinePatch; import com.badlogic.gdx.scenes.scene2d.ui.Skin; @@ -14,6 +15,8 @@ public class Klooni extends Game { @Override public void create() { + prefs = Gdx.app.getPreferences("io.github.lonamiwebs.klooni.game"); + // TODO Better way to have this skin somewhere // Gotta create that darn .jsonā€¦! skin = new Skin(Gdx.files.internal("skin/uiskin.json")); @@ -46,4 +49,22 @@ public class Klooni extends Game { super.dispose(); skin.dispose(); } + + //region Settings + + private static Preferences prefs; + + public static int getMaxScore() { + return prefs.getInteger("maxScore", 0); + } + + public static void setMaxScore(int score) { + prefs.putInteger("maxScore", score).flush(); + } + + public static boolean soundsEnabled() { + return !prefs.getBoolean("muteSound", false); + } + + //endregion } diff --git a/core/src/io/github/lonamiwebs/klooni/game/Board.java b/core/src/io/github/lonamiwebs/klooni/game/Board.java index d2d728c..96a1b2a 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/Board.java +++ b/core/src/io/github/lonamiwebs/klooni/game/Board.java @@ -1,12 +1,15 @@ package io.github.lonamiwebs.klooni.game; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.NinePatch; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Vector2; +import io.github.lonamiwebs.klooni.Klooni; + public class Board { Cell[][] cells; @@ -18,6 +21,7 @@ public class Board { final Vector2 pos; public NinePatch cellPatch; + private final Sound stripClearSound; public Board(final GameLayout layout, int cellCount) { this.cellCount = cellCount; @@ -25,6 +29,8 @@ public class Board { cellPatch = new NinePatch( new Texture(Gdx.files.internal("ui/cells/basic.png")), 4, 4, 4, 4); + stripClearSound = Gdx.audio.newSound(Gdx.files.internal("sound/strip_clear.mp3")); + lastPutPiecePos = new Vector2(); pos = new Vector2(); layout.update(this); @@ -120,6 +126,8 @@ public class Board { clearCount++; } if (clearCount > 0) { + float pan = 0; + // Do clear those rows and columns for (int i = 0; i < cellCount; i++) { if (clearedRows[i]) { @@ -130,11 +138,19 @@ public class Board { } for (int j = 0; j < cellCount; j++) { if (clearedCols[j]) { + pan += 2f * (j - cellCount / 2) / (float)cellCount; for (int i = 0; i < cellCount; i++) { cells[i][j].vanish(lastPutPiecePos); } } } + + if (Klooni.soundsEnabled()) { + long id = stripClearSound.play(); + pan = MathUtils.clamp(pan, -1, 1); + stripClearSound.setPitch(id, MathUtils.random(0.8f, 1.2f)); + stripClearSound.setPan(id, pan, MathUtils.random(0.7f, 1f)); + } } return clearCount; diff --git a/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java b/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java index 8121591..144d95b 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java +++ b/core/src/io/github/lonamiwebs/klooni/game/PieceHolder.java @@ -1,18 +1,26 @@ package io.github.lonamiwebs.klooni.game; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.graphics.g2d.NinePatch; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Interpolation; +import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Array; +import io.github.lonamiwebs.klooni.Klooni; + public class PieceHolder { private final Piece[] pieces; private final Rectangle[] originalPositions; // Needed after a piece is dropped + private final Sound pieceDropSound; + private final Sound invalidPieceDropSound; + private final Sound takePiecesSound; + private final int count; private int heldPiece; @@ -31,6 +39,10 @@ public class PieceHolder { pieces = new Piece[count]; originalPositions = new Rectangle[count]; + pieceDropSound = Gdx.audio.newSound(Gdx.files.internal("sound/piece_drop.mp3")); + invalidPieceDropSound = Gdx.audio.newSound(Gdx.files.internal("sound/invalid_drop.mp3")); + takePiecesSound = Gdx.audio.newSound(Gdx.files.internal("sound/take_pieces.mp3")); + heldPiece = -1; this.pickedCellSize = pickedCellSize; @@ -64,6 +76,13 @@ public class PieceHolder { originalPositions[i] = new Rectangle( pieces[i].pos.x, pieces[i].pos.y, pieces[i].cellSize, pieces[i].cellSize); + + // Now that we have the original positions, reset the size so it animates and grows + pieces[i].cellSize = 0f; + } + if (Klooni.soundsEnabled()) { + // Random pitch so it's not always the same sound + takePiecesSound.setPitch(takePiecesSound.play(), MathUtils.random(0.8f, 1.2f)); } } @@ -114,8 +133,18 @@ public class PieceHolder { public int dropPiece(Board board) { if (heldPiece > -1) { boolean put = board.putScreenPiece(pieces[heldPiece]); - if (put) + if (put) { + if (Klooni.soundsEnabled()) { + // The larger the piece size, the smaller the pitch + // Considering 10 cells to be the largest, 1.1 highest pitch, 0.7 lowest + float pitch = 1.104f - pieces[heldPiece].calculateArea() * 0.04f; + pieceDropSound.setPitch(pieceDropSound.play(), pitch); + } pieces[heldPiece] = null; + } else { + if (Klooni.soundsEnabled()) + invalidPieceDropSound.play(); + } heldPiece = -1; if (handFinished()) diff --git a/core/src/io/github/lonamiwebs/klooni/game/Scorer.java b/core/src/io/github/lonamiwebs/klooni/game/Scorer.java index 4c7e3b5..d6e8e78 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/Scorer.java +++ b/core/src/io/github/lonamiwebs/klooni/game/Scorer.java @@ -1,7 +1,6 @@ package io.github.lonamiwebs.klooni.game; import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Preferences; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; @@ -12,9 +11,10 @@ import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.scenes.scene2d.ui.Label; import com.badlogic.gdx.utils.Align; +import io.github.lonamiwebs.klooni.Klooni; + public class Scorer { - private final Preferences prefs; private int currentScore, maxScore; private boolean newRecord; @@ -28,10 +28,8 @@ public class Scorer { final Rectangle cupArea; public Scorer(GameLayout layout, int boardSize) { - prefs = Gdx.app.getPreferences("io.github.lonamiwebs.klooni.game"); - currentScore = 0; - maxScore = prefs.getInteger("maxScore", 0); + maxScore = Klooni.getMaxScore(); this.boardSize = boardSize; cupTexture = new Texture(Gdx.files.internal("ui/cup.png")); @@ -69,8 +67,7 @@ public class Scorer { public void saveScore() { if (newRecord) { - prefs.putInteger("maxScore", currentScore); - prefs.flush(); + Klooni.setMaxScore(currentScore); } } diff --git a/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java b/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java index f30b651..298d80a 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.Screen; +import com.badlogic.gdx.audio.Sound; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.g2d.SpriteBatch; @@ -21,6 +22,7 @@ public class GameScreen implements Screen, InputProcessor { private PieceHolder holder; private final GameLayout layout; + private final Sound gameOverSound; private SpriteBatch batch; @@ -35,6 +37,8 @@ public class GameScreen implements Screen, InputProcessor { board = new Board(layout, 10); holder = new PieceHolder(layout, 3, board.cellSize); pauseMenu = new PauseMenuStage(layout, game, scorer); + + gameOverSound = Gdx.audio.newSound(Gdx.files.internal("sound/game_over.mp3")); } private boolean isGameOver() { @@ -139,6 +143,8 @@ public class GameScreen implements Screen, InputProcessor { // After the piece was put, check if it's game over if (isGameOver()) { pauseMenu.show(true); + if (Klooni.soundsEnabled()) + gameOverSound.play(); } } return true;