|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T g
Length: 3924 (0xf54)
Types: TextFile
Names: »goCom.pas«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/GoBoard/goCom.pas«
{---------------------------------------------------------------------------}
{ goCom.Pas }
{ }
{ Common Data for Go }
{ Copyright (c) 1982 by Three Rivers Computer Corp. }
{ }
{ Written: June 3, 1982 by Stoney Ballard }
{ Edit History: }
{ June 3, 1982 Started }
{ June 4, 1982 Add dead group removal }
{ June 10, 1982 Use new go file manager }
{ Nov 9, 1982 Split From Go.Pas }
{ V3.5 - Jan 11, 1983 Fixed bug in printer that screwed capture count }
{ V3.6 - Jan 14, 1983 Changed Scoring and board coordinates to conform to }
{ tournament rules }
{ V3.7 - Jan 17, 1983 added computer player!!!! }
{ V3.8 - Mar 8, 1983 Added PrintDiagram }
{ Made board 34 grid for printing }
{ V3.9 - May 3, 1983 Add board print size switch and command }
{---------------------------------------------------------------------------}
module goCom;
exports
imports IO_Others from IO_Others;
imports fileDefs from fileDefs;
const
version = '3.9';
numPoints = 19;
maxPoint = numPoints - 1;
curC = 31;
maxTagLen = 16;
charHeight = 13;
charWidth = 9;
boardWin = 1;
menuWin = 2;
statWin = 3;
bWinX = 0;
bWinY = 0;
bWinW = 768;
bWinH = 768;
mWinX = 0;
mWinY = 768;
mWinW = 768;
mWinH = 192;
sWinX = 0;
sWinY = 960;
sWinW = 768;
sWinH = 64;
promptX = sWinX + 32;
lineY = 4;
lineDel = 2;
promptLine = 1;
tagLine = 2;
cmtLine = 3;
boardX = bWinX + 64;
boardY = bWinY + 32;
pBoardX = bWinX + 44; { for printing }
pBoardY = bWinY + 24;
passX = bWinX + 321;
passY = bWinY + 712; { 712 }
passW = 126;
passH = 13;
captBX = bWinX + 64;
captWX = bWinX + 578;
captY = bWinY + 712; { 712 }
captNBX = captBX + 45;
captNWX = captWX + 45;
captNY = bWinY + 732; { 732 }
turnX = bWinX + 325;
turnY = bWinY + 752; { 752 }
none = -1;
mInit = 1;
mSetHc = 2;
mPass = 3;
mScore = 4;
mForToBr = 5;
mBackToBr = 6;
mBackToStone = 7;
mForToLeaf = 8;
mPutTag = 9;
mGotoTag = 10;
mGotoRoot = 11;
mPutCmt = 12;
mReadFile = 13;
mWriteFile = 14;
mPruneBranches = 15;
mTogNums = 16;
mPrintBoard = 17;
mStepToTag = 18;
mSetStepTag = 19;
mQuit = 20;
mBackOne = 21;
mForOne = 22;
mEraseMove = 23;
mAutoPlay = 24;
mPlayMyself = 25;
mSetPlayLevel = 26;
mDebug = 27;
mRefBoard = 28;
mShoState = 29;
mPrintDiag = 30;
mBoardSize = 31;
mLast = 31; { the last command in the menu }
mPlaceStone = 32; { this command is not in the menu }
mCtlC = 33; { nor is this }
type
bVal = (black, white, empty, alternate);
sType = black..white;
bRec = record
val: bval;
xOfs, yOfs: integer;
mNum: integer;
marked: boolean;
end;
boardArray = array[0..maxPoint] of array[0..maxPoint] of bRec;
picBuf = array[0..63] of array[0..3] of integer;
pPicBuf = ^picBuf;
var
board: boardArray;
captures: array[sType] of integer;
moveNum: integer;
koX, koY: integer;
selCursor: curPatPtr;
dotSX, dotSY: integer;
passShowing: boolean;
numbEnabled: boolean;
treeDirty: boolean;
gameFName: pathName;
debug: boolean;
printLarge: boolean;
private
procedure comBug;
begin { comBug }
end. { comBug }