Warum ist Doors als Integer und nicht als Boolean deklariert?
Und warum wird dieses Array nicht initialisiert?
Bist du dir sicher, daß nach dem SetLength alle Integer auf 0 (False) stehen?
Zitat:
Delphi-Quellcode:
if Doors[RandomDoor] = 0 then //Wenn das was im Array drinsteht 0 ist vom Index RandomDoor
WriteLn('Door number: ' + IntToStr(RandomDoor +1) + ' Ohhh, it is a goat! ;O');
WriteLn('Do you want to change your door?');
WriteLn;
Die CodeFormatierung meint, daß da BEGIN und END fehlen.
Zitat:
Delphi-Quellcode:
Decision := 'None';
while not (Decision = 'Y') and not (Decision = 'y') and not (Decision = 'N') and not (Decision = 'n') do
begin
WriteLn('# NOTE: Only Y/y or N/n accepted');
ReadLn(Decision);
end;
Die Repeat-Until-Schleife kennst du aber?
Delphi-Quellcode:
repeat
WriteLn('# NOTE: Only Y/y or N/n accepted');
ReadLn(Decision);
until (UpperCase(Decision) = 'Y') or (UpperCase(Decision) = 'N');
Kann es sein, daß da noch eine Schleife fehlt?
Vorallem Wenn man mehr als 3 Türen vorgibt.
Und nicht vergessen, der Moderator darf nur fragen, wenn mehr als 2 Türen noch nicht gewählt wurden, denn ansonsten würde man nie verlieren können,
da der Moderator ja alle falschen Türen öffnen würde, mit seinem "ich zeige ihnen mal was".
Ein Therapeut entspricht 1024 Gigapeut.