Что не так со следующим кодом? Сбой при вводе номера.
Я потратил более 2 часов, пытаясь понять, и до сих пор не могу, я изучаю паскаль, поэтому, пожалуйста, потерпите меня.
Program Game;
var
PlayerOneScore: Integer;
PlayerTwoScore: Integer;
BallsNo: Integer;
CurrentScore: Integer;
Ptr: Integer;
Result: Integer;
Begin
CurrentScore := 0;
PlayerOneScore:= 0;
PlayerTwoScore:= 0;
Writeln('How many balls do you wish to face?');
Readln(BallsNo);
Ptr:=BallsNo;
While Ptr < 1 Do
Begin
Repeat
Ptr:=Ptr+1;
CurrentScore:=0;
Writeln ('Player turn');
Writeln ('Please roll the bowling die');
Writeln ('Enter 1 if result is a 1');
Writeln ('Enter 2 if result is a 2');
Writeln ('Enter 3 if result is a 4');
Writeln ('Enter 4 if result is a 6');
Writeln ('Enter 5 if result is a 0');
While BallsNo >0 Do
Begin
Repeat
Writeln('This is',BallsNo);
Readln(Result);
BallsNo:=BallsNo-1;
Until BallsNo = 0;
If Result = 1 Then
CurrentScore:= CurrentScore+1
Else If Result = 2 THEN
CurrentScore:= CurrentScore+2
Else If Result = 3 THEN
CurrentScore:= CurrentScore+4
Else If Result = 4 THEN
CurrentScore := CurrentScore+6
End;
Until Ptr=2;
End;
If Ptr = 1 Then
PlayerOneScore := CurrentScore
Else
PlayerTwoScore := CurrentScore;
If PlayerOneScore > PlayerTwoScore Then
Writeln('Player One Wins');
If PlayerTwoScore > PlayerOneScore Then
Writeln('Player Two Wins');
If PlayerOneScore = PlayerTwoScore Then
Writeln('Tie');
End.