Article View: comp.text
Article #2587A towers troff hack
From: Ken Flowers
Date: Wed, 06 Mar 1991 16:05
Date: Wed, 06 Mar 1991 16:05
295 lines
4575 bytes
4575 bytes
With all the recent talk of Towers of Hanoi programs
in editors, I thought I would submit a little hack
I wrote. This is an interactive TOH hack in troff.
Save the first file as tower.main
Save the second file as tower.loop
execute it by entering -
nroff -q tower.main
Standard disclaimers apply,
Ken Flowers
+++++++++++++++++++CUT HERE - tower.main++++++++++++++
...\"
...\" THE TOWERS OF TROFF
...\"
...\" A troff hack by Ken Flowers
...\" Main file
...\"
...\" Invoke this game with the following command:
...\"
...\" nroff -q tower.main
...\"
.ds 0 " |
.ds 1 " -
.ds 2 " ---
.ds 3 " -----
.ds 4 " -------
.ds 5 " ---------
.ds 6 " -----------
.ds 7 " -------------
.ds B "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.ds N "X 1 2 3 X
.nr 11 7
.nr 21 6
.nr 31 5
.nr 41 4
.nr 51 3
.nr 61 2
.nr 71 1
.nr 12 0
.nr 22 0
.nr 32 0
.nr 42 0
.nr 52 0
.nr 62 0
.nr 72 0
.nr 13 0
.nr 23 0
.nr 33 0
.nr 43 0
.nr 53 0
.nr 63 0
.nr 73 0
.de 12
.d1
.i2
..
.de 13
.d1
.i3
..
.de 23
.d2
.i3
..
.de 21
.d2
.i1
..
.de 32
.d3
.i2
..
.de 31
.d3
.i1
..
.de d1
.nr mv 0
.if '\\n(mv'0' \{
.nr mv \\n(71
.nr 71 0\}
.if '\\n(mv'0' \{
.nr mv \\n(61
.nr 61 0\}
.if '\\n(mv'0' \{
.nr mv \\n(51
.nr 51 0\}
.if '\\n(mv'0' \{
.nr mv \\n(41
.nr 41 0\}
.if '\\n(mv'0' \{
.nr mv \\n(31
.nr 31 0\}
.if '\\n(mv'0' \{
.nr mv \\n(21
.nr 21 0\}
.if '\\n(mv'0' \{
.nr mv \\n(11
.nr 11 0\}
.if '\\n(mv'0' bad move
..
.de d2
.nr mv 0
.if '\\n(mv'0' \{
.nr mv \\n(72
.nr 72 0\}
.if '\\n(mv'0' \{
.nr mv \\n(62
.nr 62 0\}
.if '\\n(mv'0' \{
.nr mv \\n(52
.nr 52 0\}
.if '\\n(mv'0' \{
.nr mv \\n(42
.nr 42 0\}
.if '\\n(mv'0' \{
.nr mv \\n(32
.nr 32 0\}
.if '\\n(mv'0' \{
.nr mv \\n(22
.nr 22 0\}
.if '\\n(mv'0' \{
.nr mv \\n(12
.nr 12 0\}
.if '\\n(mv'0' bad move
..
.de d3
.nr mv 0
.if '\\n(mv'0' \{
.nr mv \\n(73
.nr 73 0\}
.if '\\n(mv'0' \{
.nr mv \\n(63
.nr 63 0\}
.if '\\n(mv'0' \{
.nr mv \\n(53
.nr 53 0\}
.if '\\n(mv'0' \{
.nr mv \\n(43
.nr 43 0\}
.if '\\n(mv'0' \{
.nr mv \\n(33
.nr 33 0\}
.if '\\n(mv'0' \{
.nr mv \\n(23
.nr 23 0\}
.if '\\n(mv'0' \{
.nr mv \\n(13
.nr 13 0\}
.if '\\n(mv'0' bad move
..
.de i1
.if '\\n(11'0' \{
.nr 11 \\n(mv
.nr mv 0\}
.if '\\n(21'0' \{
.nr 21 \\n(mv
.nr mv 0\}
.if '\\n(31'0' \{
.nr 31 \\n(mv
.nr mv 0\}
.if '\\n(41'0' \{
.nr 41 \\n(mv
.nr mv 0\}
.if '\\n(51'0' \{
.nr 51 \\n(mv
.nr mv 0\}
.if '\\n(61'0' \{
.nr 61 \\n(mv
.nr mv 0\}
.if '\\n(71'0' \{
.nr 71 \\n(mv
.nr mv 0\}
.if !'\\n(mv'0' bad move
..
.de i2
.if '\\n(12'0' \{
.nr 12 \\n(mv
.nr mv 0\}
.if '\\n(22'0' \{
.nr 22 \\n(mv
.nr mv 0\}
.if '\\n(32'0' \{
.nr 32 \\n(mv
.nr mv 0\}
.if '\\n(42'0' \{
.nr 42 \\n(mv
.nr mv 0\}
.if '\\n(52'0' \{
.nr 52 \\n(mv
.nr mv 0\}
.if '\\n(62'0' \{
.nr 62 \\n(mv
.nr mv 0\}
.if '\\n(72'0' \{
.nr 72 \\n(mv
.nr mv 0\}
.if !'\\n(mv'0' bad move
..
.de i3
.if '\\n(13'0' \{
.nr 13 \\n(mv
.nr mv 0\}
.if '\\n(23'0' \{
.nr 23 \\n(mv
.nr mv 0\}
.if '\\n(33'0' \{
.nr 33 \\n(mv
.nr mv 0\}
.if '\\n(43'0' \{
.nr 43 \\n(mv
.nr mv 0\}
.if '\\n(53'0' \{
.nr 53 \\n(mv
.nr mv 0\}
.if '\\n(63'0' \{
.nr 63 \\n(mv
.nr mv 0\}
.if '\\n(73'0' \{
.nr 73 \\n(mv
.nr mv 0\}
.if !'\\n(mv'0' bad move
..
\&
.sp 5
\*\n(71\*\n(72\*\n(73
.br
\*\n(61\*\n(62\*\n(63
.br
\*\n(51\*\n(52\*\n(53
.br
\*\n(41\*\n(42\*\n(43
.br
\*\n(31\*\n(32\*\n(33
.br
\*\n(21\*\n(22\*\n(23
.br
\*\n(11\*\n(12\*\n(13
.br
\*B
.br
\*N
.br
\*B
.br
.fl
.nx tower.loop
+++++++++++++++++++CUT HERE - tower.loop++++++++++++++
...\"
...\" THE TOWERS OF TROFF
...\"
...\" A troff hack by Ken Flowers
...\" Loop file
...\"
.sp
enter move (.12, .13, .21, .23, .31, .32, .ex)
.br
include the "."
.br
type two returns when finished
.sp
.br
.fl
.rd
.fl
\&
.sp 5
\*\n(71\*\n(72\*\n(73
.br
\*\n(61\*\n(62\*\n(63
.br
\*\n(51\*\n(52\*\n(53
.br
\*\n(41\*\n(42\*\n(43
.br
\*\n(31\*\n(32\*\n(33
.br
\*\n(21\*\n(22\*\n(23
.br
\*\n(11\*\n(12\*\n(13
.br
\*B
.br
\*N
.br
\*B
.br
.fl
.nx tower.loop
Technical Details
Message-ID:
<19661@paperboy.OSF.ORG>Path:
arc1-ca.pugleaf.net!utzoo!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!think.com!paperboy!osf!flowersShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!think.com!paperboy!osf!flowers From: flowers@osf.osf.org (Ken Flowers) Newsgroups: comp.text Subject: A towers troff hack Message-ID: <19661@paperboy.OSF.ORG> Date: 6 Mar 91 16:05:59 GMT Sender: news@OSF.ORG Lines: 295