A さんと B さんがなにやら数当てゲームを行っています。
A: 「私が頭に思い浮かべている数値を当てて見て。」
(ここで A さんは頭の中で 120 を思い浮かべる)
B: 「 500 ! 」
A: 「全然遠い。もっと下。」
B: 「じゃあ、200」
A: 「結構近くなったよ。でもまだ下。」
B: 「150 ぐらいかな?」
A: 「大分近くなってきた。でももう少し下だね。」
B: 「100 ではどう?」
A: 「おしい、もうちょっと上。」
B:「じゃあ、110 ぐらいでしょ」
A: 「かなり近い。ほんの少しだけ上。」
B: 「120 でどうだ。」
A: 「正解!」
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
function IsDigit(s: string): Boolean;
var
c: Integer;
begin
Result := TryStrToInt(s, c);
end;
function IsMinus(v: Integer): Boolean;
begin
Result := (v < 0);
end;
var
Answer, Diff: Integer;
X, Range, Direction: string;
begin
Randomize;
while true do begin
repeat
Write('いくつまでの整数を使っていい?(Ctrl+Cで終了): ');
Readln(Range);
until IsDigit(Range);
Answer := Random(StrToInt(Range))+1;
repeat
repeat
Write('いくつ?: ');
Readln(X);
until IsDigit(X);
Diff := Answer-StrToInt(X);
if IsMinus(Diff) then
Direction := '下'
else
Direction := '上';
case Abs(Diff) of
0 : Writeln('正解!');
1..10 : Writeln('おしい、もうちょっと', Direction);
11..50 : Writeln('もう少し', Direction);
51..100: Writeln('もっと', Direction)
else
Writeln('全然遠い、まだまだ', Direction);
end;
until Answer = StrToInt(X);
end;
end.
