Advertisement
Guest User

Untitled

a guest
May 19th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. sf::RenderWindow window(sf::VideoMode(900, 900), "SFML works!");
  2. /*
  3. sf::CircleShape shape(100.f);
  4. shape.setFillColor(sf::Color::Green);
  5. */
  6. sf::RectangleShape rectangle(sf::Vector2f(10, 10)); // tworzymy prostokąt
  7. //rectangle.setPosition(0, 0);
  8.  
  9. /*
  10. vec.push_back(sf::RectangleShape(sf::Vector2f(10, 10)));
  11. vec.push_back(sf::RectangleShape(sf::Vector2f(10, 10)));
  12. vec.push_back(sf::RectangleShape(sf::Vector2f(10, 10)));
  13. vec.push_back(sf::RectangleShape(sf::Vector2f(10, 10)));
  14. vec.push_back(sf::RectangleShape(sf::Vector2f(10, 10)));
  15. vec.push_back(sf::RectangleShape(sf::Vector2f(10, 10)));
  16.  
  17. vec[0].setPosition(0, 0);
  18. vec[1].setPosition(10, 0);
  19. vec[2].setPosition(20, 0);
  20. vec[3].setPosition(0, 10);
  21. vec[4].setPosition(10, 10);
  22. vec[5].setPosition(20, 10);
  23.  
  24.  
  25.  
  26. vec[1].setFillColor(sf::Color::Red);
  27. vec[2].setFillColor(sf::Color::Blue);
  28. vec[3].setFillColor(sf::Color::Blue);
  29.  
  30. */
  31. int xVal = 0;
  32. int yVal = 0;
  33. int counter = 0;
  34. vector<vector<sf::RectangleShape>>vec1;
  35. vec1.resize(23);
  36.  
  37. for (int i = 0; i < 23; ++i) {
  38. vec1[i] = (vector<sf::RectangleShape>(23));
  39.  
  40.  
  41. }
  42. for (size_t i = 0; i < 23; i++)
  43. {
  44. for (size_t j = 0; j < 23; j++)
  45. {
  46. vec1[i][j] = (sf::RectangleShape(sf::Vector2f(10, 10)));
  47. vec1[i][j].setPosition(xVal, yVal);
  48. xVal += 10;
  49. counter++;
  50. }
  51. yVal += 10;
  52. xVal = 0;
  53. }
  54.  
  55.  
  56.  
  57. sf::Font font;
  58. if (!font.loadFromFile("arial.ttf")) {
  59. cout << "error";
  60. }
  61.  
  62. sf::Text text[2];
  63. text[0].setFont(font);
  64. text[0].setString("play");
  65. text[0].setFillColor(sf::Color::Red);
  66. text[0].setCharacterSize(40);
  67. text[0].setPosition(400, 0);
  68.  
  69. text[1].setFont(font);
  70. text[1].setString("back");
  71. text[1].setFillColor(sf::Color::White);
  72. text[1].setCharacterSize(40);
  73. text[1].setPosition(400, 410);
  74.  
  75.  
  76.  
  77. auto map = GameField{};
  78. map.setMapValues();
  79. int change = -1;
  80.  
  81. while (window.isOpen())
  82. {
  83. sf::Event event;
  84. while (window.pollEvent(event))
  85. {
  86. switch (event.type) {
  87.  
  88. case sf::Event::KeyReleased:
  89. switch (event.key.code) {
  90. val = index;
  91. case sf::Keyboard::Up:
  92. cout << index << endl;
  93. MoveUp(text);
  94.  
  95.  
  96. break;
  97. case sf::Keyboard::Down:
  98. cout << index << endl;
  99. MoveDown(text);
  100.  
  101.  
  102. break;
  103. case sf::Keyboard::Return:
  104. switch (index) {
  105. case 0:
  106. cout << "Play\n";
  107. for (size_t i = 0; i < 23; i++)
  108. {
  109. for (int j = 0; j < 23; j++) {
  110. if (map.vecOfCells[i][j]->getPreviousState()) {
  111. vec1[i][j].setFillColor(sf::Color::Red);
  112. }
  113. else { vec1[i][j].setFillColor(sf::Color::White); }
  114.  
  115. map.setNumberOfCellsNeighbours(map.vecOfCells[i][j]);
  116. }
  117.  
  118. }
  119. for (int i = 0; i < 23; ++i) {
  120. for (int j = 0; j < 23; ++j) {
  121.  
  122.  
  123. map.vecOfCells[i][j]->setPreviousState(map.vecOfCells[i][j]->getStatusOfCell());
  124. map.vecOfCells[i][j]->setNumberOfNeighbours(0);
  125.  
  126.  
  127.  
  128.  
  129. }
  130.  
  131. }
  132.  
  133. break;
  134. case 1:
  135. cout << "back\n";
  136. change--;
  137.  
  138. break;
  139. }
  140.  
  141. break;
  142. }
  143. break;
  144. case sf::Event::Closed:
  145. window.close();
  146. break;
  147.  
  148. }
  149. }
  150.  
  151. window.clear();
  152.  
  153.  
  154. for (int i = 0; i < 23; i++) {
  155. for (int j = 0; j < 23; j++)
  156. {
  157. window.draw(vec1[i][j]);
  158. }
  159. }
  160.  
  161.  
  162.  
  163. window.draw(text[0]);
  164. window.draw(text[1]);
  165.  
  166.  
  167.  
  168. window.display();
  169.  
  170.  
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement