Advertisement
Hattiwatti

Untitled

Dec 18th, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. // EEHunter.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <vector>
  6. #include <Windows.h>
  7.  
  8. bool lights[] = { false, false, false, false, false,
  9. false, false, false, false, false,
  10. false, true, false, false, false,
  11. false, false, false, true, false };
  12.  
  13. std::vector<std::vector<int>> combinations;
  14.  
  15. int possibilities = 0;
  16.  
  17. class Button
  18. {
  19. public:
  20. Button() { };
  21. Button(std::vector<int> lights) { m_lights = lights; };
  22. void Press()
  23. {
  24. for (int i = 0; i < m_lights.size(); ++i)
  25. {
  26. lights[m_lights[i]-1] = !lights[m_lights[i]-1];
  27. }
  28. }
  29.  
  30. private:
  31. std::vector<int> m_lights;
  32. };
  33.  
  34. Button buttons[7];
  35.  
  36. void printState()
  37. {
  38. for (int i = 0; i < 20; ++i)
  39. {
  40. printf("%d ", lights[i]);
  41. }
  42. printf("\n");
  43. Sleep(5000);
  44. }
  45.  
  46. void addNext(std::vector<int> buttons, std::vector<int> uB, int add, int totalCount)
  47. {
  48. buttons.push_back(add);
  49.  
  50. if (buttons.size() == totalCount)
  51. {
  52. combinations.push_back(buttons);
  53. //for (int i = 0; i < totalCount; ++i)
  54. // printf("%d ", buttons[i]);
  55. //printf("\n");
  56. possibilities++;
  57. return;
  58. }
  59.  
  60. for (std::vector<int>::iterator itr = uB.begin(); itr != uB.end(); ++itr)
  61. {
  62. if ((*itr) == add)
  63. {
  64. uB.erase(itr);
  65. break;
  66. }
  67. }
  68.  
  69. for (std::vector<int>::iterator itr = uB.begin(); itr != uB.end(); ++itr)
  70. {
  71. addNext(buttons, uB, (*itr), totalCount);
  72. }
  73. }
  74.  
  75. void DoSomething()
  76. {
  77. std::vector<int> uB({ 0,1,2,3,4,5,6,7 });
  78. std::vector<int> buttons;
  79.  
  80. for (int x = 1; x < 8; ++x)
  81. {
  82. for (int i = 0; i < 7; ++i)
  83. {
  84. addNext(buttons, uB, i, x);
  85. }
  86. }
  87.  
  88. printf("Possibilities: %d\n", possibilities);
  89. }
  90.  
  91. void TestCombinations()
  92. {
  93. for (int i = 0; i < combinations.size(); ++i)
  94. {
  95. printf("%d\n", i);
  96. std::vector<int> buttonComb = combinations[i];
  97. bool lights2[20];
  98. for (int s = 0; s < 20; ++s)
  99. lights2[s] = lights[s];
  100.  
  101. printState();
  102.  
  103. for (int x = 0; x < buttonComb.size(); ++x)
  104. {
  105. buttons[buttonComb[x]].Press();
  106.  
  107. lights[15] = true;
  108. lights[17] = true;
  109. }
  110.  
  111. bool allTrue = true;
  112.  
  113. for (int s = 0; s < 20; ++s)
  114. allTrue = allTrue == lights[s];
  115.  
  116. if (allTrue)
  117. {
  118. printf("omg all true\n");
  119. Sleep(1000);
  120. }
  121.  
  122. printState();
  123.  
  124. for (int s = 0; s < 20; ++s)
  125. lights[s] = lights2[s];
  126.  
  127. }
  128. printf("Done\n");
  129. }
  130.  
  131.  
  132. int main()
  133. {
  134. DoSomething();
  135.  
  136. TestCombinations();
  137.  
  138. Sleep(100000);
  139. return 0;
  140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement