Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Professor Cohen-
I want to be honest and state that much of the structure of my final project was lifted from an excellent YouTube tutorial that I used to understand and work through the project. However, some significant things are different.
First, the tutorial did not have the same parameters as our assignment. The edges of the grid in the tutorial were not “penetrable” like you specified for our assignment. I adapted the logic so that it works the way you wanted it to. Watching a glider fly through the corner of the screen and come out in the opposite corner was one of the most satisfying programming experiences I can remember. This was a really cool assignment and I am planning to go over it a few more times on my own, each time trying less to use the videos and more to do it from scratch.
Second, the tutorial used Rspec for testing. I used MiniTest for my tests. I found this exercise to be an excellent learning experience for TDD. I wasn't very good with MiniTest before this, but now I feel very comfortable with it. Unfortunately I broke some of my tests when I made the edges penetrable, and I ran out of time to repair those tests.
The tutorial used Gosu to render the grid. None of the Gosu/rendering is my original work, I just went through the tutorial.
Finally, even in cases where I did not attempt my own implementation and just followed what was on the screen, I found many instances where the program did not work correctly (because of a subtle error I had made) and I had to do some deep troubleshooting, which the TDD really helped with. The exercise was fantastic and I can’t wait to find some more things like this to work through on my own.
I’m not sure if you will accept this given that much of it isn’t really my work; unfortunately since I have been behind throughout the entire class, I realized I did not have the time to figure it out entirely by myself. I chose to work through this tutorial, adapt it as needed, and submit this in lieu of submitting nothing at all, with the expectation that it will not be accepted. I just wanted you to know that I worked at it and used it as a learning experience. I hope you will understand that I did not intend to cheat in any way. This is the best that I could do with the time that I could afford.
Tim