Vorweg:
Bitte net auslachen, hab Informatik erst 3 Stunden gehabt!!
Nun zum Thema. Ich will das Spiel 17und4 nachbauen. Mein Problem ist jetzt, dass wenn die Kartensumme des Computers höher als 21 ist, schreibt er trotzdem er hätte gewonnen. Wenn ich das mit einer if-schleife wegmachen will, steh da immer:
Sie haben gewonnen, der Computer hat 22.
Sie haben verloren, der Computer hat 22.
Er gibt also beides aus.. wie mach ich das besser?
Hier der Code:
---------------------------------
program florianskartenspiel;
uses wincrt;
var
Kartenwert,Kartensumme,Kartenwert2,Computer,i:integer;
jn:string;
begin {Hauptprogramm};
randomize;
For i:=1 to 10 do Begin
Kartenwert:=random(11)+1;
Kartenwert2:=random(11)+1;
Computer:=Computer+Kartenwert2;
Kartensumme:=Kartensumme+Kartenwert;
writeln('Kartenwert: ',Kartenwert,' Kartensumme: ',Kartensumme);
if Kartensumme>21 then begin
writeln('');
writeln('');
writeln('Sie haben sich verzockt!!! Der Computer gewinnt!');
i:=10;
end
else begin
if Kartensumme=21 then begin
i:=10;
end;
writeln('Wollen Sie noch eine Karte ziehen? (j/n)');readln(jn);
if jn='n' then begin
if Computer<Kartensumme then
writeln('Sie haben gewonnen, der Computer hat: ',Computer);
if Kartensumme<=Computer then
writeln('Sie haben verloren, der Computer hat: ',Computer);
i:=10;
end;
end;
end;
end.
---------------------------------
Habt vielen Dank
EDIT:
achja: Copyright by P(L)USSY
<font size=-1>[ Diese Nachricht wurde geändert von: P(L)USSY am 2004-08-30 17:19 ]</font>
[ Diese Nachricht wurde geändert von: P(L)USSY am 2004-08-30 17:47 ]