Advertisement
Kenthris

Untitled

Apr 30th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.79 KB | None | 0 0
  1. //declare sum
  2. //player 0 is down, 1 is left, 2 is up, 3 if right
  3. //make extra checks for bottom line and far right column
  4. //cut the following code from line 94
  5. /*
  6. else{
  7. metab=possible[i-1][j];
  8. possible[i-1][j]=possible[i][j];
  9. possible[i][j]=metab;
  10. i=i+1;
  11. }
  12. */
  13. int path*;
  14. int posflag=1;
  15. path=(int*)malloc(players*sizeof(int));
  16. for(i=0;i<players;i++){
  17. path[i]=sumi*sumj;
  18. }
  19.  
  20.  
  21.  
  22. do{
  23. for(i=0;i<sumi;i++){
  24. for(j=0;j<sumj;j++){
  25. possible[i][j]=array[i][j];
  26. }
  27. }
  28. do{
  29. sum=0;
  30. i=pcoord[turn][0];
  31. j=pcoord[turn][1];
  32. if(turn==0){
  33. do{
  34. if(possible[i-1][j]=='.'){
  35. sum++;
  36. obcounter=0;
  37. if(possible[i-2][j]!='.'){
  38. obcounter++;
  39. }
  40. if(possible[i-1][j-1]!='.'){
  41. obcounter++;
  42. }
  43. if(possible[i-1][i+1]!='.'){
  44. obcounter++;
  45. }
  46. if(obcounter==3){
  47. possible[i-1][j]='X';
  48. sum--;
  49. }
  50. else{
  51. metab=possible[i][j-1];
  52. possible[i][j-1]=possible[i][j];
  53. possible[i][j]=metab
  54. i=i-1;
  55. }
  56. }
  57. else if(possible[i][j-1]=='.'){
  58. sum++;
  59. obcounter=0;
  60. if(possible[i][j-2]!='.'){
  61. obcounter++;
  62. }
  63. if(possible[i-1][j-1]!='.'){
  64. obcounter++;
  65. }
  66. if(possible[i+1][j-1]!='.'){
  67. obcounter++;
  68. }
  69. if(obcounter==3){
  70. possible[i][j-1]='X';
  71. sum--;
  72. }
  73. else{
  74. metab=possible[i][j-1];
  75. possible[i][j-1]=possible[i][j];
  76. possible[i][j]=metab;
  77. j=j-1;
  78. }
  79. }
  80. else if(possible[i][j+1]=='.'){
  81. sum++;
  82. obcounter=0;
  83. if(possible[i][j+2]!='.'){
  84. obcounter++;
  85. }
  86. if(possible[i-1][j+1]!='.'){
  87. obcounter++;
  88. }
  89. if(possible[i+1][j+1]!='.'){
  90. obcounter++;
  91. }
  92. if(obcounter==3){
  93. possible[i][j+1]='X';
  94. sum--;
  95. }
  96. else{
  97. metab=possible[i][j+1];
  98. possible[i][j+1]=possible[i][j];
  99. possible[i][j]=metab;
  100. j=j+1;
  101. }
  102. }
  103. else if(possible[i+1][j]=='.'){
  104. sum++;
  105. obcounter=0;
  106. if(possible[i+2][j]!='.'){
  107. obcounter++;
  108. }
  109. if(possible[i+1][j-1]!='.'){
  110. obcounter++;
  111. }
  112. if(possible[i+1][j+1]!='.'){
  113. obcounter++;
  114. }
  115. if(obcounter==3){
  116. possible[i+1][j]='X';
  117. sum--;
  118. }
  119. else{
  120. metab=possible[i+1][j];
  121. possible[i+1][j]=possible[i][j];
  122. possible[i][j]=metab;
  123. i=i+1;//change to corresponding i
  124. }
  125. }
  126. else{
  127. posflag=0;
  128. }
  129. }while((j!=2) && (posflag!=0));//this is for the player who begins down and goes up, the condition needs to be changed, likely using pcoord
  130. path[0]=sum;
  131. turn++;
  132. }
  133. else if(turn == 1){
  134. do{
  135. if(possible[i][j+1]=='.'){
  136. sum++;
  137. obcounter=0;
  138. if(possible[i][j+2]!='.'){
  139. obcounter++;
  140. }
  141. if(possible[i-1][j+1]!='.'){
  142. obcounter++;
  143. }
  144. if(possible[i+1][j+1]!='.'){
  145. obcounter++;
  146. }
  147. if(obcounter==3){
  148. possible[i][j+1]='X';
  149. sum--;
  150. }
  151. else{
  152. metab=possible[i][j+1];
  153. possible[i][j+1]=possible[i][j];
  154. possible[i][j]=metab;
  155. j=j+1;
  156. }
  157. }
  158. else if(possible[i-1][j]=='.'){
  159. sum++;
  160. obcounter=0;
  161. if(possible[i-2][j]!='.'){
  162. obcounter++;
  163. }
  164. if(possible[i-1][j-1]!='.'){
  165. obcounter++;
  166. }
  167. if(possible[i-1][i+1]!='.'){
  168. obcounter++;
  169. }
  170. if(obcounter==3){
  171. possible[i-1][j]='X';
  172. sum--;
  173. }
  174. else{
  175. metab=possible[i][j-1];
  176. possible[i][j-1]=possible[i][j];
  177. possible[i][j]=metab
  178. i=i-1;
  179. }
  180. }
  181. else if(possible[i+1][j]=='.'){
  182. sum++;
  183. obcounter=0;
  184. if(possible[i+2][j]!='.'){
  185. obcounter++;
  186. }
  187. if(possible[i+1][j-1]!='.'){
  188. obcounter++;
  189. }
  190. if(possible[i+1][j+1]!='.'){
  191. obcounter++;
  192. }
  193. if(obcounter==3){
  194. possible[i+1][j]='X';
  195. sum--;
  196. }
  197. else{
  198. metab=possible[i+1][j];
  199. possible[i+1][j]=possible[i][j];
  200. possible[i][j]=metab;
  201. i=i+1;//change to corresponding i
  202. }
  203. }
  204. else if(possible[i][j-1]=='.'){
  205. sum++;
  206. obcounter=0;
  207. if(possible[i][j-2]!='.'){
  208. obcounter++;
  209. }
  210. if(possible[i-1][j-1]!='.'){
  211. obcounter++;
  212. }
  213. if(possible[i+1][j-1]!='.'){
  214. obcounter++;
  215. }
  216. if(obcounter==3){
  217. possible[i][j-1]='X';
  218. sum--;
  219. }
  220. else{
  221. metab=possible[i][j-1];
  222. possible[i][j-1]=possible[i][j];
  223. possible[i][j]=metab;
  224. j=j-1;
  225. }
  226. }
  227. else{
  228. posflag=0;
  229. }
  230. }while ((i!=sumi-1) && (posflag!=0));
  231. turn++;
  232. }
  233. else if(turn == 2){
  234. do{
  235. if(possible[i+1][j]=='.'){
  236. sum++;
  237. obcounter=0;
  238. if(possible[i+2][j]!='.'){
  239. obcounter++;
  240. }
  241. if(possible[i+1][j-1]!='.'){
  242. obcounter++;
  243. }
  244. if(possible[i+1][j+1]!='.'){
  245. obcounter++;
  246. }
  247. if(obcounter==3){
  248. possible[i+1][j]='X';
  249. sum--;
  250. }
  251. else{
  252. metab=possible[i+1][j];
  253. possible[i+1][j]=possible[i][j];
  254. possible[i][j]=metab;
  255. i=i+1;//change to corresponding i
  256. }
  257. }
  258. else if(possible[i-1][j]=='.'){
  259. sum++;
  260. obcounter=0;
  261. if(possible[i-2][j]!='.'){
  262. obcounter++;
  263. }
  264. if(possible[i-1][j-1]!='.'){
  265. obcounter++;
  266. }
  267. if(possible[i-1][i+1]!='.'){
  268. obcounter++;
  269. }
  270. if(obcounter==3){
  271. possible[i-1][j]='X';
  272. sum--;
  273. }
  274. else{
  275. metab=possible[i][j-1];
  276. possible[i][j-1]=possible[i][j];
  277. possible[i][j]=metab
  278. i=i-1;
  279. }
  280. }
  281. else if(possible[i][j-1]=='.'){
  282. sum++;
  283. obcounter=0;
  284. if(possible[i][j-2]!='.'){
  285. obcounter++;
  286. }
  287. if(possible[i-1][j-1]!='.'){
  288. obcounter++;
  289. }
  290. if(possible[i+1][j-1]!='.'){
  291. obcounter++;
  292. }
  293. if(obcounter==3){
  294. possible[i][j-1]='X';
  295. sum--;
  296. }
  297. else{
  298. metab=possible[i][j-1];
  299. possible[i][j-1]=possible[i][j];
  300. possible[i][j]=metab;
  301. j=j-1;
  302. }
  303. }
  304. else if(possible[i][j+1]=='.'){
  305. sum++;
  306. obcounter=0;
  307. if(possible[i][j+2]!='.'){
  308. obcounter++;
  309. }
  310. if(possible[i-1][j+1]!='.'){
  311. obcounter++;
  312. }
  313. if(possible[i+1][j+1]!='.'){
  314. obcounter++;
  315. }
  316. if(obcounter==3){
  317. possible[i][j+1]='X';
  318. sum--;
  319. }
  320. else{
  321. metab=possible[i][j+1];
  322. possible[i][j+1]=possible[i][j];
  323. possible[i][j]=metab;
  324. j=j+1;
  325. }
  326. }
  327. else{
  328. posflag=0;
  329. }
  330. }while((j!=sumj-1) && (posflag!=0));
  331. turn++;
  332. }
  333. else if(turn == 3){
  334. do{
  335. if(possible[i][j-1]=='.'){
  336. sum++;
  337. obcounter=0;
  338. if(possible[i][j-2]!='.'){
  339. obcounter++;
  340. }
  341. if(possible[i-1][j-1]!='.'){
  342. obcounter++;
  343. }
  344. if(possible[i+1][j-1]!='.'){
  345. obcounter++;
  346. }
  347. if(obcounter==3){
  348. possible[i][j-1]='X';
  349. sum--;
  350. }
  351. else{
  352. metab=possible[i][j-1];
  353. possible[i][j-1]=possible[i][j];
  354. possible[i][j]=metab;
  355. j=j-1;
  356. }
  357. }
  358. else if(possible[i][j+1]=='.'){
  359. sum++;
  360. obcounter=0;
  361. if(possible[i][j+2]!='.'){
  362. obcounter++;
  363. }
  364. if(possible[i-1][j+1]!='.'){
  365. obcounter++;
  366. }
  367. if(possible[i+1][j+1]!='.'){
  368. obcounter++;
  369. }
  370. if(obcounter==3){
  371. possible[i][j+1]='X';
  372. sum--;
  373. }
  374. else{
  375. metab=possible[i][j+1];
  376. possible[i][j+1]=possible[i][j];
  377. possible[i][j]=metab;
  378. j=j+1;
  379. }
  380. }
  381. else if(possible[i-1][j]=='.'){
  382. sum++;
  383. obcounter=0;
  384. if(possible[i-2][j]!='.'){
  385. obcounter++;
  386. }
  387. if(possible[i-1][j-1]!='.'){
  388. obcounter++;
  389. }
  390. if(possible[i-1][i+1]!='.'){
  391. obcounter++;
  392. }
  393. if(obcounter==3){
  394. possible[i-1][j]='X';
  395. sum--;
  396. }
  397. else{
  398. metab=possible[i][j-1];
  399. possible[i][j-1]=possible[i][j];
  400. possible[i][j]=metab
  401. i=i-1;
  402. }
  403. }
  404. else if(possible[i+1][j]=='.'){
  405. sum++;
  406. obcounter=0;
  407. if(possible[i+2][j]!='.'){
  408. obcounter++;
  409. }
  410. if(possible[i+1][j-1]!='.'){
  411. obcounter++;
  412. }
  413. if(possible[i+1][j+1]!='.'){
  414. obcounter++;
  415. }
  416. if(obcounter==3){
  417. possible[i+1][j]='X';
  418. sum--;
  419. }
  420. else{
  421. metab=possible[i+1][j];
  422. possible[i+1][j]=possible[i][j];
  423. possible[i][j]=metab;
  424. i=i+1;//change to corresponding i
  425. }
  426. }
  427. else{
  428. posflag=0;
  429. }
  430. }while((i!=3) && (posflag!=0));
  431. turn=0;
  432. }
  433. }while(turn!=4);//maybe different condition
  434. //repeat for turns 1, 2, and 3
  435. }while(turn!=4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement