Advertisement
Guest User

C++ Adventure Game Skeleton

a guest
Dec 4th, 2014
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 15.50 KB | None | 0 0
  1. /*
  2. ============================================================================
  3. ==========================Adventure Game Skeleton!==========================
  4. ============================================================================
  5.  
  6. - This has all of the basic features of a text based adventure game.
  7.  
  8. - The AI isn't very good(all randomized), but it's a start. If you want a really smart enemy, have them go directly for the
  9.     player.
  10.  
  11. - Nothing can go through walls. It will stop you if you try.
  12.  
  13. - The map can be adjusted and changed, '/' will always be walkable ground, '#' will always be walls
  14.  
  15. - No matter what, you can have the walls anywhere and it will work (As long as there is spawn space, and spawns are in the right place)
  16.  
  17. - You could add several maps by making "doors" on specific coordinates that when you walk through them, it causes the new map to load.
  18.     This could possibly lead to a very large map system.
  19.  
  20. - Weapons are possible to fight off enemies (Projectiles mostly).
  21.     A simple sprite that goes 2 spaces every turn and stops when it hits a wall, or kills a monster.
  22.  
  23. - For a melee weapon, do the melee first, then have the monsters move. Melee would be very risky with the randomized movements
  24.     if you were surrounded by monsters.
  25.  
  26. - The sword was added and now you can attack enemies. It goes in four directions, and only goes one unit in distance.
  27.     If you can figure out how to add the sword graphics, go ahead.
  28.  
  29. - A loot system is now possible. Do a check if the enemy is dead, then if you step on them and they are in fact dead,
  30.     add to the player's loot. This could possibly lead to a buying system where you can increase the range of your weapon,
  31.     amongst other things such as lives, armor, etc., etc..
  32.  
  33. - You can make an inventory system with a vector by adding loot, or bought items to it. Then you could add them to a vector
  34.     and iterate through that vector, as well as access the items.
  35.  
  36. - I recommend you make a class for items as well as entities. This will shorten the code a BUNCH, as well as make
  37.     accessing parts of each entity much easier and compact. It would also allow the creation of more entities.
  38. */
  39.  
  40. #include <iostream>
  41. #include <Windows.h>
  42. #include <string>
  43. #include <cstdlib>
  44. #include <ctime>
  45.  
  46. using namespace std;
  47. void ShowBoard();
  48. void EnemyMove();
  49. void EnemyMove2();
  50. void EnemyMove3();
  51. const char Player = '@';
  52. const char Enemy = '%';
  53. const char Enemy2 = '&';
  54. const char Enemy3 = '^';
  55. const char Wall = '#';
  56. const char SliceUp = '|';
  57. const char SliceDown = '!';
  58. const char SliceLeft = '<';
  59. const char SliceRight = '>';
  60. const int Length = 10;
  61. const int Height = 10;
  62. char board[Height][Length] = { {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#'},
  63.                                {'#', '/', '#', '/', '/', '/', '#', '/', '/', '#'},
  64.                                {'#', '/', '#', '/', '#', '/', '#', '/', '/', '#'},
  65.                                {'#', '/', '#', '/', '#', '/', '#', '/', '/', '#'},
  66.                                {'#', '/', '#', '/', '#', '/', '#', '/', '/', '#'},
  67.                                {'#', '/', '#', '/', '#', '/', '#', '/', '/', '#'},
  68.                                {'#', '/', '#', '/', '#', '/', '#', '/', '/', '#'},
  69.                                {'#', '/', '#', '/', '#', '/', '#', '/', '/', '#'},
  70.                                {'#', '/', '/', '/', '#', '/', '/', '/', '/', '#'},
  71.                                {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#'} };
  72. int Score = 0;
  73. int PlayerX = 1;
  74. int PlayerY = 1;
  75. int EnemyX = 8;
  76. int EnemyY = 8;
  77. int EnemyX2 = 8;
  78. int EnemyY2 = 8;
  79. int EnemyX3 = 8;
  80. int EnemyY3 = 8;
  81. bool EnemyDead = false;
  82. bool Enemy2Dead = false;
  83. bool Enemy3Dead = false;
  84. int EnemyChoice;
  85. int EnemyChoice2;
  86. int EnemyChoice3;
  87. char choice;
  88.  
  89. int main()
  90. {
  91.     srand(static_cast<unsigned int>(time(0)));
  92.  
  93.     board[PlayerY][PlayerX] = Player;
  94.     board[EnemyY][EnemyX] = Enemy;
  95.  
  96.     while (!GetAsyncKeyState(VK_INSERT))
  97.     {
  98.         if (EnemyDead && Enemy2Dead && Enemy3Dead)
  99.         {
  100.             break;
  101.         }
  102.  
  103.  
  104.  
  105.         system("CLS");
  106.         ShowBoard();
  107.         cout << "Where would you like to move your player?\nW - up\nS - down\nA - left\nD - right\n";
  108.         cout << "You can also attack.\nU - up\nJ - down\nH - left\nK - right\n";
  109.         cin >> choice;
  110.  
  111.         if (choice == 'u')
  112.         {
  113.             int storeX = PlayerX;
  114.             int storeY = PlayerY;
  115.             char storeSymbol = board[PlayerX][PlayerY];
  116.  
  117.             int Attack = PlayerY - 1;
  118.  
  119.             if (PlayerX == EnemyX && Attack == EnemyY)
  120.             {
  121.                 EnemyDead = true;
  122.             }
  123.  
  124.             else if (PlayerX == EnemyX2 && Attack == EnemyY2)
  125.             {
  126.                 Enemy2Dead = true;
  127.             }
  128.  
  129.             else if (PlayerX == EnemyX3 && Attack == EnemyY3)
  130.             {
  131.                 Enemy3Dead = true;
  132.             }
  133.  
  134.             PlayerX = storeX;
  135.             PlayerY = storeY;
  136.            
  137.             EnemyMove();
  138.             EnemyMove2();
  139.             EnemyMove3();
  140.         }
  141.  
  142.         if (choice == 'j')
  143.         {
  144.             int storeX = PlayerX;
  145.             int storeY = PlayerY;
  146.             char storeSymbol = board[PlayerX][PlayerY];
  147.  
  148.             int Attack = PlayerY + 1;
  149.  
  150.             if (PlayerX == EnemyX && Attack == EnemyY)
  151.             {
  152.                 EnemyDead = true;
  153.             }
  154.  
  155.             else if (PlayerX == EnemyX2 && Attack == EnemyY2)
  156.             {
  157.                 Enemy2Dead = true;
  158.             }
  159.  
  160.             else if (PlayerX == EnemyX3 && Attack == EnemyY3)
  161.             {
  162.                 Enemy3Dead = true;
  163.             }
  164.  
  165.             PlayerX = storeX;
  166.             PlayerY = storeY;
  167.            
  168.             EnemyMove();
  169.             EnemyMove2();
  170.             EnemyMove3();
  171.         }
  172.  
  173.         if (choice == 'h')
  174.         {
  175.             int storeX = PlayerX;
  176.             int storeY = PlayerY;
  177.             char storeSymbol = board[PlayerX][PlayerY];
  178.  
  179.             int Attack = PlayerX + 1;
  180.  
  181.             if (Attack == EnemyX && PlayerY == EnemyY)
  182.             {
  183.                 EnemyDead = true;
  184.             }
  185.  
  186.             else if (Attack == EnemyX2 && PlayerY == EnemyY2)
  187.             {
  188.                 Enemy2Dead = true;
  189.             }
  190.  
  191.             else if (Attack == EnemyX3 && PlayerY == EnemyY3)
  192.             {
  193.                 Enemy3Dead = true;
  194.             }
  195.  
  196.             PlayerX = storeX;
  197.             PlayerY = storeY;
  198.            
  199.             EnemyMove();
  200.             EnemyMove2();
  201.             EnemyMove3();
  202.         }
  203.  
  204.         if (choice == 'k')
  205.         {
  206.             int storeX = PlayerX;
  207.             int storeY = PlayerY;
  208.             char storeSymbol = board[PlayerX][PlayerY];
  209.  
  210.             int Attack = PlayerX - 1;
  211.  
  212.             if (Attack == EnemyX && PlayerY == EnemyY)
  213.             {
  214.                 EnemyDead = true;
  215.             }
  216.  
  217.             else if (Attack == EnemyX2 && PlayerY == EnemyY2)
  218.             {
  219.                 Enemy2Dead = true;
  220.             }
  221.  
  222.             else if (Attack == EnemyX3 && PlayerY == EnemyY3)
  223.             {
  224.                 Enemy3Dead = true;
  225.             }
  226.  
  227.             PlayerX = storeX;
  228.             PlayerY = storeY;
  229.            
  230.             EnemyMove();
  231.             EnemyMove2();
  232.             EnemyMove3();
  233.         }
  234.  
  235.         if (choice == 'w')
  236.         {
  237.             EnemyMove();
  238.             EnemyMove2();
  239.             EnemyMove3();
  240.  
  241.             if (PlayerY == EnemyY && PlayerX == EnemyX ||
  242.                 PlayerY == EnemyY2 && PlayerX == EnemyX2 ||
  243.                 PlayerY == EnemyY3 && PlayerX == EnemyX3)
  244.             {
  245.                 break;
  246.             }
  247.  
  248.             else
  249.                 ++Score;
  250.  
  251.             board[PlayerY][PlayerX] = '/';
  252.             --PlayerY;
  253.  
  254.             if (board[PlayerY][PlayerX] == Wall)
  255.             {
  256.                 board[PlayerY][PlayerX] = Wall;
  257.                 ++PlayerY;
  258.                 board[PlayerY][PlayerX] = Player;
  259.             }
  260.             else
  261.                 board[PlayerY][PlayerX] = Player;
  262.         }
  263.  
  264.         else if (choice == 's')
  265.         {
  266.             EnemyMove();
  267.             EnemyMove2();
  268.             EnemyMove3();
  269.  
  270.             if (PlayerY == EnemyY && PlayerX == EnemyX ||
  271.                 PlayerY == EnemyY2 && PlayerX == EnemyX2 ||
  272.                 PlayerY == EnemyY3 && PlayerX == EnemyX3)
  273.             {
  274.                 break;
  275.             }
  276.  
  277.             else
  278.                 ++Score;
  279.  
  280.             board[PlayerY][PlayerX] = '/';
  281.             ++PlayerY;
  282.  
  283.             if (board[PlayerY][PlayerX] == Wall)
  284.             {
  285.                 board[PlayerY][PlayerX] = Wall;
  286.                 --PlayerY;
  287.                 board[PlayerY][PlayerX] = Player;
  288.             }
  289.             else
  290.                 board[PlayerY][PlayerX] = Player;
  291.         }
  292.  
  293.         else if (choice == 'a')
  294.  
  295.         {
  296.             EnemyMove();
  297.             EnemyMove2();
  298.             EnemyMove3();
  299.  
  300.             if (PlayerY == EnemyY && PlayerX == EnemyX ||
  301.                 PlayerY == EnemyY2 && PlayerX == EnemyX2 ||
  302.                 PlayerY == EnemyY3 && PlayerX == EnemyX3)
  303.             {
  304.                 break;
  305.             }
  306.  
  307.             else
  308.                 ++Score;
  309.  
  310.             board[PlayerY][PlayerX] = '/';
  311.             --PlayerX;
  312.  
  313.             if (board[PlayerY][PlayerX] == Wall)
  314.             {
  315.                 board[PlayerY][PlayerX] = Wall;
  316.                 ++PlayerX;
  317.                 board[PlayerY][PlayerX] = Player;
  318.             }
  319.             else
  320.                 board[PlayerY][PlayerX] = Player;
  321.         }
  322.  
  323.         else if (choice == 'd')
  324.         {
  325.             EnemyMove();
  326.             EnemyMove2();
  327.             EnemyMove3();
  328.  
  329.             if (PlayerY == EnemyY && PlayerX == EnemyX ||
  330.                 PlayerY == EnemyY2 && PlayerX == EnemyX2 ||
  331.                 PlayerY == EnemyY3 && PlayerX == EnemyX3)
  332.             {
  333.                 break;
  334.             }
  335.  
  336.             else
  337.                 ++Score;
  338.  
  339.             board[PlayerY][PlayerX] = '/';
  340.             ++PlayerX;
  341.             if (board[PlayerY][PlayerX] == Wall)
  342.             {
  343.                 board[PlayerY][PlayerX] = Wall;
  344.                 --PlayerX;
  345.                 board[PlayerY][PlayerX] = Player;
  346.             }
  347.             else
  348.                 board[PlayerY][PlayerX] = Player;
  349.         }
  350.     }
  351.  
  352.     if (EnemyDead && Enemy2Dead && Enemy3Dead)
  353.     {
  354.         cout << "You defeated all of the enemies in " << Score << " turns!\n";
  355.         system("PAUSE");
  356.     }
  357.  
  358.     else
  359.     {
  360.     cout << "\nYou survived " << Score << " turns before being defeated!\n";
  361.     system("PAUSE");
  362.     }
  363. }
  364.  
  365.  
  366. void ShowBoard()
  367. {
  368.     for (int i = 0; i < Height; i++)
  369.     {
  370.         for (int j = 0; j < Length; j++)
  371.         {
  372.             cout << board[i][j];
  373.         }
  374.         cout << endl;
  375.     }
  376. }
  377.  
  378.  
  379. void EnemyMove()
  380. {
  381.     char Finished = 'P';
  382.     while (Finished != 'R')
  383.     {
  384.  
  385.         if (EnemyDead == true)
  386.         {
  387.             EnemyX = 0;
  388.             EnemyY = 0;
  389.  
  390.             break;
  391.         }
  392.  
  393.         EnemyChoice = (rand() % 4);
  394.  
  395.         if (EnemyChoice == 0)
  396.             {
  397.                 if (EnemyY == 1)
  398.                     continue;
  399.  
  400.                 --EnemyY;
  401.  
  402.                 if (board[EnemyY][EnemyX] == Wall)
  403.                 {
  404.                     ++EnemyY;
  405.                     continue;
  406.                 }
  407.                 ++EnemyY;
  408.  
  409.                 board[EnemyY][EnemyX] = '/';
  410.                 --EnemyY;
  411.                 board[EnemyY][EnemyX] = Enemy;
  412.                 Finished = 'R';
  413.  
  414.                 if (EnemyY == EnemyY2 && EnemyX == EnemyX2 || EnemyY == EnemyY3 && EnemyX == EnemyX3)
  415.                 {
  416.                     board[EnemyY][EnemyX] = '/';
  417.                     ++EnemyY;
  418.                     board[EnemyY][EnemyX] = Enemy;
  419.                     continue;
  420.                 }
  421.             }
  422.  
  423.             else if (EnemyChoice == 1)
  424.             {
  425.                 if (EnemyY == 8)
  426.                     continue;
  427.  
  428.                 ++EnemyY;
  429.  
  430.                 if (board[EnemyY][EnemyX] == Wall)
  431.                 {
  432.                     --EnemyY;
  433.                     continue;
  434.                 }
  435.                 --EnemyY;
  436.  
  437.                 board[EnemyY][EnemyX] = '/';
  438.                 ++EnemyY;
  439.                 board[EnemyY][EnemyX] = Enemy;
  440.                 Finished = 'R';
  441.  
  442.                 if (EnemyY == EnemyY2 && EnemyX == EnemyX2 || EnemyY == EnemyY3 && EnemyX == EnemyX3)
  443.                 {
  444.                     board[EnemyY][EnemyX] = '/';
  445.                     --EnemyY;
  446.                     board[EnemyY][EnemyX] = Enemy;
  447.                     continue;
  448.                 }
  449.             }
  450.  
  451.             else if (EnemyChoice == 2)
  452.             {
  453.                 if (EnemyX == 1)
  454.                     continue;
  455.  
  456.                 --EnemyX;
  457.  
  458.                 if (board[EnemyY][EnemyX] == Wall)
  459.                 {
  460.                     ++EnemyX;
  461.                     continue;
  462.                 }
  463.                 ++EnemyX;
  464.  
  465.                 board[EnemyY][EnemyX] = '/';
  466.                 --EnemyX;
  467.                 board[EnemyY][EnemyX] = Enemy;
  468.                 Finished = 'R';
  469.                
  470.                 if (EnemyY == EnemyY2 && EnemyX == EnemyX2 || EnemyY == EnemyY3 && EnemyX == EnemyX3)
  471.                 {
  472.                     board[EnemyY][EnemyX] = '/';
  473.                     ++EnemyX;
  474.                     board[EnemyY][EnemyX] = Enemy;
  475.                     continue;
  476.                 }
  477.             }
  478.  
  479.             else if (EnemyChoice == 3)
  480.             {
  481.                 if (EnemyX == 8)
  482.                     continue;
  483.  
  484.                 ++EnemyX;
  485.  
  486.                 if (board[EnemyY][EnemyX] == Wall)
  487.                 {
  488.                     --EnemyX;
  489.                     continue;
  490.                 }
  491.                 --EnemyX;
  492.  
  493.                 board[EnemyY][EnemyX] = '/';
  494.                 ++EnemyX;
  495.                 board[EnemyY][EnemyX] = Enemy;
  496.                 Finished = 'R';
  497.                
  498.                 if (EnemyY == EnemyY2 && EnemyX == EnemyX2 || EnemyY == EnemyY3 && EnemyX == EnemyX3)
  499.                 {
  500.                     board[EnemyY][EnemyX] = '/';
  501.                     --EnemyX;
  502.                     board[EnemyY][EnemyX] = Enemy;
  503.                     continue;
  504.                 }
  505.             }
  506.     }
  507. }
  508.  
  509.  
  510. void EnemyMove2()
  511. {
  512.     char Finished = 'P';
  513.     while (Finished != 'R')
  514.     {
  515.  
  516.         if (Enemy2Dead == true)
  517.         {
  518.             EnemyX2 = 0;
  519.             EnemyY2 = 0;
  520.  
  521.             break;
  522.         }
  523.  
  524.         EnemyChoice2 = (rand() % 4);
  525.  
  526.         if (EnemyChoice2 == 0)
  527.             {
  528.                 if (EnemyY2 == 1)
  529.                     continue;
  530.  
  531.                 --EnemyY2;
  532.  
  533.                 if (board[EnemyY2][EnemyX2] == Wall)
  534.                 {
  535.                     ++EnemyY2;
  536.                     continue;
  537.                 }
  538.                 ++EnemyY2;
  539.  
  540.                 board[EnemyY2][EnemyX2] = '/';
  541.                 --EnemyY2;
  542.                 board[EnemyY2][EnemyX2] = Enemy2;
  543.                 Finished = 'R';
  544.  
  545.                 if (EnemyY2 == EnemyY && EnemyX2 == EnemyX || EnemyY2 == EnemyY3 && EnemyX2 == EnemyX3)
  546.                 {
  547.                     board[EnemyY2][EnemyX2] = '/';
  548.                     ++EnemyY2;
  549.                     board[EnemyY2][EnemyX2] = Enemy2;
  550.                     continue;
  551.                 }
  552.             }
  553.  
  554.             else if (EnemyChoice2 == 1)
  555.             {
  556.                 if (EnemyY2 == 8)
  557.                     continue;
  558.  
  559.                 ++EnemyY2;
  560.  
  561.                 if (board[EnemyY2][EnemyX2] == Wall)
  562.                 {
  563.                     --EnemyY2;
  564.                     continue;
  565.                 }
  566.                 --EnemyY2;
  567.  
  568.                 board[EnemyY2][EnemyX2] = '/';
  569.                 ++EnemyY2;
  570.                 board[EnemyY2][EnemyX2] = Enemy2;
  571.                 Finished = 'R';
  572.  
  573.                 if (EnemyY2 == EnemyY && EnemyX2 == EnemyX || EnemyY2 == EnemyY3 && EnemyX2 == EnemyX3)
  574.                 {
  575.                     board[EnemyY2][EnemyX2] = '/';
  576.                     --EnemyY2;
  577.                     board[EnemyY2][EnemyX2] = Enemy2;
  578.                     continue;
  579.                 }
  580.             }
  581.  
  582.             else if (EnemyChoice2 == 2)
  583.             {
  584.                 if (EnemyX2 == 1)
  585.                     continue;
  586.  
  587.                 --EnemyX2;
  588.  
  589.                 if (board[EnemyY2][EnemyX2] == Wall)
  590.                 {
  591.                     ++EnemyX2;
  592.                     continue;
  593.                 }
  594.                 ++EnemyX2;
  595.  
  596.                 board[EnemyY2][EnemyX2] = '/';
  597.                 --EnemyX2;
  598.                 board[EnemyY2][EnemyX2] = Enemy2;
  599.                 Finished = 'R';
  600.  
  601.                 if (EnemyY2 == EnemyY && EnemyX2 == EnemyX || EnemyY2 == EnemyY3 && EnemyX2 == EnemyX3)
  602.                 {
  603.                     board[EnemyY2][EnemyX2] = '/';
  604.                     ++EnemyX2;
  605.                     board[EnemyY2][EnemyX2] = Enemy2;
  606.                     continue;
  607.                 }
  608.             }
  609.  
  610.             else if (EnemyChoice2 == 3)
  611.             {
  612.                 if (EnemyX2 == 8)
  613.                     continue;
  614.  
  615.                 ++EnemyX2;
  616.  
  617.                 if (board[EnemyY2][EnemyX2] == Wall)
  618.                 {
  619.                     --EnemyX2;
  620.                     continue;
  621.                 }
  622.                 --EnemyX2;
  623.  
  624.                 board[EnemyY2][EnemyX2] = '/';
  625.                 ++EnemyX2;
  626.                 board[EnemyY2][EnemyX2] = Enemy2;
  627.                 Finished = 'R';
  628.  
  629.                 if (EnemyY2 == EnemyY && EnemyX2 == EnemyX || EnemyY2 == EnemyY3 && EnemyX2 == EnemyX3)
  630.                 {
  631.                     board[EnemyY2][EnemyX2] = '/';
  632.                     --EnemyX2;
  633.                     board[EnemyY2][EnemyX2] = Enemy2;
  634.                     continue;
  635.                 }
  636.             }
  637.     }
  638. }
  639.  
  640.  
  641. void EnemyMove3()
  642. {
  643.     char Finished = 'P';
  644.     while (Finished != 'R')
  645.     {
  646.  
  647.         if (Enemy3Dead == true)
  648.         {
  649.             EnemyX3 = 0;
  650.             EnemyY3 = 0;
  651.  
  652.             break;
  653.         }
  654.  
  655.         EnemyChoice3 = (rand() % 4);
  656.  
  657.         if (EnemyChoice3 == 0)
  658.             {
  659.                 if (EnemyY3 == 1)
  660.                     continue;
  661.  
  662.                 --EnemyY3;
  663.  
  664.                 if (board[EnemyY3][EnemyX3] == Wall)
  665.                 {
  666.                     ++EnemyY3;
  667.                     continue;
  668.                 }
  669.                 ++EnemyY3;
  670.  
  671.                 board[EnemyY3][EnemyX3] = '/';
  672.                 --EnemyY3;
  673.                 board[EnemyY3][EnemyX3] = Enemy3;
  674.                 Finished = 'R';
  675.  
  676.                 if (EnemyY3 == EnemyY && EnemyX3 == EnemyX || EnemyY3 == EnemyY2 && EnemyX3 == EnemyX2)
  677.                 {
  678.                     board[EnemyY3][EnemyX3] = '/';
  679.                     ++EnemyY3;
  680.                     board[EnemyY3][EnemyX3] = Enemy3;
  681.                     continue;
  682.                 }
  683.             }
  684.  
  685.             else if (EnemyChoice3 == 1)
  686.             {
  687.                 if (EnemyY3 == 8)
  688.                     continue;
  689.  
  690.                 ++EnemyY3;
  691.  
  692.                 if (board[EnemyY3][EnemyX3] == Wall)
  693.                 {
  694.                     --EnemyY3;
  695.                     continue;
  696.                 }
  697.                 --EnemyY3;
  698.  
  699.                 board[EnemyY3][EnemyX3] = '/';
  700.                 ++EnemyY3;
  701.                 board[EnemyY3][EnemyX3] = Enemy3;
  702.                 Finished = 'R';
  703.  
  704.                 if (EnemyY3 == EnemyY && EnemyX3 == EnemyX || EnemyY3 == EnemyY2 && EnemyX3 == EnemyX2)
  705.                 {
  706.                     board[EnemyY3][EnemyX3] = '/';
  707.                     --EnemyY3;
  708.                     board[EnemyY3][EnemyX3] = Enemy3;
  709.                     continue;
  710.                 }
  711.             }
  712.  
  713.             else if (EnemyChoice3 == 2)
  714.             {
  715.                 if (EnemyX3 == 1)
  716.                     continue;
  717.  
  718.                 --EnemyX3;
  719.  
  720.                 if (board[EnemyY3][EnemyX3] == Wall)
  721.                 {
  722.                     ++EnemyX3;
  723.                     continue;
  724.                 }
  725.                 ++EnemyX3;
  726.  
  727.                 board[EnemyY3][EnemyX3] = '/';
  728.                 --EnemyX3;
  729.                 board[EnemyY3][EnemyX3] = Enemy3;
  730.                 Finished = 'R';
  731.  
  732.                 if (EnemyY3 == EnemyY && EnemyX3 == EnemyX || EnemyY3 == EnemyY2 && EnemyX3 == EnemyX2)
  733.                 {
  734.                     board[EnemyY3][EnemyX3] = '/';
  735.                     ++EnemyX3;
  736.                     board[EnemyY3][EnemyX3] = Enemy3;
  737.                     continue;
  738.                 }
  739.             }
  740.  
  741.             else if (EnemyChoice3 == 3)
  742.             {
  743.                 if (EnemyX3 == 8)
  744.                     continue;
  745.  
  746.                 ++EnemyX3;
  747.  
  748.                 if (board[EnemyY3][EnemyX3] == Wall)
  749.                 {
  750.                     --EnemyX3;
  751.                     continue;
  752.                 }
  753.                 --EnemyX3;
  754.  
  755.                 board[EnemyY3][EnemyX3] = '/';
  756.                 ++EnemyX3;
  757.                 board[EnemyY3][EnemyX3] = Enemy3;
  758.                 Finished = 'R';
  759.  
  760.                 if (EnemyY3 == EnemyY && EnemyX3 == EnemyX || EnemyY3 == EnemyY2 && EnemyX3 == EnemyX2)
  761.                 {
  762.                     board[EnemyY3][EnemyX3] = '/';
  763.                     --EnemyX3;
  764.                     board[EnemyY3][EnemyX3] = Enemy3;
  765.                     continue;
  766.                 }
  767.             }
  768.     }
  769. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement