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.
Add a small fix for Python3 / latest pygame version which require an integer to be passed to
move()
but more importantly, fixes a (dx/dy) computation error inmove()
Example:
Green points added for convenience to show the true place the robot should have moved to (based on correct
math.cos(math.radians(self.heading)) * distance
calculation between start and end points) [omit the left-most green point]Actual:
As you can see,
move()
is shorter than what it should be due to a confusion between rect's(x, y)
and(centerx, centery)
. The fact thatmove()
does trigonometric computation in a loop adds up inaccuracy to the error.Expected (and using present PR):