summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/othelloboard/othelloboard.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/othelloboard/othelloboard.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/othelloboard/othelloboard.sty')
-rw-r--r--macros/latex/contrib/othelloboard/othelloboard.sty1069
1 files changed, 1069 insertions, 0 deletions
diff --git a/macros/latex/contrib/othelloboard/othelloboard.sty b/macros/latex/contrib/othelloboard/othelloboard.sty
new file mode 100644
index 0000000000..e2bf8e2cd6
--- /dev/null
+++ b/macros/latex/contrib/othelloboard/othelloboard.sty
@@ -0,0 +1,1069 @@
+%% othelloboard.sty
+ %% Copyright 2011 Steven Hall
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License.
+ % The latest version of this license is in
+ % http://www.latex-project.org/lppl.txt
+ % and version 1.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is Steven Hall.
+ %
+ % This work consists of the files othelloboard.sty and othelloboard.pdf
+
+
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{othelloboard}[2011/18/08 Othello board diagram drawing package by Steven Hall]
+\RequirePackage{graphicx}
+\RequirePackage{pict2e}
+\RequirePackage{ifthen}
+\RequirePackage{color}
+\RequirePackage{xstring}
+\RequirePackage{stringstrings}
+
+
+%%%%%%%%%%%%%%%%%%%%
+%%OTHELLO DIAGRAMS MACROS%%
+%%%%%%%%%%%%%%%%%%%%
+
+
+%------Main commands for individual discs-------%
+\newcommand{\blackdisc}{\circle*{20.4}}
+\newcommand{\whitedisc}{\circle{20}}
+\newcommand{\whitediamond}{\makebox(0,0){\rotatebox{45}{\framebox(13.3,13.3){}}}}
+\newcommand{\blackdiamond}{\makebox(0,0){\rotatebox{45}{\rule{14.12pt}{14.12pt}}}}
+
+
+%------Conditional command depending on value of a single argument. 1=white disc, 2=black disc, 3=white diamond, 4=black diamond, 0=no disc. Other numbers give no disc by default.
+\newcommand{\othellodisc}[1]{%
+\ifthenelse{#1=0}{}{}%
+\ifthenelse{#1=1}{\whitedisc}{}%
+\ifthenelse{#1=2}{\blackdisc}{}%
+\ifthenelse{#1=3}{\whitediamond}{}%
+\ifthenelse{#1=4}{\blackdiamond}{}%
+}%
+
+%-------Declare all the counters to be used to store value inputted for each square. Only called upon to determine the text colour of annotations (white text if value=2 or 4, otherwise normal text).
+\newcounter{disccolouraa} \newcounter{disccolourab} \newcounter{disccolourac}
+\newcounter{disccolourad} \newcounter{disccolourae} \newcounter{disccolouraf}
+\newcounter{disccolourag} \newcounter{disccolourah} \newcounter{disccolourba}
+\newcounter{disccolourbb} \newcounter{disccolourbc} \newcounter{disccolourbd}
+\newcounter{disccolourbe} \newcounter{disccolourbf} \newcounter{disccolourbg}
+\newcounter{disccolourbh} \newcounter{disccolourca} \newcounter{disccolourcb}
+\newcounter{disccolourcc} \newcounter{disccolourcd} \newcounter{disccolource}
+\newcounter{disccolourcf} \newcounter{disccolourcg} \newcounter{disccolourch}
+\newcounter{disccolourda} \newcounter{disccolourdb} \newcounter{disccolourdc}
+\newcounter{disccolourdd} \newcounter{disccolourde} \newcounter{disccolourdf}
+\newcounter{disccolourdg} \newcounter{disccolourdh} \newcounter{disccolourea}
+\newcounter{disccoloureb} \newcounter{disccolourec} \newcounter{disccoloured}
+\newcounter{disccolouree} \newcounter{disccolouref} \newcounter{disccoloureg}
+\newcounter{disccoloureh} \newcounter{disccolourfa} \newcounter{disccolourfb}
+\newcounter{disccolourfc} \newcounter{disccolourfd} \newcounter{disccolourfe}
+\newcounter{disccolourff} \newcounter{disccolourfg} \newcounter{disccolourfh}
+\newcounter{disccolourga} \newcounter{disccolourgb} \newcounter{disccolourgc}
+\newcounter{disccolourgd} \newcounter{disccolourge} \newcounter{disccolourgf}
+\newcounter{disccolourgg} \newcounter{disccolourgh} \newcounter{disccolourha}
+\newcounter{disccolourhb} \newcounter{disccolourhc} \newcounter{disccolourhd}
+\newcounter{disccolourhe} \newcounter{disccolourhf} \newcounter{disccolourhg}
+\newcounter{disccolourhh}
+%
+
+%----- Need a command to reset all counters.----
+\newcommand{\resetalldisccolours}{
+\setcounter{disccolouraa}{0}\setcounter{disccolourab}{0}\setcounter{disccolourac}{0}
+\setcounter{disccolourad}{0}\setcounter{disccolourae}{0}\setcounter{disccolouraf}{0}
+\setcounter{disccolourag}{0}\setcounter{disccolourah}{0}\setcounter{disccolourba}{0}
+\setcounter{disccolourbb}{0}\setcounter{disccolourbc}{0}\setcounter{disccolourbd}{0}
+\setcounter{disccolourbe}{0}\setcounter{disccolourbf}{0}\setcounter{disccolourbg}{0}
+\setcounter{disccolourbh}{0}\setcounter{disccolourca}{0}\setcounter{disccolourcb}{0}
+\setcounter{disccolourcc}{0}\setcounter{disccolourcd}{0}\setcounter{disccolource}{0}
+\setcounter{disccolourcf}{0}\setcounter{disccolourcg}{0}\setcounter{disccolourch}{0}
+\setcounter{disccolourda}{0}\setcounter{disccolourdb}{0}\setcounter{disccolourdc}{0}
+\setcounter{disccolourdd}{0}\setcounter{disccolourde}{0}\setcounter{disccolourdf}{0}
+\setcounter{disccolourdg}{0}\setcounter{disccolourdh}{0}\setcounter{disccolourea}{0}
+\setcounter{disccoloureb}{0}\setcounter{disccolourec}{0}\setcounter{disccoloured}{0}
+\setcounter{disccolouree}{0}\setcounter{disccolouref}{0}\setcounter{disccoloureg}{0}
+\setcounter{disccoloureh}{0}\setcounter{disccolourfa}{0}\setcounter{disccolourfb}{0}
+\setcounter{disccolourfc}{0}\setcounter{disccolourfd}{0}\setcounter{disccolourfe}{0}
+\setcounter{disccolourff}{0}\setcounter{disccolourfg}{0}\setcounter{disccolourfh}{0}
+\setcounter{disccolourga}{0}\setcounter{disccolourgb}{0}\setcounter{disccolourgc}{0}
+\setcounter{disccolourgd}{0}\setcounter{disccolourge}{0}\setcounter{disccolourgf}{0}
+\setcounter{disccolourgg}{0}\setcounter{disccolourgh}{0}\setcounter{disccolourha}{0}
+\setcounter{disccolourhb}{0}\setcounter{disccolourhc}{0}\setcounter{disccolourhd}{0}
+\setcounter{disccolourhe}{0}\setcounter{disccolourhf}{0}\setcounter{disccolourhg}{0}
+\setcounter{disccolourhh}{0}}
+
+%------- Colour commands for annotations text ------------
+% Centres inputted annotation string for each square within a 20pt wide box. Text can spill outside the box and remains centred. Two commands, one for white, one for normal (typically black) text.
+\newcommand{\othellowhitetext}[1]{\makebox[20pt]{\textcolor{white}{#1}}}
+\newcommand{\othellonormaltext}[1]{\makebox[20pt]{#1}}
+
+% Conditional command that is used within each \annotations...row command. Takes two arguments. The first determines which of the two commands defined just above to execute (the white text command if arg is 2 or 4, black text command otherwise). The second argument is the string that gets fed into either the white text or black text command. The second argument is inputted by the user. The first string is going to be taken from the value of a disccolour... counter.
+\newcommand{\othelloannotation}[2]{%
+\ifthenelse{#1=2 \or #1=4}%
+{\othellowhitetext{#2}}%
+{\othellonormaltext{#2}}%
+}
+
+
+%-------Individual rows of the array. (LaTeX only takes up to 9 arguments in a \newcommand definition)
+% Discs/diamonds are placed horizontally and vertically at 24-unit intervals. Diameter 20 units.
+
+%----First Row (from the top, left to right)-----%
+\newcommand{\othelloarrayfirstrow}[8]%
+{%
+\put(12,180){\othellodisc{#1}} \setcounter{disccolouraa}{#1}% Places disc/diamond at a1 and stores value in counters declared above.
+\put(36,180){\othellodisc{#2}} \setcounter{disccolourba}{#2}
+\put(60,180){\othellodisc{#3}} \setcounter{disccolourca}{#3}
+\put(84,180){\othellodisc{#4}} \setcounter{disccolourda}{#4}
+\put(108,180){\othellodisc{#5}} \setcounter{disccolourea}{#5}
+\put(132,180){\othellodisc{#6}} \setcounter{disccolourfa}{#6}
+\put(156,180){\othellodisc{#7}} \setcounter{disccolourga}{#7}
+\put(180,180){\othellodisc{#8}} \setcounter{disccolourha}{#8}
+}
+%------Second Row--------%
+\newcommand{\othelloarraysecondrow}[8]%
+{%
+\put(12,156){\othellodisc{#1}} \setcounter{disccolourab}{#1}
+\put(36,156){\othellodisc{#2}} \setcounter{disccolourbb}{#2}
+\put(60,156){\othellodisc{#3}} \setcounter{disccolourcb}{#3}
+\put(84,156){\othellodisc{#4}} \setcounter{disccolourdb}{#4}
+\put(108,156){\othellodisc{#5}} \setcounter{disccoloureb}{#5}
+\put(132,156){\othellodisc{#6}} \setcounter{disccolourfb}{#6}
+\put(156,156){\othellodisc{#7}} \setcounter{disccolourgb}{#7}
+\put(180,156){\othellodisc{#8}} \setcounter{disccolourhb}{#8}
+}
+%-------Third Row-----%
+\newcommand{\othelloarraythirdrow}[8]%
+{%
+\put(12,132){\othellodisc{#1}} \setcounter{disccolourac}{#1}
+\put(36,132){\othellodisc{#2}} \setcounter{disccolourbc}{#2}
+\put(60,132){\othellodisc{#3}} \setcounter{disccolourcc}{#3}
+\put(84,132){\othellodisc{#4}} \setcounter{disccolourdc}{#4}
+\put(108,132){\othellodisc{#5}} \setcounter{disccolourec}{#5}
+\put(132,132){\othellodisc{#6}} \setcounter{disccolourfc}{#6}
+\put(156,132){\othellodisc{#7}} \setcounter{disccolourgc}{#7}
+\put(180,132){\othellodisc{#8}} \setcounter{disccolourhc}{#8}
+}
+%-------Fourth Row-----%
+\newcommand{\othelloarrayfourthrow}[8]%
+{%
+\put(12,108){\othellodisc{#1}} \setcounter{disccolourad}{#1}
+\put(36,108){\othellodisc{#2}} \setcounter{disccolourbd}{#2}
+\put(60,108){\othellodisc{#3}} \setcounter{disccolourcd}{#3}
+\put(84,108){\othellodisc{#4}} \setcounter{disccolourdd}{#4}
+\put(108,108){\othellodisc{#5}} \setcounter{disccoloured}{#5}
+\put(132,108){\othellodisc{#6}} \setcounter{disccolourfd}{#6}
+\put(156,108){\othellodisc{#7}} \setcounter{disccolourgd}{#7}
+\put(180,108){\othellodisc{#8}}\setcounter{disccolourhd}{#8}
+}
+%-------Fifth Row-----%
+\newcommand{\othelloarrayfifthrow}[8]%
+{%
+\put(12,84){\othellodisc{#1}} \setcounter{disccolourae}{#1}
+\put(36,84){\othellodisc{#2}} \setcounter{disccolourbe}{#2}
+\put(60,84){\othellodisc{#3}} \setcounter{disccolource}{#3}
+\put(84,84){\othellodisc{#4}} \setcounter{disccolourde}{#4}
+\put(108,84){\othellodisc{#5}} \setcounter{disccolouree}{#5}
+\put(132,84){\othellodisc{#6}} \setcounter{disccolourfe}{#6}
+\put(156,84){\othellodisc{#7}} \setcounter{disccolourge}{#7}
+\put(180,84){\othellodisc{#8}} \setcounter{disccolourhe}{#8}
+}
+%-------Sixth Row-----%
+\newcommand{\othelloarraysixthrow}[8]%
+{%
+\put(12,60){\othellodisc{#1}} \setcounter{disccolouraf}{#1}
+\put(36,60){\othellodisc{#2}} \setcounter{disccolourbf}{#2}
+\put(60,60){\othellodisc{#3}} \setcounter{disccolourcf}{#3}
+\put(84,60){\othellodisc{#4}} \setcounter{disccolourdf}{#4}
+\put(108,60){\othellodisc{#5}} \setcounter{disccolouref}{#5}
+\put(132,60){\othellodisc{#6}} \setcounter{disccolourff}{#6}
+\put(156,60){\othellodisc{#7}} \setcounter{disccolourgf}{#7}
+\put(180,60){\othellodisc{#8}} \setcounter{disccolourhf}{#8}
+}
+%-------Seventh Row-----%
+\newcommand{\othelloarrayseventhrow}[8]%
+{%
+\put(12,36){\othellodisc{#1}} \setcounter{disccolourag}{#1}
+\put(36,36){\othellodisc{#2}} \setcounter{disccolourbg}{#2}
+\put(60,36){\othellodisc{#3}} \setcounter{disccolourcg}{#3}
+\put(84,36){\othellodisc{#4}} \setcounter{disccolourdg}{#4}
+\put(108,36){\othellodisc{#5}} \setcounter{disccoloureg}{#5}
+\put(132,36){\othellodisc{#6}} \setcounter{disccolourfg}{#6}
+\put(156,36){\othellodisc{#7}} \setcounter{disccolourgg}{#7}
+\put(180,36){\othellodisc{#8}} \setcounter{disccolourhg}{#8}
+}
+%-------Eighth Row-----%
+\newcommand{\othelloarrayeighthrow}[8]%
+{%
+\put(12,12){\othellodisc{#1}} \setcounter{disccolourah}{#1}
+\put(36,12){\othellodisc{#2}} \setcounter{disccolourbh}{#2}
+\put(60,12){\othellodisc{#3}} \setcounter{disccolourch}{#3}
+\put(84,12){\othellodisc{#4}} \setcounter{disccolourdh}{#4}
+\put(108,12){\othellodisc{#5}} \setcounter{disccoloureh}{#5}
+\put(132,12){\othellodisc{#6}} \setcounter{disccolourfh}{#6}
+\put(156,12){\othellodisc{#7}} \setcounter{disccolourgh}{#7}
+\put(180,12){\othellodisc{#8}} \setcounter{disccolourhh}{#8}
+}
+
+
+%----Annotations Row by Row-----%
+%----First Row (from the top, left to right)-----%
+\newcommand{\annotationsfirstrow}[8]%
+{%
+\put(2,176.5){\othelloannotation{\value{disccolouraa}}{#1}} %Places text at a1 in white or normal font according to colour of the disc at that square. Calls upon counter value set when the disc was placed.
+\put(26,176.5){\othelloannotation{\value{disccolourba}}{#2}}
+\put(50,176.5){\othelloannotation{\value{disccolourca}}{#3}}
+\put(74,176.5){\othelloannotation{\value{disccolourda}}{#4}}
+\put(98,176.5){\othelloannotation{\value{disccolourea}}{#5}}
+\put(122,176.5){\othelloannotation{\value{disccolourfa}}{#6}}
+\put(146,176.5){\othelloannotation{\value{disccolourga}}{#7}}
+\put(170,176.5){\othelloannotation{\value{disccolourha}}{#8}}
+}
+%----Second Row------%
+\newcommand{\annotationssecondrow}[8]%
+{%
+\put(2,152.5){\othelloannotation{\value{disccolourab}}{#1}} \put(26,152.5){\othelloannotation{\value{disccolourbb}}{#2}} \put(50,152.5){\othelloannotation{\value{disccolourcb}}{#3}} \put(74,152.5){\othelloannotation{\value{disccolourdb}}{#4}} \put(98,152.5){\othelloannotation{\value{disccoloureb}}{#5}} \put(122,152.5){\othelloannotation{\value{disccolourfb}}{#6}} \put(146,152.5){\othelloannotation{\value{disccolourgb}}{#7}} \put(170,152.5){\othelloannotation{\value{disccolourhb}}{#8}}
+}
+%----Third Row------%
+\newcommand{\annotationsthirdrow}[8]%
+{%
+\put(2,128.5){\othelloannotation{\value{disccolourac}}{#1}} \put(26,128.5){\othelloannotation{\value{disccolourbc}}{#2}} \put(50,128.5){\othelloannotation{\value{disccolourcc}}{#3}} \put(74,128.5){\othelloannotation{\value{disccolourdc}}{#4}} \put(98,128.5){\othelloannotation{\value{disccolourec}}{#5}} \put(122,128.5){\othelloannotation{\value{disccolourfc}}{#6}} \put(146,128.5){\othelloannotation{\value{disccolourgc}}{#7}} \put(170,128.5){\othelloannotation{\value{disccolourhc}}{#8}}
+}
+%----Fourth Row-----%
+\newcommand{\annotationsfourthrow}[8]
+{%
+\put(2,104.5){\othelloannotation{\value{disccolourad}}{#1}} \put(26,104.5){\othelloannotation{\value{disccolourbd}}{#2}} \put(50,104.5){\othelloannotation{\value{disccolourcd}}{#3}} \put(74,104.5){\othelloannotation{\value{disccolourdd}}{#4}} \put(98,104.5){\othelloannotation{\value{disccoloured}}{#5}} \put(122,104.5){\othelloannotation{\value{disccolourfd}}{#6}} \put(146,104.5){\othelloannotation{\value{disccolourgd}}{#7}} \put(170,104.5){\othelloannotation{\value{disccolourhd}}{#8}}
+}
+%----Fifth Row-----%
+\newcommand{\annotationsfifthrow}[8]
+{%
+\put(2,80.5){\othelloannotation{\value{disccolourae}}{#1}} \put(26,80.5){\othelloannotation{\value{disccolourbe}}{#2}} \put(50,80.5){\othelloannotation{\value{disccolource}}{#3}} \put(74,80.5){\othelloannotation{\value{disccolourde}}{#4}} \put(98,80.5){\othelloannotation{\value{disccolouree}}{#5}} \put(122,80.5){\othelloannotation{\value{disccolourfe}}{#6}} \put(146,80.5){\othelloannotation{\value{disccolourge}}{#7}} \put(170,80.5){\othelloannotation{\value{disccolourhe}}{#8}}
+}
+%----Sixth Row-----%
+\newcommand{\annotationssixthrow}[8]
+{
+\put(2,56.5){\othelloannotation{\value{disccolouraf}}{#1}} \put(26,56.5){\othelloannotation{\value{disccolourbf}}{#2}} \put(50,56.5){\othelloannotation{\value{disccolourcf}}{#3}} \put(74,56.5){\othelloannotation{\value{disccolourdf}}{#4}}\put(98,56.5){\othelloannotation{\value{disccolouref}}{#5}}\put(122,56.5){\othelloannotation{\value{disccolourff}}{#6}}\put(146,56.5){\othelloannotation{\value{disccolourgf}}{#7}}\put(170,56.5){\othelloannotation{\value{disccolourhf}}{#8}}
+}
+%----Seventh Row-----%
+\newcommand{\annotationsseventhrow}[8]%
+{%
+\put(2,32.5){\othelloannotation{\value{disccolourag}}{#1}} \put(26,32.5){\othelloannotation{\value{disccolourbg}}{#2}} \put(50,32.5){\othelloannotation{\value{disccolourcg}}{#3}} \put(74,32.5){\othelloannotation{\value{disccolourdg}}{#4}} \put(98,32.5){\othelloannotation{\value{disccoloureg}}{#5}} \put(122,32.5){\othelloannotation{\value{disccolourfg}}{#6}} \put(146,32.5){\othelloannotation{\value{disccolourgg}}{#7}} \put(170,32.5){\othelloannotation{\value{disccolourhg}}{#8}}
+}
+%----Eighth Row-----%
+\newcommand{\annotationseighthrow}[8]%
+{%
+\put(2,8.5){\othelloannotation{\value{disccolourah}}{#1}} \put(26,8.5){\othelloannotation{\value{disccolourbh}}{#2}} \put(50,8.5){\othelloannotation{\value{disccolourch}}{#3}} \put(74,8.5){\othelloannotation{\value{disccolourdh}}{#4}} \put(98,8.5){\othelloannotation{\value{disccoloureh}}{#5}} \put(122,8.5){\othelloannotation{\value{disccolourfh}}{#6}} \put(146,8.5){\othelloannotation{\value{disccolourgh}}{#7}} \put(170,8.5){\othelloannotation{\value{disccolourhh}}{#8}}
+}
+
+%-----Grids-------%
+\newcommand{\othellogrid}{%
+% outside edges first, slightly thicker
+\thicklines
+\put(0,0){\line(0,1){192}}
+\put(192,0){\line(0,1){192}}
+\put(0,0){\line(1,0){192}}
+\put(0,192){\line(1,0){192}}
+% inside lines
+\thinlines
+\put(24,0){\line(0,1){192}}
+\put(48,0){\line(0,1){192}}
+\put(72,0){\line(0,1){192}}
+\put(96,0){\line(0,1){192}}
+\put(120,0){\line(0,1){192}}
+\put(144,0){\line(0,1){192}}
+\put(168,0){\line(0,1){192}}
+\put(0,24){\line(1,0){192}}
+\put(0,48){\line(1,0){192}}
+\put(0,72){\line(1,0){192}}
+\put(0,96){\line(1,0){192}}
+\put(0,120){\line(1,0){192}}
+\put(0,144){\line(1,0){192}}
+\put(0,168){\line(1,0){192}}
+}
+
+%Initially included dot markings (on the inner corners of each x-square) as part of the \othellogrid command, but people may prefer to leave them out. So there's a separate command to put them in.
+%-------Dot markings-------
+\newcommand{\dotmarkings}{%
+\put(48,48){\circle*{2.4}}
+\put(48,144){\circle*{2.4}}
+\put(144,144){\circle*{2.4}}
+\put(144,48){\circle*{2.4}}
+}
+
+
+%------Row and Column Labels-----%
+%Diagrams in some places, e.g. the British Othello Federation newsletter, leave off grid references.
+%Note the co-ordinates here are given relative to the picture box that contains the grid, which is 192x192 units and places bounding lines at (0,0)(left edge and bottom edge), (0,192)(top edge), and (192,0)(right edge). The co-ordinates below all fall *outside* this box. This seems like the neatest way of keeping the grid as a separate module from the grid labels. To ensure the labels, when used, don't bleed into the text surrounding a board diagram the grid is housed inside of a larger, 208x208 unit, box as part of the othelloboard environment.
+\newcommand{\gridrefs}{%
+\put(-10,10){\footnotesize{8}}
+\put(-10,34){\footnotesize{7}}
+\put(-10,58){\footnotesize{6}}
+\put(-10,82){\footnotesize{5}}
+\put(-10,106){\footnotesize{4}}
+\put(-10,130){\footnotesize{3}}
+\put(-10,154){\footnotesize{2}}
+\put(-10,178){\footnotesize{1}}
+\put(9.5,197){\footnotesize{a}}
+\put(33.5,197){\footnotesize{b}}
+\put(57.5,197){\footnotesize{c}}
+\put(81.5,197){\footnotesize{d}}
+\put(105.5,197){\footnotesize{e}}
+\put(129.5,197){\footnotesize{f}}
+\put(153.5,197){\footnotesize{g}}
+\put(177.5,197){\footnotesize{h}}
+}
+
+%-------Define Environments to shorten the code required for each diagram-------
+% To be used with \lrbox to work around environment definition restrictions on having unclosed braces in the begin code.
+\newsavebox{\fmboard}%
+
+% Instead of a counter to work around inability to use argument values for an environment definition in the end code, and the inability to pass counter values set in the begin code on to the end code.
+\newcommand{\scalefactor}{1}%
+
+% The othelloboard environment
+% The use of \frame is to put a clean border around the board, with definite corners. The way that LaTeX draws lines means that orthogonal lines from the same point don't form a nice corner. This starts to be noticeable with larger boards.
+\newenvironment{othelloboard}[1]%
+{\renewcommand{\scalefactor}{#1} \begin{lrbox}{\fmboard}\begin{picture}(192,192)\resetalldisccolours \othellogrid \gridrefs}
+{\end{picture} \end{lrbox} \scalebox{\scalefactor}{\begin{picture}(208,208)(-16,0) \frame{\usebox{\fmboard}} \end{picture}}}
+
+%The othelloboardnorefs environment
+\newenvironment{othelloboardnorefs}[1]%
+{\renewcommand{\scalefactor}{#1} \begin{lrbox}{\fmboard}\begin{picture}(192,192)\resetalldisccolours \othellogrid}
+{\end{picture} \end{lrbox} \scalebox{\scalefactor}{\begin{picture}(192,192)(0,0) \frame{\usebox{\fmboard}} \end{picture}}}
+
+
+%---- Commands used in the appendix of the documentation, in the example of counting discs using disccolourxy counters.
+\newcounter{numberwdiscs}% counter used in the following command for totting up the number of white discs
+\newcommand{\countwhitediscs}{% If the value of the disccolour counter at a square is 1, increment numberwdiscs, otherwise do nothing
+\ifthenelse{\equal{\value{disccolouraa}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourab}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourac}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourad}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourae}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolouraf}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourag}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourah}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourba}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbb}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbc}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbd}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbe}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbf}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbg}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbh}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourca}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcb}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcc}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcd}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolource}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcf}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcg}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourch}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourda}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdb}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdc}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdd}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourde}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdf}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdg}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdh}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourea}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccoloureb}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourec}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccoloured}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolouree}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolouref}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccoloureg}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccoloureh}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfa}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfb}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfc}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfd}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfe}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourff}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfg}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfh}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourga}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgb}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgc}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgd}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourge}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgf}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgg}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgh}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourha}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhb}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhc}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhd}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhe}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhf}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhg}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhh}}{1}}{\addtocounter{numberwdiscs}{1}}{}
+}
+
+
+\newcounter{numberbdiscs}
+\newcommand{\countblackdiscs}{%
+\ifthenelse{\equal{\value{disccolouraa}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourab}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourac}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourad}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourae}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolouraf}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourag}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourah}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourba}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbb}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbc}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbd}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbe}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbf}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbg}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourbh}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourca}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcb}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcc}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcd}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolource}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcf}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourcg}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourch}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourda}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdb}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdc}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdd}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourde}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdf}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdg}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourdh}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourea}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccoloureb}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourec}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccoloured}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolouree}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolouref}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccoloureg}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccoloureh}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfa}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfb}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfc}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfd}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfe}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourff}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfg}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourfh}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourga}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgb}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgc}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgd}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourge}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgf}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgg}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourgh}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourha}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhb}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhc}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhd}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhe}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhf}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhg}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+\ifthenelse{\equal{\value{disccolourhh}}{2}}{\addtocounter{numberbdiscs}{1}}{}
+}
+
+
+%----- Command for placing annotations according to square name. Puts '#2' at square #1.
+\newcommand{\posannotation}[2]{%
+\ifthenelse{\equal{#1}{A1} \OR \equal{#1}{a1}}{\put(2,176.5){\othelloannotation{\value{disccolouraa}}{#2}}}{}
+\ifthenelse{\equal{#1}{B1} \OR \equal{#1}{b1}}{\put(26,176.5){\othelloannotation{\value{disccolourba}}{#2}}}{}
+\ifthenelse{\equal{#1}{C1} \OR \equal{#1}{c1}}{\put(50,176.5){\othelloannotation{\value{disccolourca}}{#2}}}{}
+\ifthenelse{\equal{#1}{D1} \OR \equal{#1}{d1}}{\put(74,176.5){\othelloannotation{\value{disccolourda}}{#2}}}{}
+\ifthenelse{\equal{#1}{E1} \OR \equal{#1}{e1}}{\put(98,176.5){\othelloannotation{\value{disccolourea}}{#2}}}{}
+\ifthenelse{\equal{#1}{F1} \OR \equal{#1}{f1}}{\put(122,176.5){\othelloannotation{\value{disccolourfa}}{#2}}}{}
+\ifthenelse{\equal{#1}{G1} \OR \equal{#1}{g1}}{\put(146,176.5){\othelloannotation{\value{disccolourga}}{#2}}}{}
+\ifthenelse{\equal{#1}{H1} \OR \equal{#1}{h1}}{\put(170,176.5){\othelloannotation{\value{disccolourha}}{#2}}}{}
+\ifthenelse{\equal{#1}{A2} \OR \equal{#1}{a2}}{\put(2,152.5){\othelloannotation{\value{disccolourab}}{#2}}}{}
+\ifthenelse{\equal{#1}{B2} \OR \equal{#1}{b2}}{\put(26,152.5){\othelloannotation{\value{disccolourbb}}{#2}}}{}
+\ifthenelse{\equal{#1}{C2} \OR \equal{#1}{c2}}{\put(50,152.5){\othelloannotation{\value{disccolourcb}}{#2}}}{}
+\ifthenelse{\equal{#1}{D2} \OR \equal{#1}{d2}}{\put(74,152.5){\othelloannotation{\value{disccolourdb}}{#2}}}{}
+\ifthenelse{\equal{#1}{E2} \OR \equal{#1}{e2}}{\put(98,152.5){\othelloannotation{\value{disccoloureb}}{#2}}}{}
+\ifthenelse{\equal{#1}{F2} \OR \equal{#1}{f2}}{\put(122,152.5){\othelloannotation{\value{disccolourfb}}{#2}}}{}
+\ifthenelse{\equal{#1}{G2} \OR \equal{#1}{g2}}{\put(146,152.5){\othelloannotation{\value{disccolourgb}}{#2}}}{}
+\ifthenelse{\equal{#1}{H2} \OR \equal{#1}{h2}}{\put(170,152.5){\othelloannotation{\value{disccolourhb}}{#2}}}{}
+\ifthenelse{\equal{#1}{A3} \OR \equal{#1}{a3}}{\put(2,128.5){\othelloannotation{\value{disccolourac}}{#2}}}{}
+\ifthenelse{\equal{#1}{B3} \OR \equal{#1}{b3}}{\put(26,128.5){\othelloannotation{\value{disccolourbc}}{#2}}}{}
+\ifthenelse{\equal{#1}{C3} \OR \equal{#1}{c3}}{\put(50,128.5){\othelloannotation{\value{disccolourcc}}{#2}}}{}
+\ifthenelse{\equal{#1}{D3} \OR \equal{#1}{d3}}{\put(74,128.5){\othelloannotation{\value{disccolourdc}}{#2}}}{}
+\ifthenelse{\equal{#1}{E3} \OR \equal{#1}{e3}}{\put(98,128.5){\othelloannotation{\value{disccolourec}}{#2}}}{}
+\ifthenelse{\equal{#1}{F3} \OR \equal{#1}{f3}}{\put(122,128.5){\othelloannotation{\value{disccolourfc}}{#2}}}{}
+\ifthenelse{\equal{#1}{G3} \OR \equal{#1}{g3}}{\put(146,128.5){\othelloannotation{\value{disccolourgc}}{#2}}}{}
+\ifthenelse{\equal{#1}{H3} \OR \equal{#1}{h3}}{\put(170,128.5){\othelloannotation{\value{disccolourhc}}{#2}}}{}
+\ifthenelse{\equal{#1}{A4} \OR \equal{#1}{a4}}{\put(2,104.5){\othelloannotation{\value{disccolourad}}{#2}}}{}
+\ifthenelse{\equal{#1}{B4} \OR \equal{#1}{b4}}{\put(26,104.5){\othelloannotation{\value{disccolourbd}}{#2}}}{}
+\ifthenelse{\equal{#1}{C4} \OR \equal{#1}{c4}}{\put(50,104.5){\othelloannotation{\value{disccolourcd}}{#2}}}{}
+\ifthenelse{\equal{#1}{D4} \OR \equal{#1}{d4}}{\put(74,104.5){\othelloannotation{\value{disccolourdd}}{#2}}}{}
+\ifthenelse{\equal{#1}{E4} \OR \equal{#1}{e4}}{\put(98,104.5){\othelloannotation{\value{disccoloured}}{#2}}}{}
+\ifthenelse{\equal{#1}{F4} \OR \equal{#1}{f4}}{\put(122,104.5){\othelloannotation{\value{disccolourfd}}{#2}}}{}
+\ifthenelse{\equal{#1}{G4} \OR \equal{#1}{g4}}{\put(146,104.5){\othelloannotation{\value{disccolourgd}}{#2}}}{}
+\ifthenelse{\equal{#1}{H4} \OR \equal{#1}{h4}}{\put(170,104.5){\othelloannotation{\value{disccolourhd}}{#2}}}{}
+\ifthenelse{\equal{#1}{A5} \OR \equal{#1}{a5}}{\put(2,80.5){\othelloannotation{\value{disccolourae}}{#2}}}{}
+\ifthenelse{\equal{#1}{B5} \OR \equal{#1}{b5}}{\put(26,80.5){\othelloannotation{\value{disccolourbe}}{#2}}}{}
+\ifthenelse{\equal{#1}{C5} \OR \equal{#1}{c5}}{\put(50,80.5){\othelloannotation{\value{disccolource}}{#2}}}{}
+\ifthenelse{\equal{#1}{D5} \OR \equal{#1}{d5}}{\put(74,80.5){\othelloannotation{\value{disccolourde}}{#2}}}{}
+\ifthenelse{\equal{#1}{E5} \OR \equal{#1}{e5}}{\put(98,80.5){\othelloannotation{\value{disccolouree}}{#2}}}{}
+\ifthenelse{\equal{#1}{F5} \OR \equal{#1}{f5}}{\put(122,80.5){\othelloannotation{\value{disccolourfe}}{#2}}}{}
+\ifthenelse{\equal{#1}{G5} \OR \equal{#1}{g5}}{\put(146,80.5){\othelloannotation{\value{disccolourge}}{#2}}}{}
+\ifthenelse{\equal{#1}{H5} \OR \equal{#1}{h5}}{\put(170,80.5){\othelloannotation{\value{disccolourhe}}{#2}}}{}
+\ifthenelse{\equal{#1}{A6} \OR \equal{#1}{a6}}{\put(2,56.5){\othelloannotation{\value{disccolouraf}}{#2}}}{}
+\ifthenelse{\equal{#1}{B6} \OR \equal{#1}{b6}}{\put(26,56.5){\othelloannotation{\value{disccolourbf}}{#2}}}{}
+\ifthenelse{\equal{#1}{C6} \OR \equal{#1}{c6}}{\put(50,56.5){\othelloannotation{\value{disccolourcf}}{#2}}}{}
+\ifthenelse{\equal{#1}{D6} \OR \equal{#1}{d6}}{\put(74,56.5){\othelloannotation{\value{disccolourdf}}{#2}}}{}
+\ifthenelse{\equal{#1}{E6} \OR \equal{#1}{e6}}{\put(98,56.5){\othelloannotation{\value{disccolouref}}{#2}}}{}
+\ifthenelse{\equal{#1}{F6} \OR \equal{#1}{f6}}{\put(122,56.5){\othelloannotation{\value{disccolourff}}{#2}}}{}
+\ifthenelse{\equal{#1}{G6} \OR \equal{#1}{g6}}{\put(146,56.5){\othelloannotation{\value{disccolourgf}}{#2}}}{}
+\ifthenelse{\equal{#1}{H6} \OR \equal{#1}{h6}}{\put(170,56.5){\othelloannotation{\value{disccolourhf}}{#2}}}{}
+\ifthenelse{\equal{#1}{A7} \OR \equal{#1}{a7}}{\put(2,32.5){\othelloannotation{\value{disccolourag}}{#2}}}{}
+\ifthenelse{\equal{#1}{B7} \OR \equal{#1}{b7}}{\put(26,32.5){\othelloannotation{\value{disccolourbg}}{#2}}}{}
+\ifthenelse{\equal{#1}{C7} \OR \equal{#1}{c7}}{\put(50,32.5){\othelloannotation{\value{disccolourcg}}{#2}}}{}
+\ifthenelse{\equal{#1}{D7} \OR \equal{#1}{d7}}{\put(74,32.5){\othelloannotation{\value{disccolourdg}}{#2}}}{}
+\ifthenelse{\equal{#1}{E7} \OR \equal{#1}{e7}}{\put(98,32.5){\othelloannotation{\value{disccoloureg}}{#2}}}{}
+\ifthenelse{\equal{#1}{F7} \OR \equal{#1}{f7}}{\put(122,32.5){\othelloannotation{\value{disccolourfg}}{#2}}}{}
+\ifthenelse{\equal{#1}{G7} \OR \equal{#1}{g7}}{\put(146,32.5){\othelloannotation{\value{disccolourgg}}{#2}}}{}
+\ifthenelse{\equal{#1}{H7} \OR \equal{#1}{h7}}{\put(170,32.5){\othelloannotation{\value{disccolourhg}}{#2}}}{}
+\ifthenelse{\equal{#1}{A8} \OR \equal{#1}{a8}}{\put(2,8.5){\othelloannotation{\value{disccolourah}}{#2}}}{}
+\ifthenelse{\equal{#1}{B8} \OR \equal{#1}{b8}}{\put(26,8.5){\othelloannotation{\value{disccolourbh}}{#2}}}{}
+\ifthenelse{\equal{#1}{C8} \OR \equal{#1}{c8}}{\put(50,8.5){\othelloannotation{\value{disccolourch}}{#2}}}{}
+\ifthenelse{\equal{#1}{D8} \OR \equal{#1}{d8}}{\put(74,8.5){\othelloannotation{\value{disccolourdh}}{#2}}}{}
+\ifthenelse{\equal{#1}{E8} \OR \equal{#1}{e8}}{\put(98,8.5){\othelloannotation{\value{disccoloureh}}{#2}}}{}
+\ifthenelse{\equal{#1}{F8} \OR \equal{#1}{f8}}{\put(122,8.5){\othelloannotation{\value{disccolourfh}}{#2}}}{}
+\ifthenelse{\equal{#1}{G8} \OR \equal{#1}{g8}}{\put(146,8.5){\othelloannotation{\value{disccolourgh}}{#2}}}{}
+\ifthenelse{\equal{#1}{H8} \OR \equal{#1}{h8}}{\put(170,8.5){\othelloannotation{\value{disccolourhh}}{#2}}}{}
+}
+
+%---- Automated transcript creation
+%---- Command for taking two characters at a time and writing a number at the square represented by the character pair, starting with 1.
+
+\newcommand{\drawtranscript}[1]{%
+\noblanks[q]{#1}%
+ \StrMid{\thestring}{1}{2}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{1}
+ \StrMid{\thestring}{3}{4}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{2}
+ \StrMid{\thestring}{5}{6}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{3}
+ \StrMid{\thestring}{7}{8}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{4}
+ \StrMid{\thestring}{9}{10}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{5}
+ \StrMid{\thestring}{11}{12}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{6}
+ \StrMid{\thestring}{13}{14}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{7}
+ \StrMid{\thestring}{15}{16}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{8}
+ \StrMid{\thestring}{17}{18}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{9}
+ \StrMid{\thestring}{19}{20}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{10}
+ \StrMid{\thestring}{21}{22}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{11}
+ \StrMid{\thestring}{23}{24}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{12}
+ \StrMid{\thestring}{25}{26}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{13}
+ \StrMid{\thestring}{27}{28}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{14}
+ \StrMid{\thestring}{29}{30}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{15}
+ \StrMid{\thestring}{31}{32}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{16}
+ \StrMid{\thestring}{33}{34}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{17}
+ \StrMid{\thestring}{35}{36}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{18}
+ \StrMid{\thestring}{37}{38}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{19}
+ \StrMid{\thestring}{39}{40}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{20}
+ \StrMid{\thestring}{41}{42}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{21}
+ \StrMid{\thestring}{43}{44}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{22}
+ \StrMid{\thestring}{45}{46}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{23}
+ \StrMid{\thestring}{47}{48}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{24}
+ \StrMid{\thestring}{49}{50}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{25}
+ \StrMid{\thestring}{51}{52}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{26}
+ \StrMid{\thestring}{53}{54}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{27}
+ \StrMid{\thestring}{55}{56}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{28}
+ \StrMid{\thestring}{57}{58}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{29}
+ \StrMid{\thestring}{59}{60}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{30}
+ \StrMid{\thestring}{61}{62}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{31}
+ \StrMid{\thestring}{63}{64}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{32}
+ \StrMid{\thestring}{65}{66}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{33}
+ \StrMid{\thestring}{67}{68}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{34}
+ \StrMid{\thestring}{69}{70}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{35}
+ \StrMid{\thestring}{71}{72}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{36}
+ \StrMid{\thestring}{73}{74}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{37}
+ \StrMid{\thestring}{75}{76}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{38}
+ \StrMid{\thestring}{77}{78}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{39}
+ \StrMid{\thestring}{79}{80}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{40}
+ \StrMid{\thestring}{81}{82}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{41}
+ \StrMid{\thestring}{83}{84}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{42}
+ \StrMid{\thestring}{85}{86}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{43}
+ \StrMid{\thestring}{87}{88}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{44}
+ \StrMid{\thestring}{89}{90}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{45}
+ \StrMid{\thestring}{91}{92}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{46}
+ \StrMid{\thestring}{93}{94}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{47}
+ \StrMid{\thestring}{95}{96}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{48}
+ \StrMid{\thestring}{97}{98}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{49}
+ \StrMid{\thestring}{99}{100}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{50}
+ \StrMid{\thestring}{101}{102}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{51}
+ \StrMid{\thestring}{103}{104}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{52}
+ \StrMid{\thestring}{105}{106}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{53}
+ \StrMid{\thestring}{107}{108}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{54}
+ \StrMid{\thestring}{109}{110}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{55}
+ \StrMid{\thestring}{111}{112}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{56}
+ \StrMid{\thestring}{113}{114}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{57}
+ \StrMid{\thestring}{115}{116}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{58}
+ \StrMid{\thestring}{117}{118}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{59}
+ \StrMid{\thestring}{119}{120}[\mytwochars]%
+ \expandafter\posannotation\expandafter{\mytwochars}{60}
+ }
+
+%------------Commands for drawing discs according to whether argument is dash, O or X. Now draws diamonds for 3 and 4 as argument too.
+\newcommand{\othellodiscfromstring}[1]{%
+\ifthenelse{\equal{#1}{-}}{}{}%
+\ifthenelse{\equal{#1}{O} \or \equal{#1}{o}}{\whitedisc}{}%
+\ifthenelse{\equal{#1}{X} \or \equal{#1}{x}}{\blackdisc}{}%
+\ifthenelse{\equal{#1}{3}}{\whitediamond}{}%
+\ifthenelse{\equal{#1}{4}}{\blackdiamond}{}%
+}
+
+%----- Command for automated board creation from string of Os, Xs and -s. Sets values for each disccolourxy counter as well.
+\newcommand{\drawboardfromstring}[1]{%
+\StrMid{#1}{1}{1}[\mychar]%
+ \put(12,180){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolouraa}{2}}{}%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolouraa}{1}}{}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolouraa}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolouraa}{4}}{}%
+\StrMid{#1}{2}{2}[\mychar]%
+ \put(36,180){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourba}{2}}{}%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourba}{1}}{}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourba}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourba}{4}}{}%
+\StrMid{#1}{3}{3}[\mychar]%
+ \put(60,180){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourca}{2}}{}%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourca}{1}}{}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourca}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourca}{4}}{}%
+\StrMid{#1}{4}{4}[\mychar]%
+ \put(84,180){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourda}{2}}{}%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourda}{1}}{}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourda}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourda}{4}}{}%
+\StrMid{#1}{5}{5}[\mychar]%
+ \put(108,180){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourea}{2}}{}%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourea}{1}}{}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourea}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourea}{4}}{}%
+\StrMid{#1}{6}{6}[\mychar]%
+ \put(132,180){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourfa}{2}}{}%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourfa}{1}}{}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourfa}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourfa}{4}}{}%
+\StrMid{#1}{7}{7}[\mychar]%
+ \put(156,180){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourga}{2}}{}%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourga}{1}}{}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourga}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourga}{4}}{}%
+\StrMid{#1}{8}{8}[\mychar]%
+ \put(180,180){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourha}{2}}{}%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourha}{1}}{}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourha}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourha}{4}}{}%
+\StrMid{#1}{9}{9}[\mychar]%
+ \put(12,156){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourab}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourab}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourab}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourab}{4}}{}%
+\StrMid{#1}{10}{10}[\mychar]%
+ \put(36,156){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourbb}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourbb}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourbb}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourbb}{4}}{}%
+\StrMid{#1}{11}{11}[\mychar]%
+ \put(60,156){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourcb}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourcb}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourcb}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourcb}{4}}{}%
+\StrMid{#1}{12}{12}[\mychar]%
+ \put(84,156){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourdb}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourdb}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourdb}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourdb}{4}}{}%
+\StrMid{#1}{13}{13}[\mychar]%
+ \put(108,156){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccoloureb}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccoloureb}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccoloureb}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccoloureb}{4}}{}%
+\StrMid{#1}{14}{14}[\mychar]%
+ \put(132,156){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourfb}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourfb}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourfb}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourfb}{4}}{}%
+\StrMid{#1}{15}{15}[\mychar]%
+ \put(156,156){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourgb}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourgb}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourgb}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourgb}{4}}{}%
+\StrMid{#1}{16}{16}[\mychar]%
+ \put(180,156){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourhb}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourhb}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourhb}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourhb}{4}}{}%
+\StrMid{#1}{17}{17}[\mychar]%
+ \put(12,132){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourac}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourac}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourac}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourac}{4}}{}%
+\StrMid{#1}{18}{18}[\mychar]%
+ \put(36,132){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourbc}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourbc}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourbc}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourbc}{4}}{}%
+\StrMid{#1}{19}{19}[\mychar]%
+ \put(60,132){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourcc}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourcc}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourcc}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourcc}{4}}{}%
+\StrMid{#1}{20}{20}[\mychar]%
+ \put(84,132){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourdc}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourdc}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourdc}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourdc}{4}}{}%
+\StrMid{#1}{21}{21}[\mychar]%
+ \put(108,132){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourec}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourec}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourec}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourec}{4}}{}%
+\StrMid{#1}{22}{22}[\mychar]%
+ \put(132,132){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourfc}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourfc}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourfc}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourfc}{4}}{}%
+\StrMid{#1}{23}{23}[\mychar]%
+ \put(156,132){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourgc}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourgc}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourgc}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourgc}{4}}{}%
+\StrMid{#1}{24}{24}[\mychar]%
+ \put(180,132){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourhc}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourhc}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourhc}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourhc}{4}}{}%
+\StrMid{#1}{25}{25}[\mychar]%
+ \put(12,108){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourad}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourad}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourad}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourad}{4}}{}%
+\StrMid{#1}{26}{26}[\mychar]%
+ \put(36,108){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourbd}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourbd}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourbd}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourbd}{4}}{}%
+\StrMid{#1}{27}{27}[\mychar]%
+ \put(60,108){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourcd}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourcd}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourcd}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourcd}{4}}{}%
+\StrMid{#1}{28}{28}[\mychar]%
+ \put(84,108){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourdd}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourdd}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourdd}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourdd}{4}}{}%
+\StrMid{#1}{29}{29}[\mychar]%
+ \put(108,108){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccoloured}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccoloured}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccoloured}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccoloured}{4}}{}%
+\StrMid{#1}{30}{30}[\mychar]%
+ \put(132,108){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourfd}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourfd}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourfd}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourfd}{4}}{}%
+\StrMid{#1}{31}{31}[\mychar]%
+ \put(156,108){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourgd}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourgd}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourgd}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourgd}{4}}{}%
+\StrMid{#1}{32}{32}[\mychar]%
+ \put(180,108){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourhd}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourhd}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourhd}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourhd}{4}}{}%
+\StrMid{#1}{33}{33}[\mychar]%
+ \put(12,84){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourae}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourae}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourae}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourae}{4}}{}%
+\StrMid{#1}{34}{34}[\mychar]%
+ \put(36,84){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourbe}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourbe}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourbe}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourbe}{4}}{}%
+\StrMid{#1}{35}{35}[\mychar]%
+ \put(60,84){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolource}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolource}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolource}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolource}{4}}{}%
+\StrMid{#1}{36}{36}[\mychar]%
+ \put(84,84){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourde}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourde}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourde}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourde}{4}}{}%
+\StrMid{#1}{37}{37}[\mychar]%
+ \put(108,84){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolouree}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolouree}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolouree}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolouree}{4}}{}%
+\StrMid{#1}{38}{38}[\mychar]%
+ \put(132,84){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourfe}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourfe}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourfe}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourfe}{4}}{}%
+\StrMid{#1}{39}{39}[\mychar]%
+ \put(156,84){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourge}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourge}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourge}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourge}{4}}{}%
+\StrMid{#1}{40}{40}[\mychar]%
+ \put(180,84){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourhe}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourhe}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourhe}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourhe}{4}}{}%
+\StrMid{#1}{41}{41}[\mychar]%
+ \put(12,60){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolouraf}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolouraf}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolouraf}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolouraf}{4}}{}%
+\StrMid{#1}{42}{42}[\mychar]%
+ \put(36,60){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourbf}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourbf}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourbf}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourbf}{4}}{}%
+\StrMid{#1}{43}{43}[\mychar]%
+ \put(60,60){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourcf}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourcf}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourcf}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourcf}{4}}{}%
+\StrMid{#1}{44}{44}[\mychar]%
+ \put(84,60){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourdf}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourdf}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourdf}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourdf}{4}}{}%
+\StrMid{#1}{45}{45}[\mychar]%
+ \put(108,60){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolouref}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolouref}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolouref}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolouref}{4}}{}%
+\StrMid{#1}{46}{46}[\mychar]%
+ \put(132,60){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourff}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourff}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourff}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourff}{4}}{}%
+\StrMid{#1}{47}{47}[\mychar]%
+ \put(156,60){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourgf}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourgf}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourgf}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourgf}{4}}{}%
+\StrMid{#1}{48}{48}[\mychar]%
+ \put(180,60){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourhf}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourhf}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourhf}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourhf}{4}}{}%
+\StrMid{#1}{49}{49}[\mychar]%
+ \put(12,36){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourag}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourag}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourag}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourag}{4}}{}%
+\StrMid{#1}{50}{50}[\mychar]%
+ \put(36,36){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourbg}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourbg}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourbg}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourbg}{4}}{}%
+\StrMid{#1}{51}{51}[\mychar]%
+ \put(60,36){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourcg}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourcg}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourcg}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourcg}{4}}{}%
+\StrMid{#1}{52}{52}[\mychar]%
+ \put(84,36){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourdg}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourdg}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourdg}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourdg}{4}}{}%
+\StrMid{#1}{53}{53}[\mychar]%
+ \put(108,36){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccoloureg}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccoloureg}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccoloureg}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccoloureg}{4}}{}%
+\StrMid{#1}{54}{54}[\mychar]%
+ \put(132,36){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourfg}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourfg}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourfg}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourfg}{4}}{}%
+\StrMid{#1}{55}{55}[\mychar]%
+ \put(156,36){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourgg}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourgg}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourgg}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourgg}{4}}{}%
+\StrMid{#1}{56}{56}[\mychar]%
+ \put(180,36){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourhg}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourhg}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourhg}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourhg}{4}}{}%
+\StrMid{#1}{57}{57}[\mychar]%
+ \put(12,12){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourah}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourah}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourah}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourah}{4}}{}%
+\StrMid{#1}{58}{58}[\mychar]%
+ \put(36,12){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourbh}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourbh}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourbh}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourbh}{4}}{}%
+\StrMid{#1}{59}{59}[\mychar]%
+ \put(60,12){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourch}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourch}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourch}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourch}{4}}{}%
+\StrMid{#1}{60}{60}[\mychar]%
+ \put(84,12){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourdh}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourdh}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourdh}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourdh}{4}}{}%
+\StrMid{#1}{61}{61}[\mychar]%
+ \put(108,12){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccoloureh}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccoloureh}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccoloureh}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccoloureh}{4}}{}%
+\StrMid{#1}{62}{62}[\mychar]%
+ \put(132,12){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourfh}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourfh}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourfh}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourfh}{4}}{}%
+\StrMid{#1}{63}{63}[\mychar]%
+ \put(156,12){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourgh}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourgh}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourgh}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourgh}{4}}{}%
+\StrMid{#1}{64}{64}[\mychar]%
+ \put(180,12){\expandafter\othellodiscfromstring\expandafter{\mychar}}%
+ \ifthenelse{\equal{\mychar}{X} \OR \equal{\mychar}{x}}{\setcounter{disccolourhh}{2}}{%
+ \ifthenelse{\equal{\mychar}{O} \OR \equal{\mychar}{o}}{\setcounter{disccolourhh}{1}}{}}%
+ \ifthenelse{\equal{\mychar}{3}}{\setcounter{disccolourhh}{3}}{}%
+ \ifthenelse{\equal{\mychar}{4}}{\setcounter{disccolourhh}{4}}{}%
+} \ No newline at end of file