Программирование игр. Кто берет последнюю спичку,тот выигрывает - 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.
Объяснение кода листинга программы
- Программа называется
v3
. - Переменные: a, b, c, k, p, n, m - целые числа.
- В первой части программы пользователю предлагается ввести количество спичек, которые можно взять за ход (переменная m).
- Во второй части программы, если переменная p равна 0, то происходит цикл, в котором пользователь может брать спички. Если переменная c равна 0, то происходит другой цикл, в котором компьютер берет спички.
- После каждого хода пользователя или компьютера выводится количество оставшихся спичек.
- Если количество оставшихся спичек становится меньше 1, то переменная c сбрасывается в 0. Если переменная p равна 0, то программа заканчивается и выводится сообщение о победе пользователя или компьютера.
- Если количество оставшихся спичек не делится на (m+1), то программа выбирает случайное число от 1 до m для того, чтобы компьютер мог взять одну из спичек.
- В конце программы выводится сообщение о победе пользователя или компьютера в зависимости от значения переменной p.