elePHPant

prpg 0.3

Apr 17th, 2022 (edited)
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 48.91 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use utf8;
  3. $os = $^O;
  4. if($os == "/win/"){
  5.     print "Windows\n";
  6.     use open qw( :encoding(cp866) :std );
  7. } else {
  8.     print "Other OS\n";
  9.     use open qw( :encoding(utf8) :std );
  10. }
  11.  
  12. #START FRAGMENT#
  13. print '
  14.    //   ) )                     //   ) )  //   ) ) //   ) )
  15.   //___/ /  ___      __     // //___/ /  //___/ / //        
  16.  / ____ / //___) ) //  ) ) // / ___ (   / ____ / //  ____  
  17. //       //       //      // //   | |  //       //    / /  
  18. //       ((____   //      // //    | | //       ((____/ /  0.3
  19. ____  
  20. (  _ \
  21. ( |_| |
  22. )___/
  23. (__) ERL.ORG
  24. perl.org
  25. ';
  26. $gn = "
  27. **********************************
  28. Hello user! This is:
  29. #PRpg - Perl RPG - RPG on the Perl#
  30. **********************************
  31. Write your name: ";
  32. print $gn;
  33. $name = <STDIN>;
  34. chomp $name;
  35. print "
  36.         Knight $name
  37.  / \
  38.  | |
  39.  |.|
  40.  |.|
  41.  |:|      __
  42. ,_|:|_,   /  )
  43.  (Oo    / _I_
  44.   +\ \ || __|
  45.      \ \||___|
  46.        \ /.:.\-\
  47.         |.:. /-----\
  48.         |___|::oOo::|
  49.         /   |:<_T_>:|
  50.        |_____\ ::: /
  51.         | |  \ \:/
  52.         | |   | |
  53.         \ /   | \___
  54.         / |   \_____\
  55.         `-'
  56. ";
  57. print "\n";
  58. <STDIN>;
  59. $instr_w = 'Чтобы перемещаться используйте "W", "A", "S", "D"';
  60. print "
  61.          *Вперёд к приключениям!*
  62. _   _   _   _+       |
  63. /_`-'_`-'_`-'_|  \+/  |
  64. \_`M'_`D'_`C'_| _<=>_ |
  65.  `-' `-' `-' 0/ \ / o=o
  66.              \/\ ^ /`0
  67.              | /_^_\
  68.              | || ||
  69.            __|_d|_|b__
  70. ";
  71. print $instr_w;
  72. my %items = (25 => "Очень тяжелый зачарованный меч",
  73.     20 => "Книга зачарованний",
  74.     15 => "Карта местности");
  75. my %characteristics = (health => 100,
  76.                       maxhealth => 100,
  77.                       gold => 20,
  78.                       sword => 30,
  79.                       item1 => "",
  80.                       item2 => "",
  81.                       item3 => "",
  82.                       bow => 25,
  83.                       crossbow => 30,
  84.                       axe => 40,
  85.                       arrows => 10,
  86.                       lightning => 35,
  87.                       fireball => 40,
  88.                       maxarrows => 150,
  89.                       weapon1 => "",
  90.                       weapon2 => "",
  91.                       weapon3 => "",
  92.                       scroll1 => "",
  93.                       scroll2 => "",
  94.                       scroll3 => "",
  95.                       moves => 0,
  96.                       days => 0,
  97.                       weeks => 0,
  98.                       months => 0,
  99.                       score => 0,
  100.                       magic1 => "",
  101.                       magic2 => "",
  102.                       magic3 => "",
  103.                       magic4 => "",
  104.                       magic5 => "",
  105.                       mana => 20,
  106.                       intelligence => 0,
  107.                       power => 0,
  108.                       power_astr => 0,
  109.                       luck => 0,
  110.                       luck_astr => 0,
  111.                       magic => 0,
  112.                       magic_astr => 0,
  113.                       uron => 20,
  114.                       maxuron => 100);
  115. my %clothes = (hand => "quilted_gloves",
  116.                 quilted_gloves => 1,
  117.                 leather_gloves => 2,
  118.                 iron_gloves => 3,
  119.                 gods_gloves => 5,
  120.                
  121.                 body => "quilted_armor",
  122.                 quilted_armor => 2,
  123.                 leather_armor => 4,
  124.                 iron_armor => 7,
  125.                 gods_armor => 12,
  126.                
  127.                 pants => "quilted_pants",
  128.                 quilted_pants => 1,
  129.                 leather_pants => 3,
  130.                 iron_pants => 5,
  131.                 gods_pants => 7,
  132.                
  133.                 shoes=>"quilted_shoes",
  134.                 quilted_shoes => 1,
  135.                 leather_shoes => 2,
  136.                 iron_shoes => 3,
  137.                 gods_shoes => 5);
  138. my %clothes_names = (quilted_gloves => "стёганные перчатки",
  139.                 leather_gloves => "кожанные перчатки",
  140.                 iron_gloves => "железные перчатки",
  141.                 gods_gloves => "перчатки бога",
  142.                
  143.                 quilted_armor => "стеганные доспехи",
  144.                 leather_armor => "кожанные доспехи",
  145.                 iron_armor => "железные доспехи",
  146.                 gods_armor => "доспехи бога",
  147.                
  148.                 quilted_pants => "стеганные штаны",
  149.                 leather_pants => "кожанные штаны",
  150.                 iron_pants => "железные штаны",
  151.                 gods_pants => "штаны бога",
  152.                
  153.                 quilted_shoes => "стеганные ботинки",
  154.                 leather_shoes => "кожанные ботинки",
  155.                 iron_shoes => "железные ботинки",
  156.                 gods_shoes => "ботинки бога");
  157. my %wasd =  ( W => 'Шаг вперед',
  158.                A => 'Шаг влево',
  159.                S => 'Шаг назад',
  160.                D => 'Шаг вправо',
  161.                N => "Ваше имя это: $name",
  162.                H => "Лечится с помощью чёрной магии"
  163.                 );
  164. $quest1 == "inactive";
  165. $quest2 == "inactive";
  166. $quest3 == "inactive";
  167. $quest4 == "inactive";
  168. my %buildings = (1 => "шахта",
  169.                 2 => "замок
  170. ** A castle**
  171.  
  172.     |Zz.                      |Zz.
  173.     |                         |
  174.    _L__                      _|
  175.   (____)      _             /__\
  176.   /____\    /_\          /____\
  177.  (______)    | |          (______)
  178.   |  U |_____| |___________| U  |
  179.   |u   | |  |   __   |  |  |   u|
  180.   |    | |  |  ||||  |  |  |    |
  181.   -------------''''--------------js
  182.   ",
  183.    3=> "казарма
  184.      `'::::.
  185.        _____A_
  186.       /      /\
  187.    __/__/\__/  \___
  188. ---/__|'' '' '| /___/\----
  189.   |''|''||''| |' '||
  190.   `''`''))''`'''''
  191.   ",
  192.    4=> "город
  193.  
  194.                         **A city**
  195.  
  196.                      \|/
  197.                      -o-                              |
  198.                      /|\                            ( )_
  199.             |                                       /\ | |
  200.            (_)             |      |   __         |  ||-| |-[]|  \|/  \|
  201. ___|___   _| |____   |    (_)_  _( )_|[]|     __(_)_|| |     |_~(|)~~(|
  202. (_)__)__|_| []|[]  |_(_)_  |[]|_|_[]__|__|  __| |[]|__| | []|___|_|____|
  203. | |__| [] |   |[]  |  | |  |    | []  |  | |  | |   |||_|    [][]      |
  204.   ",
  205.    5=>"башня с лучниками
  206.     **Tower with archers**
  207.                                                                    
  208.                
  209.                /\
  210.     /\       /__\
  211.    /__\      |. |
  212.    |n |     :_|__|_:
  213.  :_|  |_:     |. |
  214.    | n|       |. |
  215.    |  |       |. |
  216.    |n |_______|. |
  217.    |n |.      |. |
  218.     |n |       |. |
  219.   _|__|_______|__|____
  220.  /  \        \       \  
  221.   ",
  222.    6=>"дерево
  223.     **A tree**
  224.  
  225.       _-_
  226.    /~~   ~~\
  227. /~~         ~~\
  228. {               }
  229. \ _-     -_  /
  230.   ~  \\ //  ~
  231. _- -   | | _- _
  232.  _ -  | |   -_
  233.      // \\
  234.   "
  235.    );
  236. my %dealers = (
  237. 1 => "минотавр
  238.     .      .
  239.     |\____/|
  240.    (\|----|/)
  241.     \ 0  0 /
  242.      |    |
  243.   ___/\../\____
  244.  /     --       \
  245. /  \        /   \
  246. |    \___/___/(   |
  247. \  /|  }{   | \ )
  248. \ ||__}{__|  |  |
  249.  \ |;;;;;;;\ \ / \_______
  250.   \ /;;;;;;;;| [,,[|======'
  251.     |;;;;;;/ |     /
  252.     ||;;|\  |
  253.     ||;;/|   /
  254.     \_|:||__|
  255.      \ ;||  /
  256.      |= || =|
  257.      |= /\ =|
  258.      /_/  \_\
  259.                ",
  260.                2 => "торговец
  261.      .-.
  262.     (o.o)
  263.      |=|
  264.     __|__
  265.   //.=|=.\\
  266.  // .=|=. \\
  267.  \\ .=|=. //
  268.   \\(_=_)//
  269.    (:| |:)
  270.     || ||
  271.     () ()
  272.     || ||
  273.     || ||
  274. l42 ==' '==
  275.                ",
  276.                3 => "скелет
  277.            _..--''---.
  278.          /           ''.
  279.          `            l
  280.          |''._  ,._ l/''\
  281.          |  _J<__/.v._/
  282.           \( ,~._,,,,-)
  283.            `-\' \`,,j|
  284.               \_,____J
  285.          .--.__)--(__.--.
  286.         /  `-----..--'. j
  287.                ");
  288.  
  289. my %monstrs = ( 1 => "человек
  290.      __      _
  291.     /__\__  //
  292.    //_____\///
  293.   _| /-_-\)|/_
  294.  (___\ _ //___\
  295.  (  |\\_/// * \\
  296.   \_| \_((*   *))
  297.   ( |__|_\\  *//
  298.   (o/  _  \_*_/
  299.   //\__|__/\
  300.  // |  | |  |
  301. //  _\ | |___)
  302. //  (___|
  303. ",
  304.                2 => "эльф
  305.  
  306.             ..-.--..
  307.           ,','.-`.-.`.
  308.          :.',;'     `.\.
  309.          ||//----,-.--\|
  310.        \`:|/-----`-'--||'/
  311.         \\|:    |:'
  312.          `||      \  |!
  313.          |!|          ;|
  314.          !||:.   --  /|!
  315.         /||!||:.___.|!||\
  316.        /|!|||!|    |!||!\\:.
  317.     ,'//!||!||!`._.||!||,:\\\
  318.    : :: |!|||!| SSt|!||! |!::
  319.    | |! !||!|||`---!|!|| ||!|
  320.    | || |!|||!|    |!||! |!||
  321.                ",
  322.                3 => "гном
  323.  
  324.              \ |  / ,           ,-`````````'-.
  325.            `-.\ | /,'           /              `. `. \ |  / ,'
  326.           ----     ---         /    _,---''''--.,|  `.\| /,'
  327.            --,     `-.         |   |. __   . __,(| ---     ---
  328.            ,' /_\\_\_          |   | '  `   `. `|/   /    `.
  329.                \ \ `._       |() |,        `. \ /` ,| \ `.
  330.                 \   -' `-.__  \__/ `,  .  _   )|/' \/ |  \
  331.                  `.      -'  `--,/|  '`-'`'_`''-|    \
  332.                    `-._           `|     {`-`}  \    \
  333.                        `-._        \,     ``'  |` ,---'
  334.                            `-.       |         \,-'
  335.                               |\    `\        \
  336.                               \ `      \,       \
  337.                               /          \    |`
  338.                              |            \,  / \
  339.                              /              `'  |
  340.                              |                  |
  341.                              /                  |
  342.                             /      _ __    ,   ,'___,
  343.                            /  _   ' /,-`--'/  ' /   /    Zeus
  344.                            `-' `--..'-----'----'---'
  345.                ",
  346.                4 => "орк
  347.           _......._
  348.       .-'.'.'.'.'.'.`-.
  349.     .'.'.'.'.'.'.'.'.'.`.
  350.    /.'.'               '.\
  351.    |.'    _.--...--._     |
  352.    \   `._.-.....-._.'   /
  353.     |     _..- .-. -.._   |
  354. .-.'    `. ((@  @))  .'   '.-.
  355. ( ^ \     `--.   .-'     / ^ )
  356. \ /         .   .       \ /
  357. /          .'     '.  .-    \
  358. ( _.\   \ (_`-._.-'_)    /._\)
  359. `-' \  ' .--.          / `-'
  360.     |  / /|_| `-._.'\  |
  361.     |   |       |_| |   /-.._
  362. _..-\  `.--.______.'  |
  363.      \      .....     |
  364.       `.  .'      `.  /
  365.         \          .'
  366.  LGB     `-..___..-`
  367.                ",
  368.                5 => "демон
  369.                                             ,--,  ,.-.
  370.               ,                   \,       '-,-`,'-.' | ._
  371.              /|           \   ,   |\        }  )/  / `-,',
  372.              [ ,          |\ /|   | |        /  \|  |/`  ,`
  373.              | |       ,.`  `,` `, | |  _,...(   (      .',
  374.              \ \ __ ,-` `  ,  , `/ |,'      Y     (   /_L\
  375.               \ \_\,``,   ` , ,  /  |         )         _,/
  376.                \ '  `  ,_ _`_,-,<._.<        /         /
  377.                 ', `>.,`  `  `   ,., |_      |         /
  378.                   \/`  `,   `   ,`  | /__,.-`    _,   `\
  379.               -,-..\ _  \ `  /  ,  / `._) _,-\`       \
  380.                \_,,.) /\   ` /  / ) (-,, ``    ,        |
  381.               ,` )  | \_\      '-`  |  `(               \
  382.              /  /```(   , --, ,' \  |`<`    ,            |
  383.             /  /_,--`\  <\ V /> ,` )<_/)  | \     _____)
  384.       ,-, ,`   `   (_,\ \   |   /) / __/  /   `----`
  385.      (-, \          ) \ ('_.-._)/ /,`    /
  386.      | /  `          `/ \\ V   V, /`     /
  387.   ,--\(        ,     <_/`\\     ||      /
  388.  (   ,``-     \/|         \-A.A-`|     /
  389. ,>,_ )_,..(    )\         -,,_-`  _--`
  390. (_ \|`   _,/_  /  \_            ,--`
  391. \( `   <.,../`     `-.._   _,-`
  392.                ",
  393.                6 => "ангел
  394.   _               _
  395.  ( `-._\|||||/_.-' )
  396.   \  ((('_')))   /
  397.    )   ))) (((   (
  398.   (   ((( v )))   )
  399.    )`--' )X( `-._(
  400.   /   _./   \._   \
  401.  /  .' /     \ `.  \
  402. (__/  /       \ \__)
  403.      /         \
  404. jgs  /           \
  405.    WwWwWwWwWwWwWwW
  406.                ",
  407.                7 => "дракон
  408.                    -,,,__
  409.                     \   ``~~--,,__                /   /
  410.                     /              ``~~--,,_     //--//
  411.          _,,,,-----,\             ,,,,---- >   (c  c)\
  412.      ,;''            `\,,,,----''''   ,,-'''---/   /_ ;___        -,_
  413.     ( ''---,;====;,----/             (-,,_____/  /'/ `;   '''''----\ `:.
  414.     (                 '               `      (oo)/   ;~~~~~~~~~~~~~/--~
  415.      `;_           ;    \           ;   \  `  ' ,,'
  416.         ```-----...|     )___________|    )-----'''
  417. Art by               \  /             \  \\
  418.  Korrath            /  /,              `\  \\
  419.                   ,'---\ \             ,---`,;,
  420.                         ```
  421.                        ",
  422.                8 => "кентавр
  423.  <=======]}======
  424.    --.   /|
  425.   _\"/_.'/
  426. .'._._,.'
  427. :/ \{}/
  428. (L  /--',----._
  429.    |          \\
  430.   : /-\ .'-'\ / |
  431. snd \\, ||    \|
  432.     \/ ||    ||
  433.              "
  434.                );
  435. sub mdw{
  436.     $characteristics{moves} = $characteristics{moves} + 1;
  437.     $day = $day + 1;
  438.     if($day eq 7){
  439.         $characteristics{days} = $characteristics{days} + 1;
  440.         undef $day;
  441.     }
  442.     $week = $week + 1;
  443.     if ($week eq "49"){
  444.         $characteristics{weeks} = $characteristics{weeks} + 1;
  445.         undef $week;
  446.         &astrologers;
  447.     }
  448.     $month = $month + 1;
  449.     if ($month eq "147"){
  450.         $characteristics{months} = $characteristics{months} + 1;
  451.         undef $month;
  452.     }
  453. }
  454. sub astrologers{
  455.     $week_name = int(rand(4));
  456.     if ($week_name eq 1){
  457.         $week_n = "магии (магия +1)";
  458.         $w_n = "magic";
  459.     } elsif ($week_name eq 2){
  460.         $week_n = "силы (сила +1)";
  461.         $w_n = "power";
  462.     } elsif ($week_name eq 3){
  463.         $week_n = "удачи";
  464.         $w_n = "luck";
  465.     }
  466.     print "
  467. **************************************
  468. *Астрологи объявили неделю $week_n*
  469. **************************************
  470. \n";
  471.     if($w_n eq "magic"){
  472.         $characteristics{magic} = $characteristics{magic} + 1;
  473.         undef $w_n;
  474.         $magic_astr = 1;
  475.         if($power_astr eq 1){
  476.             if($characteristics{power} != 0){
  477.             $characteristics{power} = $characteristics{power} -1;
  478.             }
  479.         } elsif($luck_astr eq 1){
  480.             if($characteristics{luck} != 0){
  481.             $characteristics{luck} = $characteristics{luck} -1;
  482.             }
  483.         }
  484.     } elsif($w_n eq "power"){
  485.         $power_astr = 1;
  486.         $characteristics{power} = $characteristics{power} + 1;
  487.         undef $w_n;
  488.         $power_astr = 1;
  489.         if($magic_astr eq 1){
  490.             if($characteristics{magic} != 0){
  491.             $characteristics{magic} = $characteristics{magic} -1;
  492.             }
  493.         } elsif($power_astr eq 1){
  494.             if($characteristics{luck} != 0){
  495.             $characteristics{luck} = $characteristics{luck} -1;
  496.             }
  497.         }
  498.     } elsif($w_n eq "luck"){
  499.         $luck_astr = 1;
  500.         $characteristics{luck} = $characteristics{luck} + 1;
  501.         undef $w_n;
  502.         $luck_astr = 1;
  503.         if($power_astr eq 1){
  504.             if($characteristics{power} != 0){
  505.             $characteristics{power} = $characteristics{power} -1;
  506.             }
  507.         } elsif($magic_astr eq 1){
  508.             if($characteristics{magic} != 0){
  509.             $characteristics{magic} = $characteristics{magic} -1;
  510.             }
  511.         }
  512.     }
  513. }
  514. sub items {
  515.     $items = int(rand(30)) - $characteristics{luck};
  516.     foreach $key(sort keys %items){
  517.         if ($items eq $key){
  518.             print "Ты нашёл: ". $items{$key}."\n";
  519.             if (!$characteristics{item1}){
  520.                 $characteristics{item1} = $items{$key};
  521.             } elsif (!$characteristics{item2}){
  522.                 $characteristics{item2} = $items{$key};
  523.             } elsif (!$characteristics{item3}){
  524.                 $characteristics{item3} = $items{$key};
  525.             } else {
  526.                 print "Инвентарь полон!";
  527.             }
  528.         }
  529.     }
  530. }
  531. sub wasd{
  532.     #Считываем ввод с клавиатуры. С помощью uc мы переводим ввод в верхний
  533.     #регистр, а с помощью функции chomp() мы удаляем последний символ \n
  534.     $enter_b = uc <STDIN>;
  535.     chomp $enter_b;
  536.     if ($enter_b eq "IWANTTOBEAGOD" or $enter_b eq "PERLISROCK"){
  537.         print "Вы применили чит-код!\n";
  538.         $characteristics{gold} = $characteristics{gold} +1000;
  539.         $characteristics{power} = 10;
  540.         $characteristics{health} = 1000;
  541.         $characteristics{intelligence} = 10;
  542.         $characteristics{luck} = 10;
  543.         $characteristics{mana} = 1000;
  544.         $clothes{hand} = "gods_gloves";
  545.         $clothes{body} = "gods_armor";
  546.         $clothes{pants} = "gods_pants";
  547.         $clothes{shoes} = "gods_shoes";
  548.         $characteristics{weapon1} = "Лук";
  549.         $characteristics{weapon2} = "Арбалет";
  550.         $characteristics{weapon3} = "Топор";
  551.         $characteristics{magic1} = "Молния";
  552.         $characteristics{magic2} = "Фаерболл";
  553.         $characteristics{score} = 1000;
  554.     } elsif($enter_b eq "MONEY") {
  555.         $characteristics{gold} = 1000;
  556.         print "Вы применили чит-код!\n";
  557.     }
  558.     elsif ($enter_b eq "B"){
  559.         if (!$characteristics{item1} or !$characteristics{item2} or !$characteristics{item3}) {
  560.                     print "Извини... но у тебя нет нужного количества предметов.\n";
  561.                 } else {
  562.                     $characteristics{gold} = $characteristics{gold} + 10;
  563.                     $characteristics{item1} = undef;
  564.                     $characteristics{item2} = undef;
  565.                     $characteristics{item3} = undef;
  566.                     print "С помощью чёрной магии вы превратили найденное барахло в золото!\n";
  567.     }
  568. }
  569.     elsif ($enter_b eq "T") {
  570.         print "
  571. ______  __ __   ____  ____   __  _  _____    
  572. |      ||  |  | /    ||    \ |  |/ ]/ ___/    
  573. |      ||  |  ||  o  ||  _  ||  ' /(   \_    
  574. |_|  |_||  _  ||     ||  |  ||    \ \__  |  
  575.  |  |  |  |  ||  _  ||  |  ||     \/  \ |    
  576.  |  |  |  |  ||  |  ||  |  ||  .  |\   |  
  577.  |__|  |__|__||__|__||__|__||__|\_| \___|  
  578.         \n";
  579.         sleep (1);
  580.         print "SITES\n";
  581.         sleep(1);
  582.         print "stackoverflow.com for help with perl\n";
  583.         sleep(1);
  584.         print "patorjk.com for ASCII art\n";
  585.         sleep (1);
  586.         print "www.asciiart.eu for ASCII art\n";
  587.         sleep (1);
  588.         print "ascii.co.uk for ASCII art\n";
  589.         sleep (1);
  590.         print "www.cyberforum.ru for help with perl\n";
  591.         sleep(1);
  592.         print "perl.org for... PERL!\n";
  593.         sleep (1);
  594.         print "PEOPLE\n";
  595.         sleep(1);
  596.         print "Larry Wall for... perl!\n";
  597.         sleep (1);
  598.         print "GAMES\n";
  599.         sleep(1);
  600.         print "Might and Magic Book One: The Secret of the Inner Sanctum for inspiration\n";
  601.         sleep (1);
  602.         print "Fallout 1 for inspiration\n";
  603.         sleep (1);
  604.         print "Heroes of Might and Magic III for inspiration\n";
  605.         sleep (1);
  606.         print "BOOKS\n";
  607.         sleep (1);
  608.         print "Programming Perl 3th edition for help with perl\n";
  609.         sleep (2);
  610.     }
  611.     elsif ($enter_b eq "Y") {
  612.         if($clothes{hand} or $clothes{body} or $clothes{pants} or $clothes{shoes}){
  613.     foreach $key(sort keys %clothes){
  614.         if ($clothes{hand} eq $key){
  615.             $protection_hand = $clothes{$key};
  616.         }
  617.         if ($clothes{body} eq $key){
  618.             $protection_body= $clothes{$key};
  619.         }
  620.         if ($clothes{pants} eq $key){
  621.             $protection_pants = $clothes{$key};
  622.         }
  623.         if ($clothes{shoes} eq $key){
  624.             $protection_shoes = $clothes{$key};
  625.         }
  626.         $protection = $protection_shoes + $protection_hand + $protection_body + $protection_pants;
  627.     }
  628. }
  629.         print "Здоровье: $characteristics{health}\n";
  630.         print "Золото: $characteristics{gold}\n";
  631.         if($characteristics{gold} < 100 or $characteristics{gold} eq 100){
  632.             print "Статус: нищий\n";
  633.         } elsif ($characteristics{gold} > 100 and $characteristics{gold} < 300) {
  634.             print "Статус: при деньгах\n";
  635.         }
  636.         elsif ($characteristics{gold} > 300 or $characteristics{gold} eq 300) {
  637.             print "Статус: Богач\n";
  638.         }
  639.         $uron_power = $characteristics{uron}+$characteristics{power};
  640.         print "Вы наносите: ".$uron_power." урона\n";
  641.         print "Характеристики:\n";
  642.         print "1.Сила: $characteristics{power}\n";
  643.         print "2.Интеллект: $characteristics{intelligence}\n";
  644.         print "3.Удача: $characteristics{luck}\n";
  645.         print "4.Магия: $characteristics{magic}\n";
  646.         print "Вы сделали $characteristics{moves} ходов. Прошло $characteristics{days} дней, $characteristics{weeks} недель и $characteristics{months} месецев\n";
  647.         print "Инвентарь:\n";
  648.         print "1. ".$characteristics{item1}."\n";
  649.         print "2. ".$characteristics{item2}."\n";
  650.         print "3. ".$characteristics{item3}."\n";
  651.         print "Оружие:\n";
  652.         print "1. ".$characteristics{weapon1}."\n";
  653.         print "2. ".$characteristics{weapon2}."\n";
  654.         print "3. ".$characteristics{weapon3}."\n";
  655.         print "Магия:\n";
  656.         print "1. ".$characteristics{magic1}."\n";
  657.         print "2. ".$characteristics{magic2}."\n";
  658.         print "3. ".$characteristics{magic3}."\n";
  659.         print "4. ".$characteristics{magic4}."\n";
  660.         print "5. ".$characteristics{magic5}."\n";
  661.         print "Score: $characteristics{score}.\n";
  662.         print "Уровень: ";
  663.         if($characteristics{score} < 100) {
  664.             print "1 уровень.";
  665.         } elsif ($characteristics{score} eq 100 or $characteristics{score} < 200) {
  666.             print "2 уровень.";
  667.         } elsif ($characteristics{score} eq 200 or $characteristics{score} < 300) {
  668.             print "3 уровень.";
  669.         }elsif ($characteristics{score} eq 300 or $characteristics{score} < 400) {
  670.             print "4 уровень.";
  671.         }elsif ($characteristics{score} eq 400 or $characteristics{score} < 500) {
  672.             print "5 уровень.";
  673.         }elsif ($characteristics{score} eq 500 or $characteristics{score} < 600) {
  674.             print "6 уровень.";
  675.         }elsif ($characteristics{score} eq 600 or $characteristics{score} < 700) {
  676.             print "7 уровень.";
  677.         }elsif ($characteristics{score} eq 700 or $characteristics{score} < 800) {
  678.             print "8 уровень.";
  679.         }elsif ($characteristics{score} eq 800 or $characteristics{score} < 900) {
  680.             print "9 уровень.";
  681.         }elsif ($characteristics{score} eq 900 or $characteristics{score} < 1000 or $characteristics{score} eq 1000) {
  682.             print "10 уровень.";
  683.         } elsif ($characteristics{score} > 1000){
  684.             print "БОГ";
  685.         }
  686.         print "\n";
  687.         print "Мана: $characteristics{mana}.\n";
  688.         print "Защита: $protection.\n";
  689.         if($clothes{hand} or $clothes{body} or $clothes{pants} or $clothes{shoes}){
  690.             foreach $key(sort keys %clothes_names){
  691.                 if ($clothes{hand} eq $key){
  692.                     $name_hand = $clothes_names{$key};
  693.                 }
  694.                 if ($clothes{body} eq $key){
  695.                     $name_body= $clothes_names{$key};
  696.                 }
  697.                 if ($clothes{pants} eq $key){
  698.                     $name_pants = $clothes_names{$key};
  699.                 }
  700.                 if ($clothes{shoes} eq $key){
  701.                     $name_shoes = $clothes_names{$key};
  702.                 }
  703.     }
  704. }
  705.         print "Руки: $name_hand\n";
  706.         print "Тело: $name_body\n";
  707.         print "Ноги: $name_pants\n";
  708.         print "Обувь: $name_shoes\n";
  709.         print "Стрелы: $characteristics{arrows}.\n";
  710.         print "Квесты:\n";
  711.         if ($quest1 eq "active"){
  712.         print "Отнести свиток Бесталла - квест активный\n";
  713.     } elsif ($quest1 eq "done") {
  714.         print "Отнести свиток Бесталла - квест выполнен\n";
  715.     } elsif ($quest1 eq "false") {
  716.         print "Отнести свиток Бесталла - квест провален\n";
  717.     }
  718.     } elsif ($enter_b eq "H") {
  719.         if ($characteristics{health} eq 100 or $characteristics{health} > 100){
  720.             print "У вас максимальное здоровье!\n";
  721.         }  elsif ($characteristics{gold} eq 0 or $characteristics{gold} < 0) {
  722.             print "У вас нехватает золота!";
  723.         }
  724.         else {
  725.             $characteristics{gold} = $characteristics{gold} - 10;
  726.             $characteristics{health} = $characteristics{health} + 10;
  727.         }
  728.     }
  729.     foreach $key(sort keys %wasd){
  730.         if ($enter_b eq $key){
  731.             print $wasd{$key}."\n";
  732.         }
  733.     }
  734. }
  735. sub dealers {
  736.     $rand_q = int(rand(10));
  737.     if ($rand_q eq 1){
  738.         $deal = int(rand(20)) - $characteristics{luck};
  739.         foreach $key(sort keys %dealers){
  740.             if ($deal eq $key) {   
  741.                 if($quest1 == "inactive" or $quest != "done"){
  742.                 print $dealers{$key}."\n";
  743.                 print "Бесталл: Привет...\n";
  744.                 print "Вы:\n";
  745.                 print "1. Что случилось?.\n";
  746.                 print "2. Привет.\n";
  747.                 print "Пропустить диалог <Enter>.\n";
  748.                 $deal_quest1 = uc <STDIN>;
  749.                 chomp $deal_quest1;
  750.                 if($deal_quest1 eq 1){
  751.                     print "Бесталл: мне нужно отнести свиток Ространу\n";
  752.                     print "Вы:\n";
  753.                     print "1. Я могу тебе помочь.\n";
  754.                     print "2. Понятно, пока.\n";
  755.                     $deal_quest1_ans = uc <STDIN>;
  756.                     chomp $deal_quest1_ans;
  757.                     if($deal_quest1_ans eq 1){
  758.                         print "Бесталл: Спасибо!";
  759.                         $quest1 = "active";
  760.                     } elsif ($deal_quest1_ans eq 2){
  761.                         print "Бесталл: Пока";
  762.                     }
  763.                 } elsif ($deal_quest1 eq 2){
  764.                     print "Бесталл: привет.\n";
  765.                 }
  766.     }
  767. }
  768.     }
  769. }elsif($rand_q eq 2){
  770.     print $monstrs{3};
  771.     print "\n";
  772.     print "Маг: Здравствуй, страник! Я могу предложить тебе купить у меня ману и несколько заклинаний\n";
  773.     print "1. Выучить заклинание огненых шаров - 60 золота.\n";
  774.     print "2. Мана 100  - 45 золота.\n";
  775.     $buy = uc <STDIN>;
  776.     chomp $buy;
  777.     if($buy eq 1){
  778.         if($characteristics{gold} < 60){
  779.                     print "У вас недостаточно средств\n";
  780.                 } else {
  781.                         $characteristics{magic2} = "Огненые шары";
  782.                         $characteristics{gold} = $characteristics{gold} - 60;
  783.                         $characteristics{score} = $characteristics{score} + 14;
  784.                         print "Вы купили заклинание огненых шаров!\n";
  785.                         print "Маг: спасибо, приходи ещё!";
  786.                     }
  787.     } elsif ($buy eq 2){
  788.         if($characteristics{gold} < 45){
  789.                     print "У вас недостаточно средств\n";
  790.                 } else {
  791.                     if($characteristics{mana} eq 200 or $characteristics{mana} > 200){
  792.                         print "У вас максимальный уровень маны\n";
  793.                     } else {
  794.                         $characteristics{gold} = $characteristics{gold} - 45;
  795.                         $characteristics{mana} = $characteristics{mana} +100;
  796.                         $characteristics{score} = $characteristics{score} + 20;
  797.                         print "Вы купили ману! +100\n";
  798.                     }
  799.                 }
  800.     }
  801. }elsif($rand_q eq 4){
  802.     if ($quest1 eq "active") {
  803.         print $dealers{3};
  804.         print "Ростран: привет\n";
  805.         print "Вы:\n";
  806.         print "1. Привет, Бесталл попросил принести тебе свиток. Держи.\n";
  807.         print "2. Пока.\n";
  808.         print "Пропустить диалог <Enter>.\n";
  809.         $quest1_ans = uc <STDIN>;
  810.         chomp $quest1_ans;
  811.         if ($quest1_ans eq "1") {
  812.             print "Ростран: спасибо! За это я дам тебе 20 золота и кожанную перчатку.\n";
  813.             $clothes{hand} = "leather_gloves";
  814.             $characteristics{gold} = $characteristics{gold} + 20;
  815.             $quest1 = "done";
  816.         } elsif ($quest1_ans eq "2") {
  817.             print "Ростран: пока\n";
  818.         }
  819.     }
  820. } elsif ($rand_q eq 3){
  821.     $deal = int(rand(20)) - $characteristics{luck};
  822.     foreach $key(sort keys %dealers){
  823.         if ($deal eq $key) {
  824.             print $dealers{$key}."\n";
  825.             print "Вы встретили торговца, B продать весь инвентарь\n";
  826.             print "1. Зелье силы (+1) - 30 золота.\n";
  827.             print "2. Зелье ума (+1) - 30 золота.\n";
  828.             print "3. Зелье удачи (+1) 35 золота.\n";
  829.             print "4. Здоровье +10 - 10 золота.\n";
  830.             print "5. Лук - 50 золота.\n";
  831.             print "6. Выучить заклинание молнии - 70 золота.\n";
  832.             print "7. Мана 50  - 30 золота.\n";
  833.             $buy = uc <STDIN>;
  834.             chomp $buy;
  835.             if($buy eq 1){
  836.                 if($characteristics{gold} < 30){
  837.                     print "У вас недостаточно средств\n";
  838.                 } else {
  839.                     if($characteristics{power} eq 10 or $characteristics{power} > 10){
  840.                         print "У вас максимальный уровень силы\n";
  841.                     } else {
  842.                     $characteristics{gold} = $characteristics{gold} - 30;
  843.                     $characteristics{uron} = $characteristics{uron} + 1;
  844.                     $characteristics{power} = $characteristics{power} +1;
  845.                     $characteristics{score} = $characteristics{score} + 5;
  846.                     print "Вы купили зелье силы! +1\n";
  847.                 }
  848.                 }
  849.             } elsif($buy eq 2){
  850.                 if($characteristics{gold} < 30){
  851.                     print "У вас недостаточно средств\n";
  852.                 } else {
  853.                     if($characteristics{intelligence} eq 10 or $characteristics{intelligence} > 10){
  854.                         print "У вас максимальный уровень ума\n";
  855.                     } else {
  856.                     $characteristics{gold} = $characteristics{gold} - 30;
  857.                     $characteristics{intelligence} = $characteristics{intelligence} +1;
  858.                     $characteristics{score} = $characteristics{score} + 5;
  859.                     print "Вы купили зелье ума! +1\n";
  860.                 }
  861.                 }
  862.             } elsif($buy eq 3){
  863.                 if($characteristics{gold} < 35){
  864.                     print "У вас недостаточно средств\n";
  865.                 } else {
  866.                     if($characteristics{luck} eq 10 or $characteristics{luck} > 10){
  867.                         print "У вас максимальный уровень удачи\n";
  868.                     } else {
  869.                         $characteristics{gold} = $characteristics{gold} - 35;
  870.                         $characteristics{luck} = $characteristics{luck} +1;
  871.                         $characteristics{score} = $characteristics{score} + 5;
  872.                         print "Вы купили зелье удачи! +1\n";
  873.                     }
  874.                 }
  875.             } elsif($buy eq 4){
  876.                 if($characteristics{gold} < 10){
  877.                     print "У вас недостаточно средств\n";
  878.                 } else {
  879.                     if ($characteristics{health} eq 100 or $characteristics{health} > 100){
  880.             print "У вас максимальное здоровье!\n";
  881.         } else {
  882.                     $characteristics{gold} = $characteristics{gold} - 10;
  883.                     $characteristics{health} = $characteristics{health} + 10;
  884.                     $characteristics{score} = $characteristics{score} + 5;
  885.                     print "Вы купили зелье здоровья! +1\n";
  886.                 }
  887.                 }
  888.             } elsif($buy eq 5) {
  889.             if($characteristics{gold} < 50){
  890.                     print "У вас недостаточно средств\n";
  891.                 } else {
  892.                         $characteristics{weapon1} = "Лук";
  893.                         $characteristics{gold} = $characteristics{gold} - 50;
  894.                         $characteristics{score} = $characteristics{score} + 10;
  895.                         print "Вы купили лук!\n";
  896.                     }
  897.     }
  898.     elsif($buy eq 6) {
  899.             if($characteristics{gold} < 70){
  900.                     print "У вас недостаточно средств\n";
  901.                 } else {
  902.                         $characteristics{magic1} = "Молния";
  903.                         $characteristics{gold} = $characteristics{gold} - 70;
  904.                         $characteristics{score} = $characteristics{score} + 12;
  905.                         print "Вы купили заклинание молнии!\n";
  906.                     }
  907.     } elsif($buy eq 7){
  908.                 if($characteristics{gold} < 30){
  909.                     print "У вас недостаточно средств\n";
  910.                 } else {
  911.                     if($characteristics{mana} eq 200 or $characteristics{mana} > 200){
  912.                         print "У вас максимальный уровень маны\n";
  913.                     } else {
  914.                         $characteristics{gold} = $characteristics{gold} - 30;
  915.                         $characteristics{mana} = $characteristics{mana} +50;
  916.                         $characteristics{score} = $characteristics{score} + 10;
  917.                         print "Вы купили ману! +50\n";
  918.                     }
  919.                 }
  920.             }
  921.             if ($buy eq "B"){
  922.                 if (!$characteristics{item1} or !$characteristics{item2} or !$characteristics{item3}) {
  923.                     $answ_d_1 = int(rand(20)) - $characteristics{luck};
  924.                     if ($answ_d_1 eq 1) {
  925.                         print "Торговец: Проваливай у тебя нету нужного количества предметов!\n";
  926.                         print "Вы:\n";
  927.                         print "1.Как тебя зовут? Из какого клана?\n";
  928.                         print "2.Что это за место?\n";
  929.                         print "3.А мне и не нужны твои паршивое золото.\n";
  930.                         print "Чтобы не вступать в беседу нажмите <Enter>\n";
  931.                         $answ_d_1_1 = <STDIN>;
  932.                         chomp $answ_d_1_1;
  933.                         if($answ_d_1_1 eq 1){
  934.                             print "Торговец: Меня зовут Ростран. Я из клана \"леденящий ветер\"\n";
  935.                         }elsif ($answ_d_1_1 eq 2){
  936.                             print "Торговец: Слушай, мне некогда болтать с тобой, у меня есть дела по важнее.\n";
  937.                         }
  938.                          elsif ($answ_d_1_1 eq 3){
  939.                             print "Торговец: И мне твоё тоже! Хоть в чём-то я с тобой соглашусь.";
  940.                         }
  941.                     } elsif($answ_d_1 eq 2) {
  942.                         print "Торговец: Прийди в другой раз. Когда накопишь предметов.\n";
  943.                         print "Вы:\n";
  944.                         print "1.Как тебя зовут? Из какого клана?\n";
  945.                         print "2.Спасибо за помощь!.\n";
  946.                         print "Чтобы не вступать в беседу нажмите <Enter>\n";
  947.                         $answ_d_1_2 = <STDIN>;
  948.                         chomp $answ_d_1_2;
  949.                         if($answ_d_1_2 eq 1){
  950.                             print "Торговец: Меня зовут Дегдрин и я одиночка. Когда-то давно я был в клане \"Серебрянная кровь\", но я многое переосмыслил с того времени\n";
  951.                         }elsif ($answ_d_1_1 eq 2){
  952.                             print "Торговец: Всегда обращяйся!\n";
  953.                         }
  954.                     } elsif ($answ_d_1 eq 3) {
  955.                         print "Торговец: Извини... но у тебя нет нужного количества предметов.\n";
  956.                         print "Вы:\n";
  957.                         print "1.Ладно, я приду в другой раз.\n";
  958.                         print "2.Спасибо за помощь!.\n";
  959.                         print "Чтобы не вступать в беседу нажмите <Enter>\n";
  960.                         $answ_d_1_2 = <STDIN>;
  961.                         chomp $answ_d_1_2;
  962.                         if($answ_d_1_2 eq 1){
  963.                             print "Торговец: Буду ждать.\n";
  964.                         }elsif ($answ_d_1_1 eq 2){
  965.                             print "Торговец: Всегда обращяйся!\n";
  966.                         }
  967.                     } elsif ($answ_d_1 eq 4) {
  968.                         print "Торговец: Я не разговариваю с людьми! Проваливай!\n";
  969.                         print "Вы:\n";
  970.                         print "1.Ладно, я приду в другой раз.\n";
  971.                         print "2.Спасибо за помощь!.\n";
  972.                         print "Чтобы не вступать в беседу нажмите <Enter>\n";
  973.                         $answ_d_1_2 = <STDIN>;
  974.                         chomp $answ_d_1_2;
  975.                         if($answ_d_1_2 eq 1){
  976.                             print "Торговец: ПРОВАЛИВАЙ!.\n";
  977.                         }elsif ($answ_d_1_1 eq 2){
  978.                             print "Торговец: Всегда обращяйся!\n";
  979.                         }
  980.                     }
  981.                 } else {
  982.                     $gld = int(rand(3));
  983.                     if ($gld eq 1) {
  984.                         $characteristics{gold} = $characteristics{gold} + 30;
  985.                         $characteristics{score} = $characteristics{score} + 15;
  986.                     } elsif ($gld eq 2) {
  987.                         $characteristics{gold} = $characteristics{gold} + 15;
  988.                         $characteristics{score} = $characteristics{score} + 10;
  989.                     }
  990.                     $characteristics{item1} = undef;
  991.                     $characteristics{item2} = undef;
  992.                     $characteristics{item3} = undef;
  993.                     $answerd = int(rand(4));
  994.                     if ($answerd eq 1){
  995.                         print "Торговец: Спасибо, приходи ещё!\n";
  996.                     } elsif ($gld eq 2) {
  997.                         print "Торговец: Скажи хоть спасибо что я купил у тебя эти вещи за 15 золота!";
  998.                     } elsif ($answerd eq 2){
  999.                         print "Торговец: Я некромант! Наш клан не любит ваш поэтому сваливай быстрее!";
  1000.                     } elsif ($answerd eq 3) {
  1001.                         print "Торговец: Берегись монстров!";
  1002.                     }
  1003.     }
  1004.         }
  1005. }
  1006. }
  1007. }
  1008. }
  1009. sub dungeon($name_dung, $num_dung){
  1010.     while (1){
  1011.     print "Остаться Y N\n";
  1012.     $dung = uc <STDIN>;
  1013.     chomp $dung;
  1014.     if($dung eq "N"){
  1015.         last if($dung == "N");
  1016.     } else{
  1017.         if($dung == "Y"){
  1018.             print "Вы в $name_dung\n";
  1019.             &wasd;
  1020.             &monstr;
  1021.             if($key eq 1){
  1022.                 $gold_random_dung_num = int(rand(3));
  1023.                 if($gold_random_dung_num eq 1){
  1024.                     $gold_random_dung = int(rand(2));
  1025.                     print "Вы нашли $gold_random_dung золота";
  1026.                 }
  1027.             }
  1028.         }
  1029.     }
  1030. }
  1031. }
  1032. sub buildings {
  1033.     foreach $key(sort keys %buildings){
  1034.         if ($building eq $key){
  1035.             print $buildings{$key}."\n";
  1036.             if($key != 6){
  1037.                 print "F зайти R не заходить\n";
  1038.                 $dung = uc <STDIN>;
  1039.                 chomp $dung;
  1040.                 if($dung eq "F"){
  1041.                     if($key eq 1){
  1042.                         $name_dung = "шахте";
  1043.                     } elsif($key eq 2){
  1044.                         $name_dung = "замке";
  1045.                     }elsif($key eq 3){
  1046.                         $name_dung = "казарме";
  1047.                     }
  1048.                     elsif($key eq 4){
  1049.                         $name_dung = "городе";
  1050.                     }
  1051.                     elsif($key eq 5){
  1052.                         $name_dung = "башне с лучниками";
  1053.                     }
  1054.                     &dungeon($name_dung, $key);
  1055.                 } elsif($dung eq "R") {
  1056.                     print "Вы не стали заходить\n";
  1057.                     last if($dung == "R");
  1058.                 }
  1059.             }
  1060.         }
  1061.     }
  1062. }
  1063.  
  1064. sub monstr {
  1065.     #Тут с помощью int(rand(11)) вычисляется рандомное число от 0 до 10
  1066.     #если это число равно 8 перед вами монстр. С помощью int мы округляем число
  1067.     $monstrl = int(rand(11));
  1068.     #тип монстра: 1.Люди 2.Эльфы 3.Гномы 4.Орки 5.Демоны 6.Ангелы 7.Драконы 8.Кентавры 9минотавр
  1069.     $monstr_t = int(rand(10));
  1070.     if ($monstrl eq 8){
  1071.         print "Впереди монстр!\n";
  1072.     foreach $key(sort keys %monstrs){
  1073.         if ($monstr_t eq $key){
  1074.             print "Это ".$monstrs{$key}."\n";
  1075.                     $z = 100;
  1076.                     while ($z > 0){
  1077.                         print "Убежать: r, ударить: f\n";
  1078.                         $fight = uc <STDIN>;
  1079.                         chomp $fight;
  1080.                         if ($fight eq "F") {
  1081.                             print "Какое оружие использовать? F - меч.\n";
  1082.                             print "Оружие:\n";
  1083.                             if ($characteristics{arrows} <= 0){
  1084.                                     print "1.(Недоступно)У вас нету нужного количества стрел.\n"
  1085.                             } else{
  1086.                             print "1. ".$characteristics{weapon1}."\n";
  1087.                         }
  1088.                             if ($characteristics{arrows} <= 0){
  1089.                                     print "2.(Недоступно)У вас нету нужного количества стрел.\n"
  1090.                             } else{
  1091.                             print "2. ".$characteristics{weapon2}."\n";
  1092.                         }
  1093.                             print "3. ".$characteristics{weapon3}."\n";
  1094.                             print "Стрелы: $characteristics{arrows}.\n";
  1095.                             print "Магия:\n";
  1096.                             print "4. ".$characteristics{magic1}."\n";
  1097.                             print "5. ".$characteristics{magic2}."\n";
  1098.                             print "6. ".$characteristics{magic3}."\n";
  1099.                             print "7. ".$characteristics{magic4}."\n";
  1100.                             print "8. ".$characteristics{magic5}."\n";
  1101.                             print "Мана: $characteristics{mana}\n";
  1102.                             $fight_weapon = uc <STDIN>;
  1103.                             chomp $fight_weapon;
  1104.                             if ($fight_weapon eq "F"){
  1105.                             $z = $z - $characteristics{uron}-$characteristics{power};
  1106.                             $characteristics{uron} = $characteristics{uron}+$characteristics{power};
  1107.                             print "Вы ударили ".$monstrs{$key}." у него осталось ".$z." здоровья \n";
  1108.                             $characteristics{sword} = $characteristics{sword} -1;
  1109.                             $characteristics{uron} = $characteristics{uron} +0.5;
  1110.                             if ($z > 0) {
  1111.                             $ud = int(rand(31));
  1112.                             $characteristics{health} = $characteristics{health} - $ud + $protection;
  1113.                             $ud = $ud + $protection;
  1114.                             print "Монстр атаковал вас и снял $ud здоровья";
  1115.                         } else {
  1116.                             print "Вы победили монстра! +5 к здоровью, +10 золота.";
  1117.                             $characteristics{health} = $characteristics{health} +5;
  1118.                             $monstr_gold = int(rand(4));
  1119.                             if($monstr_gold eq 1) {
  1120.                                 $characteristics{gold} = $characteristics{gold} +10;
  1121.                             } elsif($monstr_gold eq 2){
  1122.                                 $characteristics{gold} = $characteristics{gold} +15;
  1123.                             } elsif($monstr_gold eq 3){
  1124.                                 $characteristics{gold} = $characteristics{gold} +18;
  1125.                             }
  1126.                             $characteristics{score} = $characteristics{score} + 20;
  1127.                         }
  1128.                         if ($characteristics{health} <= 0){
  1129.                             print "
  1130.                                                                              
  1131.    //   ) )                                                                    
  1132.   //         ___      _   __      ___          ___              ___      __    
  1133.  //  ____  //   ) ) // ) )  ) ) //___) )     //   ) ) ||  / / //___) ) //  ) )
  1134. //    / / //   / / // / /  / / //           //   / /  || / / //       //      
  1135. ((____/ / ((___( ( // / /  / / ((____       ((___/ /   ||/ / ((____   //    
  1136.                             ";
  1137.                             die;
  1138.                         }
  1139.                             }
  1140.                              elsif ($fight_weapon eq 1) {
  1141.                                 if(!$characteristics{weapon1}){
  1142.                                     print " У вас нету оружия";
  1143.         } else {
  1144.                                 if ($characteristics{arrows} <= 0){
  1145.                                     print "1.(Недоступно)У вас нету нужного количества стрел.\n"
  1146.                                     } else {
  1147.                                 $z = $z - $characteristics{bow};
  1148.                                 print "Вы ударили ".$monstrs{$key}." у него осталось ".$z." здоровья \n";
  1149.                                 $characteristics{bow} = $characteristics{bow} +0.5;
  1150.                                 $characteristics{arrows} = $characteristics{arrows} -1;
  1151.                                 if ($characteristics{arrows} <= 0){
  1152.                                     print "У вас недостаточно стрел.";
  1153.                                 }
  1154.                                 if ($z > 0) {
  1155.                             $ud = int(rand(31));
  1156.                             $characteristics{health} = $characteristics{health} - $ud + $protection;
  1157.                             $ud = $ud + $protection;
  1158.                             print "Монстр атаковал вас и снял $ud здоровья";
  1159.                         } else {
  1160.                             print "Вы победили монстра! +5 к здоровью, +10 золота.";
  1161.                             $characteristics{health} = $characteristics{health} +5;
  1162.                             $characteristics{gold} = $characteristics{gold} +10;
  1163.                         }
  1164.                         if ($characteristics{health} <= 0){
  1165.                             print "
  1166.                                                                              
  1167.    //   ) )                                                                    
  1168.   //         ___      _   __      ___          ___              ___      __    
  1169.  //  ____  //   ) ) // ) )  ) ) //___) )     //   ) ) ||  / / //___) ) //  ) )
  1170. //    / / //   / / // / /  / / //           //   / /  || / / //       //      
  1171. ((____/ / ((___( ( // / /  / / ((____       ((___/ /   ||/ / ((____   //    
  1172.                             ";
  1173.                             die;
  1174.                         }
  1175.                     }
  1176.  
  1177.                             }
  1178.                         }
  1179.  
  1180. elsif ($fight_weapon eq 2) {
  1181.     if(!$characteristics{weapon2}){
  1182.         print " У вас нету оружия";
  1183.         } else {
  1184.                                 if ($characteristics{arrows} <= 0){
  1185.                                     print "1.(Недоступно)У вас нету нужного количества стрел.\n"
  1186.                                     } else {
  1187.                                 $z = $z - $characteristics{crossbow};
  1188.                                 print "Вы ударили ".$monstrs{$key}." у него осталось ".$z." здоровья \n";
  1189.                                 $characteristics{crossbow} = $characteristics{crossbow} +0.5;
  1190.                                 $characteristics{arrows} = $characteristics{arrows} -1;
  1191.                                 if ($characteristics{arrows} <= 0){
  1192.                                     print "У вас недостаточно стрел.";
  1193.                                 }
  1194.                                 if ($z > 0) {
  1195.                             $ud = int(rand(31));
  1196.                             $characteristics{health} = $characteristics{health} - $ud + $protection;
  1197.                             $ud = $ud + $protection;
  1198.                             print "Монстр атаковал вас и снял $ud здоровья";
  1199.                         } else {
  1200.                             print "Вы победили монстра! +5 к здоровью, +10 золота.";
  1201.                             $characteristics{health} = $characteristics{health} +5;
  1202.                             $characteristics{gold} = $characteristics{gold} +10;
  1203.                         }
  1204.                         if ($characteristics{health} <= 0){
  1205.                             print "
  1206.                                                                              
  1207.    //   ) )                                                                    
  1208.   //         ___      _   __      ___          ___              ___      __    
  1209.  //  ____  //   ) ) // ) )  ) ) //___) )     //   ) ) ||  / / //___) ) //  ) )
  1210. //    / / //   / / // / /  / / //           //   / /  || / / //       //      
  1211. ((____/ / ((___( ( // / /  / / ((____       ((___/ /   ||/ / ((____   //    
  1212.                             ";
  1213.                             die;
  1214.                         }
  1215.                     }
  1216. }
  1217.                             } elsif ($fight_weapon eq 3) {
  1218.     if(!$characteristics{weapon3}){
  1219.         print " У вас нету оружия";
  1220.         } else {
  1221.                                 $z = $z - $characteristics{axe};
  1222.                                 print "Вы ударили ".$monstrs{$key}." у него осталось ".$z." здоровья \n";
  1223.                                 $characteristics{axe} = $characteristics{axe} +0.5;
  1224.                                 if ($z > 0) {
  1225.                             $ud = int(rand(31));
  1226.                             $characteristics{health} = $characteristics{health} - $ud + $protection;
  1227.                             $ud = $ud + $protection;
  1228.                             print "Монстр атаковал вас и снял $ud здоровья";
  1229.                         } else {
  1230.                             print "Вы победили монстра! +5 к здоровью, +10 золота.";
  1231.                             $characteristics{health} = $characteristics{health} +5;
  1232.                             $characteristics{gold} = $characteristics{gold} +10;
  1233.                         }
  1234.                         if ($characteristics{health} <= 0){
  1235.                             print "
  1236.                                                                              
  1237.    //   ) )                                                                    
  1238.   //         ___      _   __      ___          ___              ___      __    
  1239.  //  ____  //   ) ) // ) )  ) ) //___) )     //   ) ) ||  / / //___) ) //  ) )
  1240. //    / / //   / / // / /  / / //           //   / /  || / / //       //      
  1241. ((____/ / ((___( ( // / /  / / ((____       ((___/ /   ||/ / ((____   //    
  1242.                             ";
  1243.                             die;
  1244.                         }
  1245.                     }
  1246. } elsif ($fight_weapon eq 4) {
  1247.     if(!$characteristics{magic1}){
  1248.         print " У вас нету магии";
  1249.         } else {
  1250.                                 if ($characteristics{mana} < 20){
  1251.                                     print "a.(Недоступно)У вас нету нужного количества маны.\n";
  1252.                                     } else {
  1253.                                 $z = $z - $characteristics{lightning} - $characteristics{magic};
  1254.                                 print "Вы ударили ".$monstrs{$key}." у него осталось ".$z." здоровья \n";
  1255.                                 $characteristics{lightning} = $characteristics{lightning} +0.5;
  1256.                                 $characteristics{mana} = $characteristics{mana} -20;
  1257.                                 $characteristics{magic} = $characteristics{magic} + 0.1;
  1258.                                 if ($characteristics{mana} < 20){
  1259.                                     print "У вас недостаточно маны.\n";
  1260.                                 }
  1261.                                 if ($z > 0) {
  1262.                             $ud = int(rand(31));
  1263.                             $characteristics{health} = $characteristics{health} - $ud + $protection;
  1264.                             $ud = $ud + $protection;
  1265.                             print "Монстр атаковал вас и снял $ud здоровья";
  1266.                         } else {
  1267.                             print "Вы победили монстра! +5 к здоровью, +10 золота.";
  1268.                             $characteristics{health} = $characteristics{health} +5;
  1269.                             $characteristics{gold} = $characteristics{gold} +10;
  1270.                         }
  1271.                         if ($characteristics{health} <= 0){
  1272.                             print "
  1273.                                                                              
  1274.    //   ) )                                                                    
  1275.   //         ___      _   __      ___          ___              ___      __    
  1276.  //  ____  //   ) ) // ) )  ) ) //___) )     //   ) ) ||  / / //___) ) //  ) )
  1277. //    / / //   / / // / /  / / //           //   / /  || / / //       //      
  1278. ((____/ / ((___( ( // / /  / / ((____       ((___/ /   ||/ / ((____   //    
  1279.                             ";
  1280.                             die;
  1281.                         }
  1282.                     }
  1283. }
  1284.                             } elsif($fight_weapon eq 5){
  1285.                                 if(!$characteristics{magic2}){
  1286.         print " У вас нету магии";
  1287.         } else {
  1288.                                 if ($characteristics{mana} < 20){
  1289.                                     print "a.(Недоступно)У вас нету нужного количества маны.\n";
  1290.                                     } else {
  1291.                                 $z = $z - $characteristics{fireball} - $characteristics{magic};
  1292.                                 print "Вы ударили ".$monstrs{$key}." у него осталось ".$z." здоровья \n";
  1293.                                 $characteristics{lightning} = $characteristics{lightning} +0.5;
  1294.                                 $characteristics{mana} = $characteristics{mana} -20;
  1295.                                 $characteristics{magic} = $characteristics{magic} + 0.1;
  1296.                                 if ($characteristics{mana} < 20){
  1297.                                     print "У вас недостаточно маны.\n";
  1298.                                 }
  1299.                                 if ($z > 0) {
  1300.                             $ud = int(rand(31));
  1301.                             $characteristics{health} = $characteristics{health} - $ud + $protection;
  1302.                             $ud = $ud + $protection;
  1303.                             print "Монстр атаковал вас и снял $ud здоровья";
  1304.                         } else {
  1305.                             print "Вы победили монстра! +5 к здоровью, +10 золота.";
  1306.                             $characteristics{health} = $characteristics{health} +5;
  1307.                             $characteristics{gold} = $characteristics{gold} +10;
  1308.                         }
  1309.                         if ($characteristics{health} <= 0){
  1310.                             print "
  1311.                                                                              
  1312.    //   ) )                                                                    
  1313.   //         ___      _   __      ___          ___              ___      __    
  1314.  //  ____  //   ) ) // ) )  ) ) //___) )     //   ) ) ||  / / //___) ) //  ) )
  1315. //    / / //   / / // / /  / / //           //   / /  || / / //       //      
  1316. ((____/ / ((___( ( // / /  / / ((____       ((___/ /   ||/ / ((____   //    
  1317.                             ";
  1318.                             die;
  1319.                         }
  1320.                     }
  1321.                             }
  1322.                             }
  1323.                         }                           elsif ($fight eq "R"){
  1324.                             $death_f = int(rand(5));
  1325.                             if ($death_f eq 1) {
  1326.                                 print "Вы увязли в земле и монстр вас догнал...\n";
  1327.                             } elsif($death_f eq 2) {
  1328.                                 print "Монстр кинул клинок вам в спину и догнал вас!\n";
  1329.                             } elsif($death_f eq 3) {
  1330.                                 print "Вы упали и монстр вас догнал!\n";
  1331.                             }
  1332.                             elsif($death_f eq 4) {
  1333.                                 print "У вас получилось убежать\n";
  1334.                                 last if($fight == "R");
  1335.                             }
  1336.                             }
  1337.  
  1338.                         }
  1339.                     }
  1340.                     }
  1341.                 }
  1342.         }
  1343.  
  1344. #/START FRAGMENT#
  1345.  
  1346. #INPUT FRAGMENT#
  1347. while(True) {
  1348.     #Постройка
  1349.     #1.Шахта
  1350.     #2.Замок
  1351.     #3.Казарма
  1352.     #4.Город
  1353.     #5.Башня с лучниками.
  1354.     #6.Дерево
  1355.     $building = int(rand(20));
  1356.     &wasd;
  1357.     &monstr;
  1358.     &buildings;
  1359.     &items;
  1360.     &dealers;
  1361.     &mdw;
  1362. }
  1363. #/INPUT FRAGMENT#
Add Comment
Please, Sign In to add comment