|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900)
Types: TextFile
Names: »ss«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »ss«
begin
comment program initval.
Programmet initialiserer tabellerne totval og envval.
Den interne spillers navn og vægtblok indlæses;
integer array totval(0:881),
env(176:3351),
stone(-6:6),
weight(-4:4),
free(1:2,-1:1),
envval(-2:3280);
real array playername(1:3);
integer dir,fieldd,f,fiveroffset,player,stones,i,
limit,j,k,l,m,n,q,fval,threat;
boolean field ij,pq,rs,w;
disk(env,351,6702,<:env:>,0,0);
comment indlæs spillernavn;
readstring(in,playername,1);
comment indlæs vægtblokken;
for ij:= -1 step -1 until -5 do
begin
read(in,j);
envval.ij:= false add i;
weight(ij+1):= weight(-ij-1):= i
end;
stone(0):= 1;
stone(-6):= stone(-5):= stone(5):= stone(6):= 0;
for w:= 0 step 1 until 6560 do
begin
i:= w;
comment find hvilke sten, w består af;
for l:= 1 step 1 until 8 do
begin
j:= case l of (2187,729,243,81,27,9,3,1);
k:= case l of (-4,4,-3,3,-2,2,-1,1);
stone(k):= i//j;
i:= i-j*stone(k)
end l;
comment find for hver spiller nærmeste modstander-sten
på hver side af midten;
for player:= 1,2 do
for limit:= -1,1 do
begin
for q:= 0,q+1 while q<5 and stone(limit*q) <> 3-player do ;
free(player,limit):= limit*q
end player,limit;
fval:= threat:= 0;
for fiveroffset:= free(1,-1)+1 step 1 until free(1,1)-5 do
if stone(fiveroffset-1)<>1 and stone(fiveroffset+5)<>1 then
begin
f:= fiveroffset;
stones:= 0;
for fieldd:= f step 1 until f+4 do
if stone(fieldd) = 1 then
begin
stones:= stones+1;
fval:= fval+weight(fieldd)
end;
case stones of
begin
comment 1; ;
comment 2; ;
begin
comment 3;
if threat < 1
and (-,(stone(f-2)=1 and stone(f-1)=0))
and (-,(stone(f+5)=0 and stone(f+6)=1))
and (-,(stone(f-1)=2 and stone(f+5)=2))
and (-,(stone(f)=1 and stone(f+4)=1))
and (-,(stone(f-1)=2 and stone(f)=1))
and (-,(stone(f+5)=2 and stone(f+4)=1)) then threat:=1
end 3;
begin
comment 4;
▶EOF◀