program shaman_king; uses crt; type man=record sila: integer; opit: integer; end; var i, box, ham, dop_hans, pob, j, n:integer; chel:array[1..1] of man; kin, meh: boolean; procedure make_mir; begin clrscr; gotoxy(4,5); write('/\'); gotoxy(4,6); write('||'); gotoxy(4,7); write('||'); gotoxy(3,8); write('_||_'); gotoxy(3,9); write('|__|'); gotoxy(2,10); write('Рынок'); gotoxy(2,13); end; procedure rinok; begin clrscr; writeln('Вы находитесь на рынке, что же можно купить?'); writeln('--------------------------------------------------'); writeln('| НАИМЕНОВАНИЕ | СТОИМОСТЬ | Улучшения |'); writeln('|______________|_________________|_______________|'); writeln('| | | опыт+20 |'); writeln('|1.Кинжал боли | 10 опыта | сила+40 |'); writeln('|______________|_________________|_______________|'); writeln('| | | опыт+40 |'); writeln('|2. Меч атаки | 60 опыта | сила+100 |'); writeln('|______________|_________________|_______________|'); writeln('--------------------------------------------------'); readln(j); case j of 1:begin if ((chel[1].opit>=10) and (kin=false)) then begin clrscr; writeln('Вы приобрели кинжал боли-поздравляю'); chel[1].opit:=chel[1].opit+20; chel[1].sila:=chel[1].sila+40; kin:=true; readln; end else begin writeln('Не хватает денег для покупки кинжала'); writeln('Или же он еже у ВАС есть.'); readln; end; end; 2:begin if ((chel[1].opit>=60) and (meh=false)) then begin clrscr; writeln('Вы приобрели меч атаки-поздравляю'); chel[1].opit:=chel[1].opit+40; chel[1].sila:=chel[1].sila+100; meh:=true; readln; end else begin writeln('Не хватает денег для покупки меча.'); writeln('Или он у вас уже есть.'); readln; end; end; end; end; procedure luse_dead; begin writeln('Вы проиграли бой вонючему мертвецу-позор вам.'); chel[1].opit:=chel[1].opit-n; chel[1].sila:=chel[1].sila-n; readln; end; procedure pobed_dead; begin writeln('ПОБЕДА!!! Вы одолели живого трупа-еще одна зарубка на мече.'); chel[1].opit:=chel[1].opit+n; chel[1].sila:=chel[1].sila+n; readln; end; procedure dead; begin clrscr; writeln('Проходя по глухим болотам вы повстречали зомби...'); writeln('...ну тут и думать нечего- за ДЕЛО!!!'); writeln('Амидомару-дух бесплотный единение...'); delay(60000); writeln('...Ультра удар...'); delay(60000); writeln('...Блок света...'); delay(60000); writeln('...Взрыв энергии...'); readln; dop_hans:=chel[1].sila+chel[1].opit; if dop_hans>10 then begin randomize; pob:=random(3); if ((pob=0) or (pob=2) or (pob=3)) then pobed_dead else luse_dead; end else begin { <--- ─юсртшЄ№ begin } pob:=random(5); if ((pob=0) or (pob=2) or (pob=3)) then pobed_dead else luse_dead; end; { <--- ш end } end; { procedure } procedure luse_ham; begin writeln('Вы проиграли бой грозному шаману.'); chel[1].opit:=chel[1].opit-n; chel[1].sila:=chel[1].sila-n; readln; end; procedure pobed_ham; begin writeln('ПОБЕДА!!! Вы одолели грозного шамана.'); chel[1].opit:=chel[1].opit+n; chel[1].sila:=chel[1].sila+n; readln; end; procedure haman; var f : integer; begin clrscr; writeln('Вы встретили на своем пути другого шамана...'); writeln('...каков же будет исход битвы?'); writeln('Амидомару-дух бесплотный единение...'); delay(60000); writeln('...Небесный удар, блок...'); delay(60000); writeln('...подсечка...'); delay(60000); writeln('...удар света, блок шамана...'); readln; dop_hans:=chel[1].sila+chel[1].opit; if dop_hans>10 then begin randomize; f:=random(chel[1].sila*2); if chel[1].sila>=f then pobed_ham else begin pob:=random(chel[1].sila-f); if (pob=0) or (pob=1) then pobed_ham else luse_ham; end; end else begin { <--- ─юсртшЄ№ begin } pob:=random(10); if ((pob=0) or (pob=2) or (pob=3)) then pobed_ham else luse_ham; end; { <--- ш end } end; { procedure } procedure boi; begin randomize; box:=random(2); case box of 0:haman; 1:dead; end; end; procedure make_w(l:integer); begin case l of 1:begin {Окно заголовка игры} window(2,2,78,5); textbackground(lightblue); textcolor(white); clrscr; writeln(' | SHAMAN KING |'); writeln(' | Встреть свою судьбу|'); writeln(' | БУДЬ ШАМАНОМ |'); end; 2:begin{Окно игры} window(2,7,60,20); textbackground(lightblue); textcolor(white); clrscr; end; 3:begin{Окно параметров персонажа} window(62,7,78,20); textbackground(lightblue); textcolor(white); clrscr; writeln('Персонаж: Йоу'); writeln('Дух: Амидомару'); writeln('Сила: ',chel[1].sila); writeln('Опыт: ',chel[1].opit); writeln('Фуреку: ',n); end; 4:begin{Меню игры} window(2,22,78,25); textbackground(lightblue); textcolor(white); clrscr; writeln(' | 1. Вступить в бой. |'); writeln(' | 2. На рынок. |'); writeln(' | 3. Выход из игры. |'); end; end; end; begin n:=5; repeat window(1,1,80,25); textbackground(black); clrscr; make_w(1); make_w(3); make_w(4); make_w(2); make_mir; readln(i); case i of 1:boi; 2:rinok; end; until i=3; end.