perm filename DICE.SAI[GEM,BGB] blob
sn#088702 filedate 1974-03-02 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "DICE"
C00004 00003 SUBR DPYDIE (ITG WREAL X,Y,Z)
C00005 00004 RAN(10001)
C00007 ENDMK
C⊗;
BEGIN "DICE"
REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
REQUIRE "DPYIII[SYS,BGB]" SOURCE_FILE;
SAFE ITG ARRAY DPYBUF[1:500];
REAL OX,OY,C,S;
REAL SIDE,DEL;
REAL VX,VY;
SUBR AI(REAL X,Y);
BEGIN "AI"
REAL X2,Y2;
X2 ← X*C - Y*S + OX;
Y2 ← Y*C + X*S + OY;
AIVECT(X2,Y2);
END "AI";
SUBR AV(REAL X,Y);
BEGIN "AI"
REAL X2,Y2;
X2 ← X*C - Y*S + OX;
Y2 ← Y*C + X*S + OY;
AVECT(X2,Y2);
END "AI";
SUBR SPOT(REAL X,Y);
BEGIN "SPOT"
REAL X2,Y2;
X2 ← X*C - Y*S + OX;
Y2 ← Y*C + X*S + OY;
AIVECT(X2-VX,Y2-VY);DPYSST("o");
END "SPOT";
SUBR DPYDIE (ITG W;REAL X,Y,Z);
BEGIN "DPYDIE"
REAL Q,SIDE;
SIDE ← 25; Q ← 15;
OX ← X; OY ← Y;
S ← SIN(Z);C ← COS(Z);
AI(-SIDE,-SIDE);
AV(+SIDE,-SIDE);
AV(+SIDE,+SIDE);
AV(-SIDE,+SIDE);
AV(-SIDE,-SIDE);
CASE W OF
BEGIN ;
SPOT(0,0);
⊂ SPOT(-Q,Q);SPOT(Q,-Q);⊃;
⊂ SPOT(-Q,Q);SPOT(0,0);SPOT(Q,-Q);⊃;
⊂ SPOT(-Q,+Q);SPOT(+Q,-Q);
SPOT(-Q,-Q);SPOT(+Q,+Q);⊃;
⊂ SPOT(-Q,+Q);SPOT(+Q,-Q);SPOT(0,0);
SPOT(-Q,-Q);SPOT(+Q,+Q);⊃;
⊂ SPOT(-Q,+Q);SPOT(+Q,-Q);SPOT(Q,0);
SPOT(-Q,-Q);SPOT(+Q,+Q);SPOT(-Q,0);⊃;
END;
END "DPYDIE";
RAN(10001);
VX ← VY ← 6;
WHILE TRUE DO
BEGIN
REAL ARRAY W,X,Y,Z[1:3];
STRING STR;
ITG I;
DPYSET(DPYBUF);AIVECT(-400,-400);
AVECT(+400,-400);AVECT(+400,+400);
AVECT(-400,+400);AVECT(-400,-400);
FOR I←1 THRU 3 DO
BEGIN
W[I]← RAN(0)*5.99+1.0;
X[I]←(RAN(0)-0.5)*600;
Y[I]←(RAN(0)-0.5)*600;
Z[I]←2*π*RAN(0);
END;
FOR I←1 THRU 3 DO DPYDIE(W[I],X[I],Y[I],Z[I]);
DPYOUT(1);
INCHRW;
END;
END "DICE";