pascalabcnet/TestSuite/CompilationSamples/Matches.pas

46 lines
1.1 KiB
ObjectPascal
Raw Normal View History

// Игра "Спички"
2015-05-14 22:35:07 +03:00
const InitialCount=15;
var
/// Текущее количество спичек
2015-05-14 22:35:07 +03:00
Count: integer;
/// Количество спичек, которое берет игрок
2015-05-14 22:35:07 +03:00
Num: integer;
/// Номер текущего игрока
2015-05-14 22:35:07 +03:00
Player: integer;
begin
Player := 1;
Count := InitialCount;
repeat
if Player=1 then
begin
var Correct: boolean;
repeat
write('Ваш ход. На столе ',Count,' спичек. ');
write('Сколько спичек Вы берете? ');
2015-05-14 22:35:07 +03:00
readln(Num);
Correct := (Num>=1) and (Num<=3) and (Num<=Count);
if not Correct then
writeln('Неверно! Повторите ввод!');
2015-05-14 22:35:07 +03:00
until Correct;
end
else
begin
Num := Random(1,3);
if Num>Count then
Num := Count;
writeln('Мой ход. Я взял ',Num,' спичек');
2015-05-14 22:35:07 +03:00
end;
Count -= Num;
if Player=1 then
Player := 2
else Player := 1;
until Count=0;
if Player=1 then
writeln('Вы победили!')
else writeln('Вы проиграли!');
2015-05-14 22:35:07 +03:00
end.