|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3072 (0xc00) Types: TextFile Names: »BRIDGE1.PAS«
└─⟦092727b26⟧ Bits:30005927 Demoprogrammer til Pascal bog (Jet-80) └─ ⟦this⟧ »BRIDGE1.PAS« └─⟦3702e543b⟧ Bits:30003064 Demoprogrammer A-J til Pascal bog └─ ⟦this⟧ »BRIDGE1.PAS« └─⟦f983c2ef3⟧ Bits:30004681 Pascal opgaver (Butler) └─ ⟦this⟧ »BRIDGE1.PAS«
PROGRAM bridge1; TYPE kuloerer = (kloer, ruder, hjerter, spar); blad = RECORD kuloer : kuloerer; nr : 1 .. 13; END; haand = ARRAY(.1 .. 13.) OF blad; kortspil = ARRAY(.1 .. 52.) OF blad; VAR kort : kortspil; nord, oest, syd, vest : haand; PROCEDURE opretspil; VAR farve : kuloerer; i : INTEGER; BEGIN (* opretspil *) FOR farve := kloer TO spar DO FOR i := 0 TO 12 DO WITH kort(.52 - (13 * ORD(farve) + i).) DO BEGIN kuloer := farve; nr := i + 1; END; END; (* opretspil *) PROCEDURE bland; VAR i, byt : INTEGER; temp : blad; BEGIN (* bland *) RANDOMIZE; FOR i := 1 TO 52 DO BEGIN byt :=RANDOM(52) + 1; temp := kort(.i.); kort(.i.) := kort(.byt.); kort(.byt.) := temp; END; END; (* bland *) PROCEDURE uddel; VAR i : INTEGER; BEGIN (* uddel *) FOR i := 0 TO 51 DO BEGIN CASE i MOD 4 OF 0 : nord(.i DIV 4 + 1.) := kort(.52 - i.); 1 : oest(.i DIV 4 + 1.) := kort(.52 - i.); 2 : syd(.i DIV 4 + 1.) := kort(.52 - i.); 3 : vest(.i DIV 4 + 1.) := kort(.52 - i.); END; (* CASE *) END; (* FOR *) END; (* uddel *) PROCEDURE udskrivhaand(spiller : haand); VAR i : INTEGER; BEGIN (* udskrivhaand *) FOR i := 1 TO 13 DO WITH spiller(.i.) DO BEGIN CASE kuloer OF kloer : WRITE('K'); ruder : WRITE('R'); hjerter : WRITE('H'); spar : WRITE('S'); END; (* CASE *) WRITE(nr, ' '); END; (* WITH, FOR *) WRITELN; WRITELN; END; (* udskrivhaand *) BEGIN (* bridge1*) WRITE(CHR(12)); opretspil; bland; uddel; WRITELN('NORD: '); udskrivhaand(nord); WRITELN('ØST : '); udskrivhaand(oest); WRITELN('SYD : '); udskrivhaand(syd); WRITELN('VEST: '); udskrivhaand(vest); END. (* bridge1 *) «eof»