From e1ed22231d955eedf3895adf72fd3fbbeb133376 Mon Sep 17 00:00:00 2001 From: Johannes Löthberg Date: Sat, 23 Jul 2016 01:14:27 +0200 Subject: Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Johannes Löthberg --- sidewinder.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 sidewinder.py (limited to 'sidewinder.py') diff --git a/sidewinder.py b/sidewinder.py new file mode 100644 index 0000000..c047eed --- /dev/null +++ b/sidewinder.py @@ -0,0 +1,28 @@ +import random + + +class Sidewinder(object): + def on(grid): + for row in grid.each_row(): + run = [] + + for cell in row: + run.append(cell) + + at_eastern_boundary = (cell.east == None) + at_northern_boundary = (cell.north == None) + + should_close_out = at_eastern_boundary or \ + (not at_northern_boundary and random.randint(0, 1) == 0) + + if should_close_out: + member = random.choice(run) + if member.north: + member.link(member.north) + del run[:] + else: + cell.link(cell.east) + + #print(grid) + + return grid -- cgit v1.2.3-54-g00ecf