diff --git a/assign3/README.md b/assign3/README.md index 80efbd8f87ad02359ae0130918c4acbfba532be7..6d0dd9a4a1825af0c7ef059d5bea84951f43ebc4 100644 --- a/assign3/README.md +++ b/assign3/README.md @@ -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 Game` button, the current game will end.