Sprite 2 Reflection 

  - Overall, it went decently well. We achieved the needed requirements, though we did experience some setbacks. 
  - Overall, we successfully diminished the amount of tasks needed to be done throughout the sprint. 
  - Issues with timing, communication, and synchronizing work definitely did not help, but recognizing, 
      we should be able to do better going forward.
  - Most changes to this sprint were constructive. Different classes were refactored so that there is much less duplication of code, 
      less coupling, and better code patterns used (factories, state machine, etc).
  - Still experiencing some bugs however, but those should be able to be fixed. 

  For the next sprint:
  - Will try to keep better on track with the given schedule (cause will help us).
  - Will try to communciate/coordinate better so things get done earlier so that there is more time for code review.


Sprint 3 Reflection

  - Overall it went decently well. We had main functionality done earlier than for Sprint 2, and have been able to debug more. 
  - Overall, we did similarly diminish the amount of tasks needed to be done throughout the sprint, but we did realize of some bugs/design issues
    that will cause issues later on (ie for sprint 4), that we did not have time to address, so that did increase at the end our task amount.
  - Thus, overall, our burndown chart displays a mostly downward trend with a bit of a rise at the end of this sprint (burndown chart can be seen on git in documentation folder).
  - Still had some issues with timing and communication (mainly cause of break right in the middle of the sprint)(we started the sprint a bit late cause we were fixing sprint 2 stuff, so got delayed more with break for sprint 3).
  - Because of break and midterm season, having regular meetings did not happen as much during this sprint, but we currently already have scheduled regular meetings for the next sprint. 
  - Most changes were pretty positive. We refactored a lot of code (re: keyboard especially), fixed some bugs and functionality that didn't work from the last sprint (ie boomerang not rotating and attacking), and added new code/functionality in a pretty good way coupling wise (Game1 and command still have a lot of refactoring to be done to them though).
      - On that note, dungeon manager was going to fix a lot of that game1 and command stuff, but timing wise we did not get around to it. 
  - Still experiencing some bugs (merges especially cause issues), but we are better about it this sprint around. 

  For the next sprint:
    - Will try to really focus on refactoring and doing things like dungeon manager so that our code is more cohesive and less coupled.
    - Will try to continue the better communication of Sprint 3.


Sprint 4 Reflection: 

  - Overall, this sprint went a lot better than Sprint 2 and 3. There was overall a lot more commmunication as well as team meet-ups, which helped (talking about the code and the problems everyone was experiencing with it allowed for more innovative solutions, and there was a better sharing of issues, which allowed for everything to be done in a more timely manner as well as a better sharing of the workload).
  - Overall, we did diminish the amount of tasks we needed to do - there are some changes we potentially wanted to implement that we didn't (such as dungeon manager), but those will go to Sprint 5. 
  - Thus, overall, our Sprint 4 burndown chart thus displays a downward trend as a result of us diminishing the tasks we needed to do (burndown chart can be seen on git in documentation folder).
  - We fixed a lot of the bugs, and added missing collisions and separated collisions into response and detection.
  - Timing still was a bit of an issue, where we still completed sprints the last day, but this time we started finishing tasks and merging tasks earlier than we had on previous sprints, thus giving us leeway when we were running into issues. 
  - Team meetings this sprint were more frequent and more regular, which definitely helped and is something we will try to employ going forth.
  - Most changes this sprint were constructive: file-reader and our levelsload.txt were highly simplified, collision was divided into response and detection, more factories were used, more state machines were employed, and we had less magic numbers, so generally code design was a lot better and more cohesive.
  - One class that suffered/didn't get better was just game 1, since we didn't get the chance yet to create a dungeon manager yet. 

For the next sprint:
  - We will try to continue our frequent meetings and better communication, because that really helped us this time. 
  - We will try to still complete things a bit earlier, but we still did a lot better with that this sprint.
  - We will try to actually make the dungeon manager.
  - Finish coding blocks.


Sprint 5 Reflection:
  - Overall, this sprint went pretty good! There was a lot more working together to do what needed to be polished/fixed/added from sprint 4, with a lot more focus on refactoring and code quality.
  - While we did not in the end get around to really implementing new functionality, as there was a lot to fix from Sprint 4, we did add a few more enemies and in general created a much more accurate and well-made recreation of The Legend of Zelda, with better overall code quality and readability.
  - Overall though, we did lower the amount of total tasks we needed to do, as can be seen in the burndown chart for sprint 5 (shown on git in the documentation folder), but there is definitely more we could have done if we had more time (such as new original functionality (goriyas and ghost enemies), better code quality, better graphics design through a better use of blocks and such).
  - New/Existing software design patterns were utilized (i.e. the strategy pattern with enemy movement, factories for all item creation instead of just a few of them).
  - Sprint 4 issues were fixed (such as the lack of smooth transitions, etc).
  - General debugging was done (fixing issues of Sprint 4), and more testing to find new bugs was done.
  - Thus overall, the changes to this sprint were rather more positive: we were able to fix issues of Sprint 4 and have better code quality. 
  - Timing was an issue, though almost expected with the approach of finals, but we were still able to meet regularly and talk about issues/things to do, and luckily everyone was more on top of work this sprint; however, some functionality was still being done at a rather late time (i.e. a few days before the sprint was due). 

For if there was a next sprint:
  - We would try to really communicate more and keep everyone more accountable, so that everything gets done (and specifically in a more timely manner), as well as focus more on code quality.
  - Refactor fully with less magic numbers. 
  - Continue refactoring Game1 and collisions.
  - Add additionally extra functionality, such as portals or power-ups. 
