diff --git a/game2048/.pytest_cache/v/cache/lastfailed b/game2048/.pytest_cache/v/cache/lastfailed index 450bf772656134db26390aebbe43d8f2c539c7f8..fb70bde4277eaa17628608635b927c8cb60e9341 100644 --- a/game2048/.pytest_cache/v/cache/lastfailed +++ b/game2048/.pytest_cache/v/cache/lastfailed @@ -1,4 +1,3 @@ { - "test_grid_2048.py::test_grid_to_string": true, - "test_grid_2048.py::test_move_possible": true + "test_grid_2048.py::test_grid_to_string": true } \ No newline at end of file diff --git a/game2048/.pytest_cache/v/cache/nodeids b/game2048/.pytest_cache/v/cache/nodeids index d7373135ec903abf49668689ea812b2e71bf0060..83a8465dad94b5f1d4477dfd7b64aa56f45988b7 100644 --- a/game2048/.pytest_cache/v/cache/nodeids +++ b/game2048/.pytest_cache/v/cache/nodeids @@ -9,6 +9,7 @@ "test_grid_2048.py::test_long_value_with_theme", "test_grid_2048.py::test_move_row_left", "test_grid_2048.py::test_move_row_right", + "test_grid_2048.py::test_move_grid", "test_grid_2048.py::test_is_grid_full", "test_grid_2048.py::test_move_possible" ] \ No newline at end of file diff --git a/game2048/grid_2048.py b/game2048/grid_2048.py index 76cdfe03f8216af751d4ab7da4520e95e6727f72..495a125f61f918e37c35e2b8e3bda1b70b4d8aea 100644 --- a/game2048/grid_2048.py +++ b/game2048/grid_2048.py @@ -162,8 +162,11 @@ def is_grid_full(grid): def move_possible(grid): possibles = [] for d in ["left","right","up","down"]: - possibles.append(move_gride(grid,d) != grid) + possibles.append(move_grid(grid,d) != grid) return possibles def is_game_over(grid): - + return is_grid_full(grid) and True not in move_possible(grid) + +def get_grid_tile_max(grid): + return max(get_all_tiles(grid)) diff --git a/game2048/test_grid_2048.py b/game2048/test_grid_2048.py index 3655978498b39abe03c2b12507236f7b1a478405..3acae3a0870aef18bc3e636a1ce84d8a527cee61 100644 --- a/game2048/test_grid_2048.py +++ b/game2048/test_grid_2048.py @@ -84,6 +84,12 @@ def test_move_row_right(): assert move_row_right([2, 4, 4, 0]) == [0, 0, 2, 8] assert move_row_right([4, 8, 16, 32]) == [4, 8, 16, 32] +def test_move_grid(): + assert move_grid([[2,0,0,2], [4, 4, 0, 0], [8, 0, 8, 0], [0, 2, 2, 0]],"left") == [[4,0,0,0], [8, 0, 0, 0], [16, 0, 0, 0], [4, 0, 0, 0]] + assert move_grid([[2,0,0,2], [4, 4, 0, 0], [8, 0, 8, 0], [0, 2, 2, 0]],"right") == [[0,0,0,4], [0, 0, 0, 8], [0, 0, 0, 16], [0, 0, 0, 4]] + assert move_grid([[2,0,0,2], [2, 4, 0, 0], [8, 4, 2, 0], [8, 2, 2, 0]],"up") == [[4,8,4,2], [16, 2, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] + assert move_grid([[2,0,0,2], [2, 4, 0, 0], [8, 4, 2, 0], [8, 2, 2, 0]],"down") == [[0, 0, 0, 0], [0, 0, 0, 0],[4,8,0,0],[16, 2, 4, 2]] + def test_is_grid_full(): assert is_grid_full([[0, 16, 32, 0], [64, 0, 32, 2], [2, 2, 8, 4], [512, 8, 16, 0]]) == False assert is_grid_full([[4, 16, 32, 4], [64, 8, 32, 2], [2, 2, 8, 4], [512, 8, 16, 1024]]) == True