Skip to content

Instantly share code, notes, and snippets.

@barelyknown
Created October 31, 2012 19:08
Show Gist options
  • Save barelyknown/3989169 to your computer and use it in GitHub Desktop.
Save barelyknown/3989169 to your computer and use it in GitHub Desktop.
Letterpress Simulation Output
# Any arbitrary strategy is supported. Some predefined strategies are included too.
module Linotype
class Strategy
EDGE_AND_CORNER = ->(move) do
move.score[:covered] + move.score[:defended] + move.score[:edges] + move.score[:corners]
end
CORNER_LOVER = ->(move) do
score = move.score[:covered] + move.score[:defended] + move.score[:edges] + move.score[:corners]
score += 10 if (move.score[:corners_defended_before] == 0 && move.score[:corners_defended_after] > 0)
score
end
...
end
end
> s1 = Linotype::Strategy.predefined("EDGE_AND_CORNER")
=> #<Linotype::Strategy: ... >
> s2 = Linotype::Strategy.predefined("CORNER_LOVER")
=> #<Linotype::Strategy: ... >
> simulator = Linotype::Simulator.new(s1, s2)
=> #<Linotype::Simulator: ... >
> simulator.simulate!
Let's start the simulator
Player 1 will play: JOCUNDITY
X T U H Y1
V D D1 F F
U1 N1 V V B
Z O1 U J T1
I1 J1 C1 Z J
Player 1: 9
Player 2: 0
---------------
Player 2 will play: FITCHY
X T U H2 Y2
V D D1 F F2
U1 N1 V V B
Z O1 U J T2
I2 J1 C2 Z J
Player 1: 5
Player 2: 6
---------------
Player 1 will play: OUTCHID
X T1 U1 H1 Y2
V D1 D1 F F2
U1 N1 V V B
Z O1 U J T2
I1 J1 C1 Z J
Player 1: 11
Player 2: 3
---------------
Player 2 will play: CHINTZ
X T2 U1 H2 Y2
V D1 D1 F F2
U1 N2 V V B
Z2 O1 U J T2
I2 J1 C2 Z J
Player 1: 6
Player 2: 9
---------------
Player 1 will play: CHINTZY
X T1 U1 H1 Y2
V D1 D1 F F2
U1 N1 V V B
Z1 O1 U J T2
I1 J1 C1 Z J
Player 1: 12
Player 2: 3
---------------
Player 2 will play: FOXHUNT
X2 T2 U1 H2 Y2
V D1 D1 F2 F2
U2 N2 V V B
Z1 O2 U J T2
I1 J1 C1 Z J
Player 1: 7
Player 2: 10
---------------
Player 1 will play: OUTJINX
X1 T2 U1 H2 Y2
V D1 D1 F2 F2
U2 N1 V V B
Z1 O1 U1 J T1
I1 J1 C1 Z J1
Player 1: 13
Player 2: 6
---------------
Player 2 will play: UNBOX
X2 T2 U2 H2 Y2
V D1 D1 F2 F2
U2 N2 V V B2
Z1 O1 U1 J T1
I1 J1 C1 Z J1
Player 1: 10
Player 2: 10
---------------
Player 1 will play: UNFIXT
X1 T1 U1 H2 Y2
V D1 D1 F1 F2
U2 N1 V V B2
Z1 O1 U1 J T1
I1 J1 C1 Z J1
Player 1: 15
Player 2: 5
---------------
Player 2 will play: FUNDIC
X1 T1 U2 H2 Y2
V D2 D1 F2 F2
U2 N2 V V B2
Z1 O1 U1 J T1
I1 J1 C2 Z J1
Player 1: 10
Player 2: 10
---------------
Player 1 will play: BONDUC
X1 T1 U2 H2 Y2
V D1 D1 F2 F2
U1 N1 V V B1
Z1 O1 U1 J T1
I1 J1 C1 Z J1
Player 1: 15
Player 2: 5
---------------
Player 2 will play: BIJOUX
X2 T1 U2 H2 Y2
V D1 D1 F2 F2
U1 N1 V V B2
Z1 O1 U2 J T1
I1 J1 C1 Z J2
Player 1: 11
Player 2: 9
---------------
Player 1 will play: VOX
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V V B2
Z1 O1 U2 J T1
I1 J1 C1 Z J2
Player 1: 13
Player 2: 8
---------------
Player 2 will play: OVIDUCT
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N1 V V2 B2
Z1 O2 U2 J T2
I1 J1 C2 Z J2
Player 1: 9
Player 2: 13
---------------
Player 1 will play: CONDUIT
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z J2
Player 1: 14
Player 2: 8
---------------
Player 2 will play: NOCTUID
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N2 V V2 B2
Z1 O1 U2 J T2
I1 J1 C2 Z J2
Player 1: 9
Player 2: 13
---------------
Player 1 will play: INDUCT
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z J2
Player 1: 14
Player 2: 8
---------------
Player 2 will play: DUCT
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N1 V V2 B2
Z1 O1 U2 J T2
I1 J1 C2 Z J2
Player 1: 10
Player 2: 12
---------------
Player 1 will play: DUTCH
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z J2
Player 1: 14
Player 2: 8
---------------
Player 2 will play: DITZ
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N1 V V2 B2
Z1 O1 U1 J T2
I1 J1 C1 Z2 J2
Player 1: 12
Player 2: 11
---------------
Player 1 will play: DITZY
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z1 J2
Player 1: 15
Player 2: 8
---------------
Player 2 will play: DONUT
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N2 V V2 B2
Z1 O1 U2 J T2
I1 J1 C1 Z1 J2
Player 1: 11
Player 2: 12
---------------
Player 1 will play: JUNTO
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N1 V V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z1 J1
Player 1: 15
Player 2: 8
---------------
Player 2 will play: YUTZ
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N1 V V2 B2
Z1 O1 U2 J T2
I1 J1 C1 Z2 J1
Player 1: 12
Player 2: 11
---------------
Player 1 will play: FUTZ
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N1 V V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z1 J1
Player 1: 15
Player 2: 8
---------------
Player 2 will play: DIVOT
X1 T2 U2 H2 Y2
V1 D2 D2 F2 F2
U1 N1 V2 V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z1 J1
Player 1: 13
Player 2: 11
---------------
Player 1 will play: OBTUND
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N1 V2 V2 B1
Z1 O1 U1 J T1
I1 J1 C1 Z1 J1
Player 1: 16
Player 2: 8
---------------
Player 2 will play: BUNDT
X1 T2 U2 H2 Y2
V1 D2 D2 F2 F2
U1 N2 V2 V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z1 J1
Player 1: 12
Player 2: 12
---------------
Player 1 will play: DUNT
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N1 V2 V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z1 J1
Player 1: 15
Player 2: 9
---------------
Player 2 will play: COUNT
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N2 V2 V2 B2
Z1 O1 U2 J T2
I1 J1 C1 Z1 J1
Player 1: 12
Player 2: 12
---------------
Player 1 will play: OUTFIND
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V2 V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z1 J1
Player 1: 16
Player 2: 8
---------------
Player 2 will play: UNTIDY
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N2 V2 V2 B2
Z1 O1 U2 J T2
I1 J1 C1 Z1 J1
Player 1: 12
Player 2: 12
---------------
Player 1 will play: NUDITY
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V2 V2 B2
Z1 O1 U1 J T1
I1 J1 C1 Z1 J1
Player 1: 16
Player 2: 8
---------------
Player 2 will play: NUDZH
X1 T1 U2 H2 Y2
V1 D1 D2 F2 F2
U1 N2 V2 V2 B2
Z1 O1 U2 J T1
I1 J1 C1 Z2 J1
Player 1: 12
Player 2: 12
---------------
Player 1 will play: UNIBODY
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V2 V2 B1
Z1 O1 U1 J T1
I1 J1 C1 Z2 J1
Player 1: 16
Player 2: 8
---------------
Player 2 will play: COBNUT
X1 T1 U2 H2 Y2
V1 D1 D1 F2 F2
U1 N2 V2 V2 B2
Z1 O1 U2 J T2
I1 J1 C2 Z2 J1
Player 1: 11
Player 2: 13
---------------
Player 1 will play: JUNCO
X1 T1 U1 H2 Y2
V1 D1 D1 F2 F2
U1 N1 V2 V2 B2
Z1 O1 U2 J1 T2
I1 J1 C1 Z2 J1
Player 1: 15
Player 2: 10
---------------
Game Over!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment