Activities/Turtle in a Pond

From Sugar Labs
< Activities
Revision as of 22:50, 29 November 2011 by Walter (talk | contribs) (Created page with "==Turtle in a Pond Activity== Turtle in a Pond is a strategy game. The goal is to surround the turtle before it runs of the screen. 300px === How...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Turtle in a Pond Activity

Turtle in a Pond is a strategy game. The goal is to surround the turtle before it runs of the screen.

Turtle-in-a-pond.png

How to play Turtle in a Pond

Did you know that:

  • You can load your own strategy for the turtle

The Toolbars

TurtlePond toolbar-1.png

from left to right
  1. the Activity toolbar button
  2. the New Game button
  3. the Load new strategy button
  4. the Reload the default strategy button
  5. the Stop button

Strategy

The default strategy is simple: choose a random direction and go there if the dot is open.

def _turtle_strategy(self, turtle):
    c = turtle[1] % 2
    n = int(uniform(0, 6))
    for i in range(6):
        col = turtle[0] + CIRCLE[c][(i + n) % 6][0]
        row = turtle[1] + CIRCLE[c][(i + n) % 6][1]
        if not self._dots[self._grid_to_dot((col, row))].type:
            return [col, row]
    return turtle

In this version, the turtle will go off the edge if it can.

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 self._dots[self._grid_to_dot((col, row))].type is None:
            return [col, row]

    n = int(uniform(0, 6))
    for i in range(6):
        col = turtle[0] + CIRCLE[c][(i + n) % 6][0]
        row = turtle[1] + CIRCLE[c][(i + n) % 6][1]
        if not self._dots[self._grid_to_dot((col, row))].type:
            return [col, row]
    return turtle

The dots are stored in a 13x13 array. Each dot has an attribute, 'type', that determines it status. The edges have a type=None. Occupied dots have a type=True. Unoccupied dots have a type=False.


Where to get Turtle in a Pond

The Turtle in a Pond activity is available for download from the Sugar activity portal: Turtle in a Pond

The source code is available on the Sugar Labs Gitorious server.