Advertisement
fr1sk

Untitled

Jun 6th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.04 KB | None | 0 0
  1. void Square::algCheck(){
  2. qInfo() << "ALG CHECK CALLED";
  3. int j, k, l;
  4. int cnt = 0;
  5. int array[35];
  6. //========================= horizontalno +1 ===============================
  7. for(int i=0; i<SquaresList::squares.length(); i++){
  8. //qInfo() << "vrednost na i: " << SquaresList::squares[i]->getValue() << " a i je: " << i;
  9. j = i + 5;
  10. k = i;
  11. l = i % 5;
  12. array[cnt++] = k;
  13. while(j<=SquaresList::squares.length()-5+1+l && SquaresList::squares[j]->getValue() - SquaresList::squares[k]->getValue() == 1){
  14. array[cnt++] = j;
  15. j = j + 5;
  16. k = k + 5;
  17. }
  18. if(j>SquaresList::squares.length()-5+1+l){
  19. if(cnt>=3){
  20. for(int z=0; z<cnt; z++){
  21. qInfo() << "PUCAJ NESTAJ" << array[z];
  22. QGraphicsOpacityEffect *mEffect = new QGraphicsOpacityEffect();
  23. mEffect->setOpacity(1.0);
  24. SquaresList::squares[array[z]]->setGraphicsEffect(mEffect);
  25. QPropertyAnimation *anim = new QPropertyAnimation(mEffect, "opacity");
  26. anim->setDuration(1000);
  27. anim->setStartValue(1.0);
  28. anim->setEndValue(0.0);
  29. anim->start();
  30. //delete(this->text);
  31. game->scene->removeItem(SquaresList::squares[array[z]]->text);
  32. SquaresList::squares[array[z]]->setValue(qrand() % 6);
  33.  
  34. QGraphicsTextItem *text = new QGraphicsTextItem(QString::number(SquaresList::squares[array[z]]->getValue()), SquaresList::squares[array[z]]);
  35. SquaresList::squares[array[z]]->text = text;
  36. int xPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().width()/2;
  37. int yPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().height()/2;
  38. text->setPos(xPos,yPos);
  39.  
  40. anim->setDuration(1000);
  41. anim->setStartValue(0.0);
  42. anim->setEndValue(1.0);
  43. anim->start();
  44.  
  45. }
  46. qInfo() << "=================";
  47. memset(array, -1, sizeof(array));
  48. cnt = 0;
  49. //i = - 1;
  50. } else {
  51. memset(array, -1, sizeof(array));
  52. cnt = 0;
  53. }
  54. } else {
  55. if(cnt>=3){
  56. for(int z=0; z<cnt; z++){
  57. qInfo() << "PUCAJ NESTAJ" << array[z];
  58. QGraphicsOpacityEffect *mEffect = new QGraphicsOpacityEffect();
  59. mEffect->setOpacity(1.0);
  60. SquaresList::squares[array[z]]->setGraphicsEffect(mEffect);
  61. QPropertyAnimation *anim = new QPropertyAnimation(mEffect, "opacity");
  62. anim->setDuration(1000);
  63. anim->setStartValue(1.0);
  64. anim->setEndValue(0.0);
  65. anim->start();
  66. //delete(this->text);
  67. game->scene->removeItem(SquaresList::squares[array[z]]->text);
  68. SquaresList::squares[array[z]]->setValue(qrand() % 6);
  69.  
  70. QGraphicsTextItem *text = new QGraphicsTextItem(QString::number(SquaresList::squares[array[z]]->getValue()), SquaresList::squares[array[z]]);
  71. SquaresList::squares[array[z]]->text = text;
  72. int xPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().width()/2;
  73. int yPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().height()/2;
  74. text->setPos(xPos,yPos);
  75.  
  76. anim->setDuration(1000);
  77. anim->setStartValue(0.0);
  78. anim->setEndValue(1.0);
  79. anim->start();
  80. }
  81. qInfo() << "=================";
  82. memset(array, -1, sizeof(array));
  83. cnt = 0;
  84. //i = - 1;
  85.  
  86. } else {
  87. memset(array, -1, sizeof(array));
  88. cnt = 0;
  89. //i = j-1;
  90. }
  91. }
  92. }
  93.  
  94.  
  95.  
  96. //========================= horizontalno -1 ===============================
  97. memset(array, -1, sizeof(array));
  98. cnt = 0;
  99. for(int i=0; i<SquaresList::squares.length(); i++){
  100. //qInfo() << "vrednost na i: " << SquaresList::squares[i]->getValue() << " a i je: " << i;
  101. j = i + 5;
  102. k = i;
  103. l = i % 5;
  104. array[cnt++] = k;
  105. while(j<=SquaresList::squares.length()-5+1+l && SquaresList::squares[j]->getValue() - SquaresList::squares[k]->getValue() == -1){
  106. array[cnt++] = j;
  107. j = j + 5;
  108. k = k + 5;
  109. }
  110. if(j>SquaresList::squares.length()-5+1+l){
  111. if(cnt>=3){
  112. for(int z=0; z<cnt; z++){
  113. qInfo() << "PUCAJ" << array[z];
  114. QGraphicsOpacityEffect *mEffect = new QGraphicsOpacityEffect();
  115. mEffect->setOpacity(1.0);
  116. SquaresList::squares[array[z]]->setGraphicsEffect(mEffect);
  117. QPropertyAnimation *anim = new QPropertyAnimation(mEffect, "opacity");
  118. anim->setDuration(1000);
  119. anim->setStartValue(1.0);
  120. anim->setEndValue(0.0);
  121. anim->start();
  122. //delete(this->text);
  123. game->scene->removeItem(SquaresList::squares[array[z]]->text);
  124. SquaresList::squares[array[z]]->setValue(qrand() % 6);
  125.  
  126. QGraphicsTextItem *text = new QGraphicsTextItem(QString::number(SquaresList::squares[array[z]]->getValue()), SquaresList::squares[array[z]]);
  127. SquaresList::squares[array[z]]->text = text;
  128. int xPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().width()/2;
  129. int yPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().height()/2;
  130. text->setPos(xPos,yPos);
  131.  
  132. anim->setDuration(1000);
  133. anim->setStartValue(0.0);
  134. anim->setEndValue(1.0);
  135. anim->start();
  136.  
  137. }
  138. qInfo() << "=================";
  139. memset(array, -1, sizeof(array));
  140. cnt = 0;
  141. //i = - 1;
  142. } else {
  143. memset(array, -1, sizeof(array));
  144. cnt = 0;
  145. }
  146. } else {
  147. if(cnt>=3){
  148. for(int z=0; z<cnt; z++){
  149. qInfo() << "PUCAJ" << array[z];
  150. QGraphicsOpacityEffect *mEffect = new QGraphicsOpacityEffect();
  151. mEffect->setOpacity(1.0);
  152. SquaresList::squares[array[z]]->setGraphicsEffect(mEffect);
  153. QPropertyAnimation *anim = new QPropertyAnimation(mEffect, "opacity");
  154. anim->setDuration(1000);
  155. anim->setStartValue(1.0);
  156. anim->setEndValue(0.0);
  157. anim->start();
  158. //delete(this->text);
  159. game->scene->removeItem(SquaresList::squares[array[z]]->text);
  160. SquaresList::squares[array[z]]->setValue(qrand() % 6);
  161.  
  162. QGraphicsTextItem *text = new QGraphicsTextItem(QString::number(SquaresList::squares[array[z]]->getValue()), SquaresList::squares[array[z]]);
  163. SquaresList::squares[array[z]]->text = text;
  164. int xPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().width()/2;
  165. int yPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().height()/2;
  166. text->setPos(xPos,yPos);
  167.  
  168. anim->setDuration(1000);
  169. anim->setStartValue(0.0);
  170. anim->setEndValue(1.0);
  171. anim->start();
  172.  
  173. }
  174. qInfo() << "=================";
  175. memset(array, -1, sizeof(array));
  176. cnt = 0;
  177. //i = - 1;
  178.  
  179. } else {
  180. memset(array, -1, sizeof(array));
  181. cnt = 0;
  182. //i = j-1;
  183. }
  184. }
  185. }
  186. //========================= vertikalno +1 ===============================
  187. memset(array, -1, sizeof(array));
  188. cnt = 0;
  189. for (int i=0;i<SquaresList::squares.length();i++){
  190. j=i+1;
  191. k=i;
  192. cnt = 0;
  193. array[cnt++]=k;
  194. while (j <= (i+5-(i%5)-1) && SquaresList::squares[j]->getValue() - SquaresList::squares[k]->getValue() == 1){
  195. array[cnt++]=j;
  196. j=j+1;
  197. k=k+1;
  198. }
  199. if (j > (i+5-(i%5)-1)){ //dosli smo do dole do kraja
  200. if (cnt >= 3){ //da li ima dovoljno za pucanje
  201. //pucaju svi indeksi iz niza
  202. //prazni se niz
  203. for(int z=0; z<cnt; z++){
  204. qInfo() << "PUCAJ" << array[z];
  205. QGraphicsOpacityEffect *mEffect = new QGraphicsOpacityEffect();
  206. mEffect->setOpacity(1.0);
  207. SquaresList::squares[array[z]]->setGraphicsEffect(mEffect);
  208. QPropertyAnimation *anim = new QPropertyAnimation(mEffect, "opacity");
  209. anim->setDuration(1000);
  210. anim->setStartValue(1.0);
  211. anim->setEndValue(0.0);
  212. anim->start();
  213. //delete(this->text);
  214. game->scene->removeItem(SquaresList::squares[array[z]]->text);
  215. SquaresList::squares[array[z]]->setValue(qrand() % 6);
  216.  
  217. QGraphicsTextItem *text = new QGraphicsTextItem(QString::number(SquaresList::squares[array[z]]->getValue()), SquaresList::squares[array[z]]);
  218. SquaresList::squares[array[z]]->text = text;
  219. int xPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().width()/2;
  220. int yPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().height()/2;
  221. text->setPos(xPos,yPos);
  222.  
  223. anim->setDuration(1000);
  224. anim->setStartValue(0.0);
  225. anim->setEndValue(1.0);
  226. anim->start();
  227.  
  228.  
  229. }
  230. qInfo() << "=================";
  231. memset(array, -1, sizeof(array));
  232. cnt = 0;
  233. //i = -1; krece iz pocekta, ili 0 ili -1, kada zaista puknu
  234. }
  235. else { //nema dovoljno u nizu a dosli do kraja, samo praznimo niz nista se ne desava
  236. memset(array, -1, sizeof(array));
  237. cnt = 0;
  238. }
  239.  
  240. } else { //razlika izmedju dva vise nije 1
  241. if (cnt >= 3) {
  242. //pucaju svi iz niza
  243. //praznimo niz
  244. for(int z=0; z<cnt; z++){
  245. qInfo() << "PUCAJ" << array[z];
  246. QGraphicsOpacityEffect *mEffect = new QGraphicsOpacityEffect();
  247. mEffect->setOpacity(1.0);
  248. SquaresList::squares[array[z]]->setGraphicsEffect(mEffect);
  249. QPropertyAnimation *anim = new QPropertyAnimation(mEffect, "opacity");
  250. anim->setDuration(1000);
  251. anim->setStartValue(1.0);
  252. anim->setEndValue(0.0);
  253. anim->start();
  254. //delete(this->text);
  255. game->scene->removeItem(SquaresList::squares[array[z]]->text);
  256. SquaresList::squares[array[z]]->setValue(qrand() % 6);
  257.  
  258. QGraphicsTextItem *text = new QGraphicsTextItem(QString::number(SquaresList::squares[array[z]]->getValue()), SquaresList::squares[array[z]]);
  259. SquaresList::squares[array[z]]->text = text;
  260. int xPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().width()/2;
  261. int yPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().height()/2;
  262. text->setPos(xPos,yPos);
  263.  
  264. anim->setDuration(1000);
  265. anim->setStartValue(0.0);
  266. anim->setEndValue(1.0);
  267. anim->start();
  268.  
  269.  
  270. }
  271. qInfo() << "=================";
  272. memset(array, -1, sizeof(array));
  273. cnt = 0;
  274. //i = -1; kada zaista puknu
  275. } else {
  276. //praznimo niz
  277. memset(array, -1, sizeof(array));
  278. cnt = 0;
  279. }
  280.  
  281. }
  282. }
  283. //========================= vertikalno -1 ===============================
  284. memset(array, -1, sizeof(array));
  285. cnt = 0;
  286. for (int i=0;i<SquaresList::squares.length();i++){
  287. j=i+1;
  288. k=i;
  289. cnt = 0;
  290. array[cnt++]=k;
  291. while (j <= (i+5-(i%5)-1) && SquaresList::squares[j]->getValue() - SquaresList::squares[k]->getValue() == -1){
  292. array[cnt++]=j;
  293. j=j+1;
  294. k=k+1;
  295. }
  296. if (j > (i+5-(i%5)-1)){ //dosli smo do dole do kraja
  297. if (cnt >= 3){ //da li ima dovoljno za pucanje
  298. //pucaju svi indeksi iz niza
  299. //prazni se niz
  300. for(int z=0; z<cnt; z++){
  301. qInfo() << "PUCAJ" << array[z];
  302. QGraphicsOpacityEffect *mEffect = new QGraphicsOpacityEffect();
  303. mEffect->setOpacity(1.0);
  304. SquaresList::squares[array[z]]->setGraphicsEffect(mEffect);
  305. QPropertyAnimation *anim = new QPropertyAnimation(mEffect, "opacity");
  306. anim->setDuration(1000);
  307. anim->setStartValue(1.0);
  308. anim->setEndValue(0.0);
  309. anim->start();
  310. //delete(this->text);
  311. game->scene->removeItem(SquaresList::squares[array[z]]->text);
  312. SquaresList::squares[array[z]]->setValue(qrand() % 6);
  313.  
  314. QGraphicsTextItem *text = new QGraphicsTextItem(QString::number(SquaresList::squares[array[z]]->getValue()), SquaresList::squares[array[z]]);
  315. SquaresList::squares[array[z]]->text = text;
  316. int xPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().width()/2;
  317. int yPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().height()/2;
  318. text->setPos(xPos,yPos);
  319.  
  320. anim->setDuration(1000);
  321. anim->setStartValue(0.0);
  322. anim->setEndValue(1.0);
  323. anim->start();
  324.  
  325.  
  326. }
  327. qInfo() << "=================";
  328. memset(array, -1, sizeof(array));
  329. cnt = 0;
  330. //i = -1; krece iz pocekta, ili 0 ili -1, kada zaista puknu
  331. }
  332. else { //nema dovoljno u nizu a dosli do kraja, samo praznimo niz nista se ne desava
  333. memset(array, -1, sizeof(array));
  334. cnt = 0;
  335. }
  336.  
  337. } else { //razlika izmedju dva vise nije 1
  338. if (cnt >= 3) {
  339. //pucaju svi iz niza
  340. //praznimo niz
  341. for(int z=0; z<cnt; z++){
  342. qInfo() << "PUCAJ" << array[z];
  343. QGraphicsOpacityEffect *mEffect = new QGraphicsOpacityEffect();
  344. mEffect->setOpacity(1.0);
  345. SquaresList::squares[array[z]]->setGraphicsEffect(mEffect);
  346. QPropertyAnimation *anim = new QPropertyAnimation(mEffect, "opacity");
  347. anim->setDuration(1000);
  348. anim->setStartValue(1.0);
  349. anim->setEndValue(0.0);
  350. anim->start();
  351. //delete(this->text);
  352. game->scene->removeItem(SquaresList::squares[array[z]]->text);
  353. SquaresList::squares[array[z]]->setValue(qrand() % 6);
  354.  
  355. QGraphicsTextItem *text = new QGraphicsTextItem(QString::number(SquaresList::squares[array[z]]->getValue()), SquaresList::squares[array[z]]);
  356. SquaresList::squares[array[z]]->text = text;
  357. int xPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().width()/2;
  358. int yPos = 50 - SquaresList::squares[array[z]]->text->boundingRect().height()/2;
  359. text->setPos(xPos,yPos);
  360.  
  361. anim->setDuration(1000);
  362. anim->setStartValue(0.0);
  363. anim->setEndValue(1.0);
  364. anim->start();
  365.  
  366.  
  367. }
  368. qInfo() << "=================";
  369. memset(array, -1, sizeof(array));
  370. cnt = 0;
  371. //i = -1; kada zaista puknu
  372. } else {
  373. //praznimo niz
  374. memset(array, -1, sizeof(array));
  375. cnt = 0;
  376. }
  377.  
  378. }
  379. }
  380. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement