|
1 | | -# CS3217 Problem Set 4 |
2 | | - |
3 | | -**Name:** Stuart Long Chay Boon |
4 | | - |
5 | | -**Matric No:** A0217528B |
6 | | - |
7 | | -## Tips |
8 | | -1. CS3217's docs is at https://cs3217.github.io/cs3217-docs. Do visit the docs often, as |
9 | | - it contains all things relevant to CS3217. |
10 | | -2. A Swiftlint configuration file is provided for you. It is recommended for you |
11 | | - to use Swiftlint and follow this configuration. We opted in all rules and |
12 | | - then slowly removed some rules we found unwieldy; as such, if you discover |
13 | | - any rule that you think should be added/removed, do notify the teaching staff |
14 | | - and we will consider changing it! |
15 | | - |
16 | | - In addition, keep in mind that, ultimately, this tool is only a guideline; |
17 | | - some exceptions may be made as long as code quality is not compromised. |
18 | | -3. Do not burn out. Have fun! |
| 1 | +# Peggle Clone |
19 | 2 |
|
20 | 3 | ## Dev Guide |
21 | 4 | ## How to play |
@@ -204,15 +187,10 @@ The player wins the game by clearing all orange pegs before the timer runs out o |
204 | 187 |
|
205 | 188 | ## Level Designer Additional Features |
206 | 189 |
|
207 | | -### Peg Rotation |
208 | | -Please explain how the player rotates the triangular pegs. |
209 | | - |
210 | 190 | ### Peg Resizing |
211 | 191 | The player can resize the peg by pressing the resize button, and then dragging the pegs away from its center to increase its size, and towards its center to decrease its size |
212 | 192 |
|
213 | 193 | ## Bells and Whistles |
214 | | -Please write all of the additional features that you have implemented so that |
215 | | -your grader can award you credit. |
216 | 194 | ### Background music |
217 | 195 |
|
218 | 196 | Background music has been added to the game, and plays throughout the duration of the game. Credits to [https://www.bensound.com/](https://www.bensound.com/) for the free music clips. |
@@ -537,20 +515,3 @@ A visual representation of the number of cannon balls the user has left is displ |
537 | 515 | - When exit button is pressed from level designer OR start game, it should bring the user back to the home page. |
538 | 516 | - Background music |
539 | 517 | - Should be played throughout the entire app |
540 | | - |
541 | | -## Written Answers |
542 | | - |
543 | | -### Reflecting on your Design |
544 | | -> Now that you have integrated the previous parts, comment on your architecture |
545 | | -> in problem sets 2 and 3. Here are some guiding questions: |
546 | | -> - do you think you have designed your code in the previous problem sets well |
547 | | -> enough? |
548 | | -> - is there any technical debt that you need to clean in this problem set? |
549 | | -> - if you were to redo the entire application, is there anything you would |
550 | | -> have done differently? |
551 | | -
|
552 | | -I feel that I did not design my code in the previous problem sets well enough. There were lots of coupling, and it was not very extensible. One example was, instead of creating PeggleObjects, i only created a Pegs class, which could only represent Pegs. When i had to represent Triangles, it was pretty hard. |
553 | | - |
554 | | -Yes there were technical debt i had to clean up, mainly was to refactor and reconstruct my classes, like the PeggleObject class mentioned. Also, there was coupling between my model and persistance, and i had to refactor them and decouple it so that it would be easier for me to save more information in JSON format. |
555 | | - |
556 | | -If i were to redo the entire application, I would want to first read all the problem sets, so i know roughly what i have to do for the application. Then i would be able to plan my code well, and the structure of my code. I would have liked to use more patterns taught in CS3217, like the delegate, decorator, publisher subscriber pattern, had i known about them earlier. I am sure that if i were to incorporate these patterns, it would be able to solve more problems for me. |
0 commit comments