Advertisement
Guest User

Untitled

a guest
May 27th, 2019
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.58 KB | None | 0 0
  1. std::vector<std::string> Game::get_players_names(int no)
  2. {
  3.     int temp_num = 0;
  4.     std::vector<std::string> vec;
  5.  
  6.     std::string str;
  7.     sf::Event event;
  8.    
  9.     set_texts_pl_names();
  10.     set_texts_pl_names(temp_num);
  11.     display_start();
  12.  
  13.     while (window.isOpen()) {
  14.  
  15.         window.waitEvent(event);
  16.         if (event.type == sf::Event::TextEntered)
  17.         {
  18.             // Handle ASCII characters only
  19.             if (event.text.unicode < 128)
  20.             {
  21.                 if (event.text.unicode != Enter && event.text.unicode != Escape)
  22.                 {
  23.                     if (event.text.unicode == Backspace) {
  24.                         if (str.length() != 0) {
  25.                             str.pop_back();
  26.                             in_text.setString(str);
  27.                         }
  28.                     }
  29.                     else {
  30.                         str += static_cast<char>(event.text.unicode);
  31.                         in_text.setString(str);
  32.                     } //putting new sign into string
  33.                 }
  34.                 else if (event.text.unicode == Enter)
  35.                 {
  36.                     if (str.length() > 0 && str.length() < 11)
  37.                     {
  38.                         vec.push_back(str);
  39.                         str = "";
  40.                         temp_num++;
  41.                        
  42.                         if (temp_num == no)
  43.                             return vec;
  44.  
  45.                         set_texts_pl_names(temp_num);
  46.                         in_text.setString(str);
  47.                     }
  48.                     else
  49.                     {
  50.                         create_inf_window("Incorrect data", "Name of player\nshold has from\n 1 to 10 characters", false);
  51.                         menu_sprite.setPosition(0.f, 0.f);
  52.                     }
  53.                 }
  54.                 else if (event.text.unicode == Backspace)
  55.                 {
  56.                     if (str.length() != 0) {
  57.                         str.pop_back();
  58.                         in_text.setString(str);
  59.                     }
  60.                 }
  61.                 else if (event.text.unicode == Escape)
  62.                 {
  63.                     window.close();
  64.                 }
  65.                 display_start();
  66.             }
  67.         }
  68.         else if (event.type == sf::Event::Closed)
  69.         {
  70.             window.close();
  71.         }
  72.     }
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement