Program Cards; uses Crt; const cKaro = 4; cHerz = 3; cPik = 6; cKreuz = 5; cKartenWert : array[0..12] of string = ('2','3','4','5','6','7','8','9','10','B','D','K','A'); cKartenFarbe : array[0..3] of byte = (cKaro,cHerz,cPik,cKreuz); procedure ZeigeKarte(Zahl:Integer); const cH = chr(205); cV = chr(186); cL = ' '; cOL = chr(201); cOR = chr(187); cUL = chr(200); cUR = chr(188); var vF : char; vW : string; KW,KF : integer; begin if Zahl < 49 then begin KF := Zahl div 13; KW := Zahl mod 13; vF := chr(cKartenFarbe[KF]); vW := cKartenWert[KW]; if KW <> 8 then vW := vW + ' '; writeln(cOL,cH,cH,cH,cH,cH,cH,cH,cH,cH,cOR); writeln( cV,vF,cL,cL,cL,cL,cL,cL,cL,vF,cV); writeln( cV,cL,cL,cL,cL,cL,cL,cL,cL,cL,cV); writeln( cV,cL,cL,cL,cL,cL,cL,cL,cL,cL,cV); writeln( cV,cL,cL,cL,cL,cL,cL,cL,cL,cL,cV); writeln( cV,cL,cL,cL,cL, vW ,cL,cL,cL,cV); writeln( cV,cL,cL,cL,cL,cL,cL,cL,cL,cL,cV); writeln( cV,cL,cL,cL,cL,cL,cL,cL,cL,cL,cV); writeln( cV,cL,cL,cL,cL,cL,cL,cL,cL,cL,cV); writeln( cV,vF,cL,cL,cL,cL,cL,cL,cL,vF,cV); writeln(cUL,cH,cH,cH,cH,cH,cH,cH,cH,cH,cUR); end; end; procedure Auswertung(zC,zM : integer); begin if zC > zM then write('Du hast leider verloren! ') else if zC < zM then write('Gratulation, du hast gewonnen! ') else write('Unentschieden! Geht das überhaupt? '); end; var zComputer,zMensch : integer; antw : char; begin repeat ClrScr; writeln('Computer zieht folgende Karte:'); zComputer := random(48); ZeigeKarte(zComputer); write('Jetzt ziehe du eine Karte (Druecke ENTER)'); readln; zMensch := random(48); ZeigeKarte(zMensch); Auswertung(zComputer,zMensch); write('Noch eine Runde (J/N): '); readln(antw); until (antw ='N') or (antw = 'n'); end.