@@ -23,7 +23,7 @@ This project is based on the last one, but copying Xcode projects is a
dicy, multiple-step project, easy to mess up.
Instead, I suggest you create a new project `assign3` in your repository,
no need for any tests. Create new files with the same name in your last project ("model.swift" and any other files you created), and copy paste the files to this new project.
no need for any tests. Create new files with the same name in your last project ("model.swift" and any other files you created), and copy and paste the files to this new project.
Run this version to ensure everything is working correctly, quit out of Xcode,
`git add` your code, and then commit push to the server. Note that if you
...
...
@@ -93,7 +93,7 @@ will be added to the list.
## Task 3: Animation
You need to implement "tile moving animation" to show the movements of tiles while clicking the direction buttons.
You need to implement "tile moving" animation to show the movements of tiles in response to clicking the direction buttons.
Hint: You can implement the animation of tile movement by adding
animation keywords at 2 locations of your implementation. You may also
...
...
@@ -119,19 +119,19 @@ have to implement the same way as we did here. We will not inspect
your code for this project, but only check your View.
## Task 4: End of Game
In the last project, we never handled a situation when our game failed
or ended. We should implement a Boolean variable `isDone` in
The last project did not handle the game ending cleanly. Implement a Boolean variable `isDone` in
model.swift, and a method `func isGameDone()` to check if the game is
ended.
When will the game end?
1. When there is no any empty tile or possible moves of the tiles in
the board. You should handle the situation where some of the
directions are not executable where some other directions are
executable. In this situation, clicking the un-executable direction
button will do nothing. Only when ALL 4 directions are not executable,
the game is ended.
1. When there is no any empty tile, and no possible moves. Movement
in on direction might not be possible even while movement is
possible in others.
Trying to move in this "impossible" direction should result in no
change to the board: no movement, no spawn.
Only when ALL four directions are impossible has
the game ended.
2. When we click the `New Game` button. Every time we click the `New