SHARE
TWEET

Untitled

a guest Jan 24th, 2019 83 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iterator>
  2. #include<conio.h>
  3. #include<windows.h>
  4. #include<list>
  5. #include<bits/stdc++.h>
  6.  
  7. using namespace std;
  8.  
  9. long long n, m, a=1, b=1, t, a1, b1, mp_npc[100][100], m2, hp1 = 100, hp2 = 100, dg1 = 5, dg2 = 5;
  10. string name1, comand;
  11. char c, mp[100][100], tem, tem2, f1, f2;
  12. vector<char> bag1, bag2;
  13.    
  14. void setcur(int x, int y)
  15. {
  16.     COORD coord;
  17.     coord.X = x;
  18.     coord.Y = y;
  19.     SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
  20. }
  21. void hod(char c2){
  22.     if (c2 == 'd'){
  23.         if (mp[a][b+1] == ' '){
  24.             mp[a][b+1] = char(2);
  25.             mp[a][b] = ' ';
  26.             b ++;
  27.         }
  28.         else if (mp[a][b+1] == char(3)){
  29.             mp[a][b+1] = char(2);
  30.             hp1 += 20;
  31.             mp[a][b] = ' ';
  32.             b ++;
  33.             m2 ++;
  34.         }
  35.         else if (mp[a][b+1] != '#' && mp[a][b+1] != '0' && mp[a][b+1] != char(1)){
  36.             bag1.push_back(mp[a][b+1]);
  37.             mp[a][b+1] = char(2);
  38.             mp[a][b] = ' ';
  39.             b ++;
  40.         }
  41.     }
  42.     if (c2 == 's'){
  43.         if (mp[a+1][b] == ' '){
  44.             mp[a+1][b] = char(2);
  45.             mp[a][b] = ' ';
  46.             a ++;
  47.         }
  48.         else if (mp[a+1][b] == char(3)){
  49.             mp[a+1][b] = char(2);
  50.             hp1 += 20;
  51.             mp[a][b] = ' ';
  52.             a ++;
  53.             m2 ++;
  54.         }
  55.         else if (mp[a+1][b] != '#' && mp[a+1][b] != '0' && mp[a+1][b] != char(1)){
  56.             bag1.push_back(mp[a+1][b]);
  57.             mp[a+1][b] = char(2);
  58.             mp[a][b] = ' ';
  59.             a ++;
  60.         }
  61.     }
  62.     if (c2 == 'a'){
  63.         if (mp[a][b-1] == ' '){
  64.             mp[a][b-1] = char(2);
  65.             mp[a][b] = ' ';
  66.             b --;
  67.         }
  68.         else if (mp[a][b-1] == char(3)){
  69.             mp[a][b-1] = char(2);
  70.             mp[a][b] = ' ';
  71.             hp1 += 20;
  72.             b --;
  73.             m2 ++;
  74.         }
  75.         else if (mp[a][b-1] != '#' && mp[a][b-1] != '0' && mp[a][b-1] != char(1)){
  76.             bag1.push_back(mp[a][b-1]);
  77.             mp[a][b-1] = char(2);
  78.             mp[a][b] = ' ';
  79.             b --;
  80.         }
  81.     }
  82.     if (c2 == 'w'){
  83.         if (mp[a-1][b] == ' '){
  84.             mp[a-1][b] = char(2);
  85.             mp[a][b] = ' ';
  86.             a --;
  87.         }
  88.         else if (mp[a-1][b] == char(3)){
  89.             mp[a-1][b] = char(2);
  90.             mp[a][b] = ' ';
  91.             a --;
  92.             hp1 += 20;
  93.             m2 ++;
  94.         }
  95.         else if (mp[a-1][b] != '#' && mp[a-1][b] != '0' && mp[a-1][b] != char(1)){
  96.             bag1.push_back(mp[a-1][b]);
  97.             mp[a-1][b] = char(2);
  98.             mp[a][b] = ' ';
  99.             a --;
  100.         }
  101.     }
  102.     int l=0;
  103.     if (mp[a][b-1] == '#'){
  104.         l ++;
  105.     }
  106.     if (mp[a][b+1] == '#'){
  107.         l ++;
  108.     }
  109.     if (mp[a-1][b] == '#'){
  110.         l ++;
  111.     }
  112.     if (mp[a+1][b] == '#'){
  113.         l ++;
  114.     }
  115.     if (l == 3){
  116.         mp[a][b-1] = '#';
  117.         mp[a][b+1] = '#';
  118.         mp[a-1][b] = '#';
  119.         mp[a+1][b] = '#';
  120.     }
  121.     return ;
  122. }
  123. void fire1(char c2){
  124.     if (c2 == 'w' || c2 == 'd' || c2 == 's' || c2 == 'a'){
  125.         f1 = c2;
  126.     }
  127.     if (c2 == 'e'){
  128.         if (f1 == 'w'){
  129.             mp[a-1][b] = '*';
  130.             for (int i = a-1; i > 1; i --){
  131.                
  132.                 if (mp[i-1][b] == ' '){
  133.                     mp[i][b] = ' ';
  134.                     mp[i-1][b] = '*';
  135.                 }
  136.                 if (mp[i-1][b] == '#'){
  137.                     mp[i][b] = ' ';
  138.                     mp[i-1][b] = ' ';
  139.                     break;
  140.                 }
  141.                 if (mp[i-1][b] == char(1)){
  142.                     mp[i][b] = ' ';
  143.                     hp2 -= 20;
  144.                     break;
  145.                 }
  146.                 if (mp[i-1][b] == '0'){
  147.                     mp[i][b] = ' ';
  148.                     break;
  149.                 }
  150.             }
  151.         }
  152.         if (f1 == 'd'){
  153.             mp[a][b+1] = '*';
  154.             for (int i = b+1; i < m-2; i ++){
  155.                
  156.                 if (mp[a][i+1] == ' '){
  157.                     mp[a][i] = ' ';
  158.                     mp[a][i+1] = '*';
  159.                 }
  160.                 if (mp[a][i+1] == '#'){
  161.                     mp[a][i] = ' ';
  162.                     mp[a][i+1] = ' ';
  163.                     break;
  164.                 }
  165.                 if (mp[a][i+1] == char(1)){
  166.                     mp[a][i] = ' ';
  167.                     hp2 -= 20;
  168.                     break;
  169.                 }
  170.                 if (mp[a][i+1] == '0'){
  171.                     mp[a][i] = ' ';
  172.                     break;
  173.                 }
  174.             }
  175.         }
  176.         if (f1 == 'a'){
  177.             mp[a][b-1] = '*';
  178.             for (int i = b-1; i > 1; i --){
  179.                
  180.                 if (mp[a][i-1] == ' '){
  181.                     mp[a][i] = ' ';
  182.                     mp[a][i-1] = '*';
  183.                 }
  184.                 if (mp[a][i-1] == '#'){
  185.                     mp[a][i] = ' ';
  186.                     mp[a][i-1] = ' ';
  187.                     break;
  188.                 }
  189.                 if (mp[a][i-1] == char(1)){
  190.                     mp[a][i] = ' ';
  191.                     hp2 -= 20;
  192.                     break;
  193.                 }
  194.                 if (mp[a][i-1] == '0'){
  195.                     mp[a][i] = ' ';
  196.                     break;
  197.                 }
  198.             }
  199.         }
  200.         if (f1 == 's'){
  201.             mp[a+1][b] = '*';
  202.             for (int i = a+1; i < n-2; i ++){
  203.                
  204.                 if (mp[i+1][b] == ' '){
  205.                     mp[i][b] = ' ';
  206.                     mp[i+1][b] = '*';
  207.                 }
  208.                 if (mp[i+1][b] == '#'){
  209.                     mp[i][b] = ' ';
  210.                     mp[i+1][b] = ' ';
  211.                     break;
  212.                 }
  213.                 if (mp[i+1][b] == char(1)){
  214.                     mp[i][b] = ' ';
  215.                     hp2 -= 20;
  216.                     break;
  217.                 }
  218.                 if (mp[i+1][b] == '0'){
  219.                     mp[i][b] = ' ';
  220.                     break;
  221.                 }
  222.             }
  223.         }
  224.     }
  225. }
  226. void op_bag2(){
  227.     if (isdigit(c)){
  228.         int i = c - '0' - 1;
  229.         tem2 = bag2[i];
  230.         bag2.erase(bag2.begin()+i,bag2.begin()+i+1);
  231.     }
  232.     if (c == 'i' && mp[a1-1][b1] == ' '){
  233.         mp[a1-1][b1] = tem2;
  234.         tem2 = ' ';
  235.     }
  236.     if (c == 'j' && mp[a1][b1-1] == ' '){
  237.         mp[a1][b1-1] = tem2;
  238.         tem2 = ' ';
  239.     }
  240.     if (c == 'k' && mp[a1+1][b1] == ' '){
  241.         mp[a1+1][b1] = tem2;
  242.         tem2 = ' ';
  243.     }
  244.     if (c == 'l' && mp[a1][b1+1] == ' '){
  245.         mp[a1][b1+1] = tem2;
  246.         tem2 = ' ';
  247.     }
  248. }
  249. void hod2(char c2){
  250.     if (c2 == 'h'){
  251.         if (mp[a1][b1+1] == ' '){
  252.             mp[a1][b1+1] = char(1);
  253.             mp[a1][b1] = ' ';
  254.             b1 ++;
  255.         }
  256.         else if (mp[a1][b1+1] == char(3)){
  257.             hp2 += 20;
  258.             mp[a1][b1+1] = char(1);
  259.             mp[a1][b1] = ' ';
  260.             b1 ++;
  261.         }
  262.         else if (mp[a1][b1+1] != '#' && mp[a1][b1+1] != '0' && mp[a1][b1+1] != char(2)){
  263.             bag2.push_back(mp[a1][b1+1]);
  264.             mp[a1][b1+1] = char(1);
  265.             mp[a1][b1] = ' ';
  266.             b1 ++;
  267.         }
  268.     }
  269.     if (c2 == 'g'){
  270.         if (mp[a1+1][b1] == ' '){
  271.             mp[a1+1][b1] = char(1);
  272.             mp[a1][b1] = ' ';
  273.             a1 ++;
  274.         }
  275.         else if (mp[a1+1][b1] == char(3)){
  276.             hp2 += 20;
  277.             mp[a1+1][b1] = char(1);
  278.             mp[a1][b1] = ' ';
  279.             a1 ++;
  280.         }
  281.         else if (mp[a1+1][b1] != '#' && mp[a1+1][b1] != '0' && mp[a1+1][b1] != char(2)){
  282.             bag2.push_back(mp[a1+1][b1]);
  283.             mp[a1+1][b1] = char(1);
  284.             mp[a1][b1] = ' ';
  285.             a1 ++;
  286.         }
  287.     }
  288.     if (c2 == 'f'){
  289.         if (mp[a1][b1-1] == ' '){
  290.             mp[a1][b1-1] = char(1);
  291.             mp[a1][b1] = ' ';
  292.             b1 --;
  293.         }
  294.         else if (mp[a1][b1-1] == char(3)){
  295.             hp2 += 20;
  296.             mp[a1][b1-1] = char(1);
  297.             mp[a1][b1] = ' ';
  298.             b1 --;
  299.         }
  300.         else if (mp[a1][b1-1] != '#' && mp[a1][b1-1] != '0' && mp[a1][b1-1] != char(2)){
  301.             bag2.push_back(mp[a1][b1-1]);
  302.             mp[a1][b1-1] = char(1);
  303.             mp[a1][b1] = ' ';
  304.             b1 --;
  305.         }
  306.     }
  307.     if (c2 == 't'){
  308.         if (mp[a1-1][b1] == ' '){
  309.             mp[a1-1][b1] = char(1);
  310.             mp[a1][b1] = ' ';
  311.             a1 --;
  312.         }
  313.         else if (mp[a1-1][b1] == char(3)){
  314.             mp[a1-1][b1] = char(1);
  315.             mp[a1][b1] = ' ';
  316.             hp2 += 20;
  317.             a1 --;
  318.             m2 ++;
  319.         }
  320.         else if (mp[a1-1][b1] != '#' && mp[a1-1][b1] != '0' && mp[a1-1][b1] != char(2)){
  321.             bag2.push_back(mp[a1-1][b1]);
  322.             mp[a1-1][b1] = char(1);
  323.             mp[a1][b1] = ' ';
  324.             a1 --;
  325.         }
  326.     }
  327.     int l=0;
  328.     if (mp[a1][b1-1] == '#'){
  329.         l ++;
  330.     }
  331.     if (mp[a1][b1+1] == '#'){
  332.         l ++;
  333.     }
  334.     if (mp[a1-1][b1] == '#'){
  335.         l ++;
  336.     }
  337.     if (mp[a1+1][b1] == '#'){
  338.         l ++;
  339.     }
  340.     if (l == 3){
  341.         mp[a1][b1-1] = '#';
  342.         mp[a1][b1+1] = '#';
  343.         mp[a1-1][b1] = '#';
  344.         mp[a1+1][b1] = '#';
  345.     }
  346.     return ;
  347. }
  348. void inator(int i){
  349.     if (i == 8){
  350.         cout << "    dg  first player  =   " << dg1;
  351.     }
  352.     if (i == 9){
  353.         cout << "    dg second player  =  " << dg2;
  354.     }
  355.     if (i == 10){
  356.         cout << "    hp first player  =  " << hp1;
  357.     }
  358.     if (i == 11){
  359.         cout << "    hp second player  =  " << hp2;
  360.     }
  361.     if (i == 12){
  362.         cout << "    bag one ";
  363.         for (int k=0; k < bag1.size(); k ++){
  364.             cout << bag1[k] << " ";
  365.         }
  366.     }
  367.     if (i == 13){
  368.         cout << "    bag two ";
  369.         for (int k=0; k < bag2.size(); k ++){
  370.             cout << bag2[k] << " ";
  371.         }
  372.     }
  373. }
  374. void op_bag(){
  375.     if (isdigit(c)){
  376.         int i = c - '0' - 1;
  377.         tem = bag1[i];
  378.         bag1.erase(bag1.begin()+i,bag1.begin()+i+1);
  379.     }
  380.     if (c == 'i' && mp[a-1][b] == ' '){
  381.         mp[a-1][b] = tem;
  382.         tem = ' ';
  383.     }
  384.     if (c == 'j' && mp[a][b-1] == ' '){
  385.         mp[a][b-1] = tem;
  386.         tem = ' ';
  387.     }
  388.     if (c == 'k' && mp[a+1][b] == ' '){
  389.         mp[a+1][b] = tem;
  390.         tem = ' ';
  391.     }
  392.     if (c == 'l' && mp[a][b+1] == ' '){
  393.         mp[a][b+1] = tem;
  394.         tem = ' ';
  395.     }
  396. }
  397. void system(){
  398.     system("cls");
  399.     cin >> comand;
  400.     if (comand[0] == 'h' && comand[8] == '1'){
  401.         hp1 = 100;
  402.     }
  403.     if (comand[0] == 'h' && comand[8] == '2'){
  404.         hp2 = 100;
  405.     }
  406.     if (comand[0] == 'u' && comand[9] == '1'){
  407.         dg1 = 50;
  408.     }
  409.     if (comand[0] == 'u' && comand[9] == '2'){
  410.         dg2 = 50;
  411.     }
  412.     system("cls");
  413.     return ;
  414. }
  415. void dv(){
  416.    
  417.     for (int i=1; i < n-1; i ++){
  418.         for (int j=0; j < m; j ++){
  419.             if (mp[i-1][j] == char(3) && mp[i][j] != char(3)){
  420.                 mp[i][j] = '9';
  421.                 mp[i-1][j] = ' ';
  422.             }
  423.         }
  424.     }
  425.     for (int i=1; i < n-1; i ++){
  426.         for (int j=0; j < m; j ++){
  427.             if (mp[i][j] == '9'){
  428.                 mp[i][j] = char(3);
  429.             }
  430.         }
  431.     }
  432.    
  433. }
  434. /*
  435. nado dokonchit
  436. void gen_map_npc(){
  437.     for (int i=0; i < n; i ++){
  438.         for (int j=0; j < m; j ++){
  439.             if (i == 0 || j == 0 || i == n-1 || j == m-1){
  440.                 mp_npc[i][j] = -1; 
  441.             }else{
  442.                 mp_npc[i][j] = 0;
  443.             }  
  444.         }  
  445.     }
  446. }
  447.  
  448. void npc_hod(){
  449.     long long mn = 99999999999;
  450.     long long temp, l, x = -1;
  451.     for (int i=0; i < 2; i ++){
  452.         if (mp_npc[a1,b1+x] != -1 && mp_npc[a1,b1+x] < mn){
  453.             temp = x;
  454.             l = 1;
  455.             mn = mp_npc[a1,b1+x];
  456.         }
  457.         if (mp_npc[a1+x,b1] != -1 && mp_npc[a1+x,b1] < mn){
  458.             temp = x;
  459.             l = 2;
  460.             mn = mp_npc[a1+x,b1];
  461.         }
  462.         x = 1;
  463.     }
  464.     if (l == 2){
  465.         mp_npc[a1+temp,b1] ++;
  466.         mp[a1+temp,b1] = char(2);
  467.         mp[a1,b1] = ' ';
  468.         a1 += temp;
  469.     }
  470.     if (l == 1){
  471.         mp_npc[a1,b1+temp] ++;
  472.         mp[a1,b1+temp] = char(2);
  473.         mp[a1,b1] = ' ';
  474.         b1 += temp;
  475.     }
  476. }
  477.  
  478. bool bul(int a2, int b2){
  479.     if ((a2 == n-1 && b2 == m-2) || (a2 == n-2 && b2 == m-1)){
  480.         return false;
  481.     }
  482.     return true;
  483. }
  484. */
  485. void gen_map(){
  486.     a1 = n-2, b1 = m-2;
  487.     a = 1, b = 1;
  488.      for (int i=0; i < n; i ++){
  489.         for (int j=0; j < m; j ++){
  490.             if (i == 0 || j == 0 || i == n-1 || j == m-1){
  491.                 mp[i][j] = '0';
  492.             }else {
  493.                 if (rand() % (i+j) == 0){
  494.                     mp[i][j] = '#';
  495.                 }
  496.                 else
  497.                 mp[i][j] = ' ';
  498.             }
  499.         }
  500.     }
  501.     mp[a][b] = char(2);
  502.     mp[a1][b1] = char(1);
  503.     return ;   
  504. }
  505.  
  506. int main() {
  507.    
  508.     srand (time(NULL));
  509.    
  510.     n = 20;
  511.     m = 30;
  512.     gen_map();
  513.    
  514. //  cout << endl << endl << endl;
  515. //  cout << "                         enter the name of player :: ";
  516. //  cin >> name1;
  517.     system("cls");
  518.  
  519.     while (true) {
  520.         c = _getch();
  521.         if (c == '`'){
  522.             system();
  523.         }
  524.         if (c == '+'){
  525.             gen_map();
  526.         }
  527.         fire1(c);
  528.         hod(c);
  529.         hod2(c);
  530.         op_bag();
  531. //      npc_hod();
  532.         setcur(0,1);
  533. //      system("cls");
  534.         for (int i=0; i < n; i ++){
  535.             for (int j=0; j < m; j ++){
  536.                 cout << mp[i][j];
  537.             }
  538.             inator(i);
  539.             cout << endl;
  540.         }
  541. //      dv();
  542.     }
  543.     return 0;
  544. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top