Activities/Turtle in a Pond: Difference between revisions
| Line 48: | Line 48: | ||
row = turtle[1] + CIRCLE[c][i][1] | row = turtle[1] + CIRCLE[c][i][1] | ||
if not self._dots[self._grid_to_dot((col, row))].type: | if not self._dots[self._grid_to_dot((col, row))].type: | ||
return [col, row] | |||
return turtle | |||
</pre> | |||
In this version, the turtle orientation is set as well. | |||
<pre> | |||
def _turtle_strategy(self, turtle): | |||
c = turtle[1] % 2 | |||
for i in range(6): | |||
col = turtle[0] + CIRCLE[c][i][0] | |||
row = turtle[1] + CIRCLE[c][i][1] | |||
if not self._dots[self._grid_to_dot((col, row))].type: | |||
self._orientation = i | |||
return [col, row] | return [col, row] | ||
return turtle | return turtle | ||
| Line 62: | Line 76: | ||
row = turtle[1] + CIRCLE[c][(i + n) % 6][1] | row = turtle[1] + CIRCLE[c][(i + n) % 6][1] | ||
if not self._dots[self._grid_to_dot((col, row))].type: | if not self._dots[self._grid_to_dot((col, row))].type: | ||
self._orientation = (i + n) % 6 | |||
return [col, row] | return [col, row] | ||
return turtle | return turtle | ||
| Line 75: | Line 90: | ||
row = turtle[1] + CIRCLE[c][i][1] | row = turtle[1] + CIRCLE[c][i][1] | ||
if self._dots[self._grid_to_dot((col, row))].type is None: | if self._dots[self._grid_to_dot((col, row))].type is None: | ||
self._orientation = i | |||
return [col, row] | return [col, row] | ||
| Line 82: | Line 98: | ||
row = turtle[1] + CIRCLE[c][(i + n) % 6][1] | row = turtle[1] + CIRCLE[c][(i + n) % 6][1] | ||
if not self._dots[self._grid_to_dot((col, row))].type: | if not self._dots[self._grid_to_dot((col, row))].type: | ||
self._orientation = (i + n) % 6 | |||
return [col, row] | return [col, row] | ||
return turtle | return turtle | ||