World

Game

Of

Sprouts

Association

It's not much fun to play sprouts with playing cards, but it is possible. Why would anyone want to do such a thing? Maybe it will be easier to analyze the game or more straightforward to implement it on a computer this way. Maybe you're fresh out of pens and paper.

To play a game with *N* initial spots, you'll need three identical
decks of playing cards
with at least 3*N*+1 distinct cards in each deck. This way each card will have exactly two identical "twins". (Actually, the cards
are incidental; integers will suffice. This document is really about how to generate legal moves and
update a position represented in Dan Hoey's boundary-list notation.) In the
rules below, we'll assume you've combined the three decks into one large deck.
You will also need a flat space for at least 2*N*+1 rows of cards. A large
wooden table will do nicely. Each row will contain zero or more stacks of
cards, and each stack will contain one or more cards.

To "cut" a stack of cards means the usual thing: remove one or more cards from the top of the stack (preserving order) and put them under the remaining cards in the stack.

To "play" a card, remove it from the deck and place it in the specified location.

- Choose two different nonempty stacks
*A*and*B*in the same row. Optionally, cut stack*A*. Optionally, cut stack*B*. - If
*A*has more than one card, then play a twin of the top card to the bottom of the stack. - If
*B*has more than one card, then play a twin of the top card to the bottom of the stack. - From the deck, remove two identical cards that are not already on the table. Place one on top of
*A*, and one on top of*B*. - Place A on top of B.

- Choose a nonempty stack. Optionally, cut it.
- Play a twin of the top card to the bottom of the stack.
- Remove one or more cards -- but not all of them -- from the top of the stack and place them in a new row.
- If the original stack or the new stack has more than one card, then play a twin of the the bottom card of the new stack to the top of the original stack.
- From the deck, remove two identical cards that are not already on the table. Place one on top of the new stack, and one on top of the original stack.
- Optionally, move one or more stacks -- other than the original stack — from the original row to the new row.

Consider the following game (in WGOSA notation): 2+ 1(3)2 1(4)2 1(5)4 2(6)3

Here's how that game would be played with cards. To represent the position in text, we will use the following conventions: A stack of cards is written in order from top card to bottom, with a comma between each card. A semicolon separates each stack from adjacent stacks in the same row. A slash separates each row from its neighbors. (This is the notation used by Dan Hoey in his paper on sprouts notation.)

(2) initial position:

- 1;2

__1__;__2__- (skipped)
- (skipped)
- 1
__,3__;2__,3__ - 1,3
__,__2,3

- 1,3,2,3
- 1,3,2,3
__,1__ - 1,3,2
__/__3,1 - 1,3,2/
__2,__3,1 __4,__1,3,2/__4,__2,3,1- (skipped)

__1,3,2,4__/4,2,3,1- 1,3,2,4
__,1__/4,2,3,1 - 1,3,2,4
__/__1/4,2,3,1 - 1,3,2,4/
__4,__1/4,2,3,1 __5,__1,3,2,4/__5,__4,1/4,2,3,1- (skipped)

- 5,1,3,2,4/5,4,1/
__2,3,1,4__ - 5,1,3,2,4/5,4,1/2,3,1,4
__,2__ - 5,1,3,2,4/5,4,1/2,3
__/__1,4,2 - 5,1,3,2,4/5,4,1/2,3/
__3,__1,4,2 - 5,1,3,2,4/5,4,1/
__6,__2,3/__6,__3,1,4,2 - (skipped)

Playing card term | Graph theory term |
---|---|

card | occurrence of vertex in boundary |

stack | left-hand walk of vertices on boundary |

row | face, i.e. set of boundaries |

table | plane graph, i.e. set of faces |

This document builds upon the sprouts notation system devised by Dan Hoey.