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".