{ Included File: CARD.INC } procedure makedeck; var cardnum: 0..decksize; rank: ranktype; suit: suitype; begin cardnum:=0; for suit:=hearts to spades do for rank:=1 to ranksize do begin cardnum:=cardnum+1; deck[cardnum].rank:=rank; deck[cardnum].suit:=suit end end; {makedeck} procedure shuffle; var curcard, newcard: 1..decksize; tmp: card; begin for curcard:=1 to decksize do begin newcard:=random(decksize)+1; tmp:=deck[newcard]; deck[newcard]:=deck[curcard]; deck[curcard]:=tmp end end; {shuffle} procedure deal; var i: 1..dealsize; begin common.rank:=0; for i:=1 to dealsize do begin human[i]:=deck[i]; comp[i]:=deck[i+dealsize] end end; {deal} procedure showcard(toshow: card); begin case toshow.rank of 1: write('A'); 2,3,4,5,6,7,8,9: write(toshow.rank:1); 10: write('T'); 11: write('J'); 12: write('Q'); 13: write('K') end; {case} case toshow.suit of hearts: write('H'); clubs: write('C'); diamonds: write('D'); spades: write('S') end; {suit} write(' ') end; {showcard} { End of included file }