begincomment pentomino, 130968;integerSCORE,NUMMER,LENGTE,BREEDTE,AANTALSTENEN,AANTALSTANDEN,I,J,K,TELLER,LB;LENGTE:=READ;BREEDTE:=READ;AANTALSTENEN:=READ;AANTALSTANDEN:=READ;LB:=LENGTE*(BREEDTE-1);beginintegerarrayBORD[-39:100],STANDEN,WIJZER[1:AANTALSTENEN],INFORMATIE[1:8*AANTALSTANDEN];booleanarrayONGEBRUIKT[1:AANTALSTENEN];procedureOUTPUT;beginintegerI,J;SCORE:=SCORE+1;SPACE(1);forJ:=1step1until2*LENGTEdobeginPRINTTEXT(|<-|>);SPACE(1)end;comment ABSFIXT (6, 2, time);NLCR;forI:=0stepLENGTEuntilLBdobeginPRINTTEXT(|);forJ:=1step1untilLENGTE-1dobeginSPACE(3);ifBORD[I+J]|=BORD[I+J+1]thenPRINTTEXT(|)elseSPACE(1)end;SPACE(3);PRINTTEXT(|);NLCR;SPACE(1);ifI);SPACE(1);PRINTTEXT(|<-|>);SPACE(1)endelseSPACE(4)endendelseforJ:=1step1until2*LENGTEdobeginPRINTTEXT(|<-|>);SPACE(1)end;NLCRend;NLCR;NLCR;ifSCORE=7thengotoEXendOUTPUT;procedureUP(VELD,KOLOM);valueVELD,KOLOM;integerVELD,KOLOM;beginintegerI,J,K,R,W,STEEN,AANTAL;NUMMER:=NUMMER+1;forSTEEN:=1step1untilAANTALSTENENdoifONGEBRUIKT[STEEN]thenbeginONGEBRUIKT[STEEN]:=false;BORD[VELD]:=STEEN;AANTAL:=STANDEN[STEEN]-1;forI:=0step1untilAANTALdobeginW:=WIJZER[STEEN]+4*I;ifBORD[INFORMATIE[W]+VELD]=0thenbeginifBORD[INFORMATIE[W+1]+VELD]=0thenbeginifBORD[INFORMATIE[W+2]+VELD]=0thenbeginifBORD[INFORMATIE[W+3]+VELD]=0thenbeginforJ:=0,1,2,3doBORD[INFORMATIE[W+J]+VELD]:=STEEN;ifNUMMER=AANTALSTENENthenOUTPUTelsebeginforK:=KOLOMstep1untilLENGTEdoforR:=0stepLENGTEuntilLBdoifBORD[R+K]=0thengotoBEET;BEET:UP(R+K,K)end;forJ:=0,1,2,3doBORD[INFORMATIE[W+J]+VELD]:=0endendendendend;ONGEBRUIKT[STEEN]:=trueend;BORD[VELD]:=0;DOWN:NUMMER:=NUMMER-1endUP;TELLER:=1;forI:=1step1untilAANTALSTENENdobeginJ:=READ;comment steennummer, wordt niet gebruikt;WIJZER[I]:=TELLER;STANDEN[I]:=READ;forJ:=1step1untilSTANDEN[I]dobeginforK:=0step1until3doINFORMATIE[TELLER+K]:=READ;TELLER:=TELLER+4endend;forI:=-39step1until0,61step1until100doBORD[I]:=-1;forI:=1step1until60doBORD[I]:=0;forI:=1step1untilAANTALSTENENdoONGEBRUIKT[I]:=true;SCORE:=NUMMER:=0;NLCR;PRINTTEXT(|);NLCR;NLCR;NLCR;UP(1,1);EX:endend