From e363b2872b4426b2f97bb4355b9bf8b88be5a138 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Sat, 5 Apr 2014 19:11:02 +0200 Subject: [PATCH] Addedd animations when moving tiles Looks weird for merging animation, it's because one of the tiles isn't refered as its origin by the merged one, so it won't appears. * Solution 1: Make a Grid with previous tiles of which animation is based with nextPosition instead * Solution 2: Make two previousPosition. It does what the original one does, however less stable (affects every new tile definition) --- 2048.G1A | Bin 18648 -> 19860 bytes 2048.c | 185 ++++++++++++++++++++++++++++++++++++------------------- 2048.dlr | 134 ++++++++++++++++++++++++++++++++++++++++ 2048.dlw | 34 +++++----- 4 files changed, 274 insertions(+), 79 deletions(-) diff --git a/2048.G1A b/2048.G1A index 1e2cf02ca8c83aa17b07e3d42ef757db2c690c75..15ea015f9f1f94c557cc566de7f318e42182e850 100644 GIT binary patch delta 3648 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 0 && position.x < 4 && position.y >= 0 && position.y < 4); } -Tile Grid_cellContent(Cell cell) { +Tile Grid_cellContent(Cell cell) { // TODO Make cellContentEdit(Cell cell, Tile tile), because it's read-only this way Tile back; if (Grid_withinBounds(cell)) { return Grid_grid.array[cell.x][cell.y]; @@ -112,16 +93,16 @@ int Grid_insertTile(Tile tile) { Grid_grid.array[tile.x][tile.y] = tile; } -int Grid_removeTile(Tile tile) { +int Grid_removeTile(Tile tile) { // TODO use with cellContentEdit Cell emptyCell; Tile emptyTile; - emptyCell.x = -1; - emptyCell.y = -1; emptyTile.x = tile.x; emptyTile.y = tile.y; emptyTile.value = 0; emptyTile.hasMerged = false; + emptyCell.x = -1; + emptyCell.y = -1; emptyTile.previousPosition = emptyCell; Grid_grid.array[tile.x][tile.y] = emptyTile; @@ -129,12 +110,12 @@ int Grid_removeTile(Tile tile) { int Grid_avaiableCellsAmount() { int avaiableCellsNumber = 0, x, y; - Cell testCell; + Cell position; for (x = 0; x <= 3; x++) { for (y = 0; y <= 3; y++) { - testCell.x = x; - testCell.y = y; - if (Grid_cellAvailable(testCell)) { + position.x = x; + position.y = y; + if (Grid_cellAvailable(position)) { avaiableCellsNumber++; } } @@ -149,12 +130,65 @@ void storage_setBestScore(int bestScore) { // Screen (O HTML_Actuator) -void Screen_updateScore() { +void Screen_drawTile(int x, int y, int value) { + ML_rectangle(x + 1, y + 1, x + 11, y + 11, 0, ML_TRANSPARENT, ML_WHITE); + ML_bmp_or(tile[value], x, y, 13, 13); + //ML_display_vram(); // DEBUG +} +void Screen_drawTileCase(Tile tile) { + Screen_drawTile(5+tile.x*14, 5+tile.y*14, tile.value); +} + +void Screen_drawTileMoving(Tile tile, float percentage) { + int x, y, OTx, OTy, NTx, NTy; + NTx = 5+tile.x*14; + NTy = 5+tile.y*14; + OTx = 5+tile.previousPosition.x*14; + OTy = 5+tile.previousPosition.y*14; + x = OTx + (NTx - OTx) * percentage; + y = OTy + (NTy - OTy) * percentage; + Screen_drawTile(x, y, tile.value); +} + +int Screen_drawFixedTiles(bool dontDrawPreviousPositionTiles) { + int x, y; + Tile tile; + Cell position; + for (x = 0; x <= 3; x++) { + for (y = 0; y <= 3; y++) { + position.x = x; + position.y = y; + tile = Grid_cellContent(position); + if (dontDrawPreviousPositionTiles && ((tile.previousPosition.x >= 0 && tile.previousPosition.y >= 0) || (tile.previousPosition.x == -2 && tile.previousPosition.y == -2))) { + tile.value = 0; + } + Screen_drawTileCase(tile); + } + } +} +int Screen_drawMovingTiles(float percentage) { + int x, y; + Tile tile; + Cell position; + for (x = 0; x <= 3; x++) { + for (y = 0; y <= 3; y++) { + position.x = x; + position.y = y; + tile = Grid_cellContent(position); + if (tile.previousPosition.x >= 0 && tile.previousPosition.y >= 0) { + Screen_drawTileMoving(tile, percentage); + } + } + } +} + +void Screen_updateScore() { + PrintXY(100, 14, "0", 1); } void Screen_updateBestScore() { - + PrintXY(100, 35, "0", 1); } void Screen_message(bool won) { @@ -165,14 +199,31 @@ void Screen_message(bool won) { } } +bool Game_isGameTerminated() { // Intentionally moved here + return (Game_over || (Game_won && !Game_keepPlaying)); +} + void Screen_actuate() { - drawFixedTiles(); // O self.addTile(cell); + float i; - Screen_updateScore(); // O self.updateScore(metadata.score); - Screen_updateBestScore(); // O self.updateBestScore(metadata.bestScore); + Screen_drawFixedTiles(true); - if (Game_terminated) { + SaveDisp(SAVEDISP_PAGE1); + + for (i = 0; i <= 1; i += 0.02) { + RestoreDisp(SAVEDISP_PAGE1); + Screen_drawMovingTiles(i); + ML_display_vram(); + } + + RestoreDisp(SAVEDISP_PAGE1); + Screen_drawFixedTiles(false); + + Screen_updateScore(); + Screen_updateBestScore(); + + if (Game_isGameTerminated()) { if (Game_over) { Screen_message(false); } else if (Game_won) { @@ -185,9 +236,6 @@ void Screen_actuate() { // Game (O Game_manager) -bool Game_isGameTerminated() { - return (Game_over || (Game_won && !Game_keepPlaying)); -} void Game_actuate() { if (storage_bestScore < Game_score) { @@ -231,8 +279,8 @@ void Game_prepareTiles() { for (x = 0; x <= 3; x++) { for (y = 0; y <= 3; y++) { Grid_grid.array[x][y].hasMerged = false; - previousPosition.x = Grid_grid.array[x][y].x; - previousPosition.y = Grid_grid.array[x][y].y; + previousPosition.x = -1; + previousPosition.y = -1; Grid_grid.array[x][y].previousPosition = previousPosition; } } @@ -255,11 +303,19 @@ findFarthestPosition_return Game_findFarthestPosition(Cell cell, Cell vector) { return back; } -Game_moveTile(Tile tile, Cell cell) { - Grid_removeTile(tile); - tile.x = cell.x; - tile.y = cell.y; - Grid_insertTile(tile); +bool Game_moveTile(Tile tile, Cell cell) { + Cell previousPosition; + if (tile.x == cell.x && tile.y == cell.y) { + return false; + } else { + Grid_removeTile(tile); + previousPosition.x = tile.x; + previousPosition.y = tile.y; + tile.previousPosition = previousPosition; + tile.x = cell.x; + tile.y = cell.y; + Grid_insertTile(tile); + } } bool Game_positionsEqual(Cell first, Tile second) { @@ -287,15 +343,19 @@ Cell Grid_randomAvaiableCell() { } } +// Game (O game_manager) + void Game_addRandomTile() { - Tile tile; Cell position; + Tile tile; Cell position, previousPosition; if (Grid_avaiableCellsAmount() > 0) { position = Grid_randomAvaiableCell(); tile.value = (rand_int(0, 10) < 9 ? 1 : 2); tile.x = position.x; tile.y = position.y; - tile.previousPosition = position; + previousPosition.x = -2; + previousPosition.y = -2; + tile.previousPosition = previousPosition; tile.hasMerged = false; Grid_insertTile(tile); } @@ -332,9 +392,6 @@ void Game_move(int direction) { // 0: up, 1: right, 2: down, 3: left Grid_insertTile(merged); Grid_removeTile(tile); - tile.x = next.x; - tile.y = next.y; - Game_score += merged.value; if (merged.value == 11) { @@ -342,8 +399,9 @@ void Game_move(int direction) { // 0: up, 1: right, 2: down, 3: left } moved = true; } else { - Game_moveTile(tile, farthest); - moved = true; + if (Game_moveTile(tile, farthest)) { + moved = true; + } } } } @@ -364,36 +422,39 @@ void Game_move(int direction) { // 0: up, 1: right, 2: down, 3: left int initGame() { // Variables int x, y; - - ML_clear_screen(); - - // Draw Title - PrintXY(67, 54, "2048", 0); + Cell emptyCell; // Reset variables Game_score = 0; Game_over = false; Game_won = false; - Game_terminated = false; Game_keepPlaying = true; + emptyCell.x = -1; + emptyCell.y = -1; + for (x = 0; x <= 3; x++) { for (y = 0; y <= 3; y++) { Grid_grid.array[x][y].x = x; Grid_grid.array[x][y].y = y; Grid_grid.array[x][y].value = 0; + Grid_grid.array[x][y].hasMerged = false; + Grid_grid.array[x][y].previousPosition = emptyCell; } } - drawFixedTiles(); + ML_clear_screen(); + + // Draw Title + PrintXY(67, 54, "2048", 0); + + Screen_drawFixedTiles(true); // Draw Score ML_bmp_or(scoreBG, 68, 4, 41, 19); ML_bmp_or(scoreBG, 68, 25, 41, 19); PrintXY(70, 6, "SCORE", 1); - PrintXY(100, 14, "0", 1); PrintXY(70, 27, "BEST", 1); - PrintXY(100, 35, "0", 1); Game_addRandomTile(); Game_addRandomTile(); @@ -425,13 +486,13 @@ int AddIn_main(int isAppli, unsigned short OptionNum) { case KEY_CTRL_DEL: initGame(); break; - case KEY_CHAR_PLUS: // DEBUG + /*case KEY_CHAR_PLUS: // DEBUG Game_addRandomTile(); Game_actuate(); break; case KEY_CHAR_STORE: // DEBUG Game_actuate(); - break; + break;*/ default: break; } diff --git a/2048.dlr b/2048.dlr index 1b4f87e..c00e48f 100644 --- a/2048.dlr +++ b/2048.dlr @@ -35,6 +35,7 @@ Sublevel=1 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=150 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -46,11 +47,13 @@ Sublevel=1 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=124 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=151 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -62,11 +65,13 @@ Sublevel=1 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=157 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=158 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -152,6 +157,7 @@ Sublevel=2 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=208 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -197,6 +203,7 @@ Flags=00001012 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=316 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -226,6 +233,7 @@ Sublevel=1 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=329 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -261,6 +269,7 @@ Sublevel=1 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=335 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -296,6 +305,7 @@ Sublevel=3 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=339 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -306,11 +316,13 @@ Flags=00001012 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=341 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=347 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -328,6 +340,7 @@ Sublevel=2 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=355 Flags=00001012 +Sublevel=1 [Breakpoint] File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c @@ -353,3 +366,124 @@ Flags=00001012 File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c Line=476 Flags=00001012 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=124 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=316 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=329 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=339 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=341 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=150 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=151 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=157 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=157 +Flags=00001012 +Sublevel=3 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=158 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=175 +Flags=00001012 +Sublevel=1 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=175 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=140 +Flags=00001012 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=137 +Flags=00001012 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=208 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=347 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=238 +Flags=00001012 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=245 +Flags=00001012 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=416 +Flags=00001012 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=335 +Flags=00001012 +Sublevel=2 + +[Breakpoint] +File=Z:\home\geoffrey\Documents\Programmation\CASIO\2048\2048.c +Line=355 +Flags=00001012 +Sublevel=2 diff --git a/2048.dlw b/2048.dlw index ed2a83f..15327ba 100644 --- a/2048.dlw +++ b/2048.dlw @@ -2,19 +2,19 @@ [_1] Type=5 -Order=1 +Order=0 Top=60 Left=1965 -Height=10080 +Height=8295 Width=10470 State=0 Flags=00000020 -Setting=298:9:2048.c +Setting=417:1:2048.c OptionA=0 [_2] Type=1 -Order=2 +Order=1 Top=0 Left=12645 Height=4665 @@ -37,10 +37,10 @@ OptionA=0 [_4] Type=7 -Order=6 -Top=10095 +Order=5 +Top=8400 Left=2040 -Height=3120 +Height=4815 Width=5145 State=0 Flags=00000000 @@ -48,10 +48,10 @@ OptionA=0 [_5] Type=8 -Order=7 -Top=10155 -Left=7230 -Height=3150 +Order=4 +Top=8400 +Left=7200 +Height=4845 Width=5475 State=0 Flags=00000000 @@ -81,7 +81,7 @@ OptionA=0 [_8] Type=17 -Order=5 +Order=7 Top=30 Left=30 Height=13200 @@ -92,7 +92,7 @@ OptionA=0 [_9] Type=15 -Order=0 +Order=2 Top=0 Left=2010 Height=11580 @@ -103,24 +103,24 @@ OptionA=0 [_32] Type=16 -Order=8 +Order=6 Top=15 Left=1995 Height=10095 Width=10710 State=0 Flags=00000020 -Setting=209:1:2048.c +Setting=412:1:2048.c OptionA=0 [_33] Type=16 -Order=4 +Order=8 Top=990 Left=990 Height=9060 Width=13635 -State=0 +State=16 Flags=00000020 Setting=1:1:MonochromeLib.c OptionA=0