2015-12-28 14:25:15 +03:00
|
|
|
|
// Игра "Спички"
|
2015-05-14 22:35:07 +03:00
|
|
|
|
const InitialCount=15;
|
|
|
|
|
|
|
|
|
|
|
|
var
|
2015-12-28 14:25:15 +03:00
|
|
|
|
/// Текущее количество спичек
|
2015-05-14 22:35:07 +03:00
|
|
|
|
Count: integer;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
/// Количество спичек, которое берет игрок
|
2015-05-14 22:35:07 +03:00
|
|
|
|
Num: integer;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
/// Номер текущего игрока
|
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
|
2015-12-28 14:25:15 +03:00
|
|
|
|
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
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Неверно! Повторите ввод!');
|
2015-05-14 22:35:07 +03:00
|
|
|
|
until Correct;
|
|
|
|
|
|
end
|
|
|
|
|
|
else
|
|
|
|
|
|
begin
|
|
|
|
|
|
Num := Random(1,3);
|
|
|
|
|
|
if Num>Count then
|
|
|
|
|
|
Num := Count;
|
2015-12-28 14:25:15 +03:00
|
|
|
|
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
|
2015-12-28 14:25:15 +03:00
|
|
|
|
writeln('Вы победили!')
|
|
|
|
|
|
else writeln('Вы проиграли!');
|
2015-05-14 22:35:07 +03:00
|
|
|
|
end.
|