Программирование игр. Кто берет последнюю спичку,тот выигрывает - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

прошу помощи в создании программы! Разработать программную модель следующей игры двух игроков(пользователь-компьютер),реализовав выигрышную стратегию для компьютера:На стол выкладываются 50 спичек.Каждый игрок по очереди вынимает спички из кучи,по меньшей мере,1 и не более 6.Кто берет последнюю спичку,тот выигрывает. буду признательна за оказанную (хоть какую) помощь!

Решение задачи: «Программирование игр. Кто берет последнюю спичку,тот выигрывает»

textual
Листинг программы
program v3;
var a,b,c,k,p,n,m:integer;
begin
 
write('введите число спичек '); read(n);
write('сколько можно брать спичек за ход? '); read(m);
 
while p=0 do begin
 
while c=0 do begin
writeln();
write('тяните спички '); read(a);
if a < 1 then c:=0 else c:=1;
if a > m then c:=0 else C:=1;
end;
c:=0;
 
n:=n-a;
if n<=0 then p:=1;
if p=0 then begin
writeln('спичек осталось: ',n);
 
if n mod (m+1) <> 0 then begin
for k:=1 to m do if (n-k) mod (m+1) = 0 then b:=k;
end
else b:=random(m)+1;
 
 
writeln('компьютер взял ',b);
n:=n-b;
if n=0 then p:=2;
writeln('спичек осталось ',n);
end;
writeln();
end;
 
case p of
 1: writeln ('Вы победили!');
 2: writeln ('Победа компьютера');
end;
end.

Объяснение кода листинга программы

  1. Программа называется v3.
  2. Переменные: a, b, c, k, p, n, m - целые числа.
  3. В первой части программы пользователю предлагается ввести количество спичек, которые можно взять за ход (переменная m).
  4. Во второй части программы, если переменная p равна 0, то происходит цикл, в котором пользователь может брать спички. Если переменная c равна 0, то происходит другой цикл, в котором компьютер берет спички.
  5. После каждого хода пользователя или компьютера выводится количество оставшихся спичек.
  6. Если количество оставшихся спичек становится меньше 1, то переменная c сбрасывается в 0. Если переменная p равна 0, то программа заканчивается и выводится сообщение о победе пользователя или компьютера.
  7. Если количество оставшихся спичек не делится на (m+1), то программа выбирает случайное число от 1 до m для того, чтобы компьютер мог взять одну из спичек.
  8. В конце программы выводится сообщение о победе пользователя или компьютера в зависимости от значения переменной p.

Оцени полезность:

13   голосов , оценка 4.385 из 5
Похожие ответы