Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.63 KB | None | 0 0
  1. /*
  2. author: S. M. Shahriar Nirjon
  3. last modified: August 8, 2008
  4. */
  5. # include "iGraphics.h"
  6. #include<stdio.h>
  7.  
  8. int i,j,k,t,p,x;
  9. double fireData[1000][10], enemyData[1000][11], collisionData[50][5], explosionData[50][20];
  10. double backData[140] = { 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070, 1080, 1090, 1100, 1110, 1120, 1130, 1140, 1150, 1160, 1170, 1180, 1190, 1200, 1210, 1220, 1230, 1240, 1250, 1260, 1270, 1280, 1290, 1300, 1310, 1320, 1330, 1340, 1350 };
  11. double xco = 50, yco = 300;
  12. double monitorX = 1360, monitorY = monitorX*0.51;
  13. int direction = 1;
  14. double heliX = 500, heliY = 500, targetX=500, targetY=200, heliShotX, heliShotY, add;
  15. int flag = 0;
  16. int score = 0;
  17. char a[1000];
  18. int counted = 0;
  19. int s;
  20. int v;
  21. int lines = 2;
  22.  
  23. FILE *fp;
  24. //double x = 50, y = 50, a = 100, b = 100, x1, yh1, a1, b1;
  25.  
  26. char str[100], str2[100];
  27. int len;
  28. int mode;
  29.  
  30. void drawTextBox()
  31. {
  32. iSetColor(150, 150, 150);
  33. iRectangle(50, 250, 250, 30);
  34. }
  35.  
  36. void backgroundMove()
  37. {
  38. for (i = 0; i < 136; i++)
  39. {
  40. backData[i] -= 10;
  41. if (backData[i] < 0)
  42. backData[i] = 1350;
  43. }
  44.  
  45. }
  46.  
  47. void explosionActivate(double x, double y)
  48. {
  49. for (i = 0; i < 50; i++)
  50. {
  51. if (explosionData[i][0] != 1)
  52. {
  53. //printf("explosion Activated\n");
  54. explosionData[i][0] = 1;
  55. explosionData[i][1] = x;
  56. explosionData[i][2] = y;
  57. explosionData[i][3] = 1;
  58. break;
  59. }
  60. }
  61. }
  62.  
  63. void explosionPlay()
  64. {
  65. for (i = 0; i < 50; i++)
  66. {
  67. if (explosionData[i][0] == 1)
  68. {
  69. for (j = 3; j < 16; j++)
  70. {
  71. if (explosionData[i][j] == 1)
  72. {
  73. explosionData[i][j] = 0;
  74. explosionData[i][j + 1] = 1;
  75. //printf("explosion play incrementing\n");
  76. break;
  77. }
  78. }
  79. if (j == 16)
  80. explosionData[i][0] = 0;
  81. }
  82. }
  83. }
  84.  
  85. void fireActivate(int mx,int my)
  86. {
  87. for (i = 0; i < 1000; i++)
  88. {
  89. if (fireData[i][0] != 1)
  90. {
  91. heliShotX = heliX + 50;
  92. heliShotY = heliY + 15;
  93. fireData[i][0] = 1;
  94. fireData[i][1] = 25 / (sqrt(1 + ((my - heliShotY) / (mx - heliShotX))*((my - heliShotY) / (mx - heliShotX))));
  95. fireData[i][6] = (25 * ((my - heliShotY) / (mx - heliShotX))) / (sqrt(1 + ((my - heliShotY) / (mx - heliShotX))*((my - heliShotY) / (mx - heliShotX))));
  96. fireData[i][2] = heliShotX;
  97. fireData[i][3] = heliShotY;
  98. if (mx<heliShotX && my>heliShotY)
  99. {
  100. fireData[i][4] = heliShotX - fireData[i][1];
  101. fireData[i][5] = heliShotY - fireData[i][6];
  102. fireData[i][7] = 2;
  103. }
  104. else if (mx < heliShotX&&my < heliShotY)
  105. {
  106. fireData[i][4] = heliShotX - fireData[i][1];
  107. fireData[i][5] = heliShotY - fireData[i][6];
  108. fireData[i][7] = 3;
  109. }
  110. else if (mx > heliShotX && my < heliShotY)
  111. {
  112. fireData[i][4] = heliShotX + fireData[i][1];
  113. fireData[i][5] = heliShotY + fireData[i][6];
  114. fireData[i][7] = 4;
  115. }
  116. else
  117. {
  118. fireData[i][4] = heliShotX + fireData[i][1];
  119. fireData[i][5] = heliShotY + fireData[i][6];
  120. fireData[i][7] = 1;
  121. }
  122. break;
  123. }
  124. }
  125. }
  126.  
  127. void fireMove()
  128. {
  129. for (i = 0; i < 1000; i++)
  130. {
  131. if (fireData[i][0] == 1)
  132. {
  133. if (fireData[i][7] == 1)
  134. {
  135. fireData[i][2] += fireData[i][1];
  136. fireData[i][3] += fireData[i][6];
  137. fireData[i][4] += fireData[i][1];
  138. fireData[i][5] += fireData[i][6];
  139. }
  140. else if (fireData[i][7] == 2)
  141. {
  142. fireData[i][2] -= fireData[i][1];
  143. fireData[i][3] -= fireData[i][6];
  144. fireData[i][4] -= fireData[i][1];
  145. fireData[i][5] -= fireData[i][6];
  146. }
  147. else if (fireData[i][7] == 3)
  148. {
  149. fireData[i][2] -= fireData[i][1];
  150. fireData[i][3] -= fireData[i][6];
  151. fireData[i][4] -= fireData[i][1];
  152. fireData[i][5] -= fireData[i][6];
  153. }
  154. else
  155. {
  156. fireData[i][2] += fireData[i][1];
  157. fireData[i][3] += fireData[i][6];
  158. fireData[i][4] += fireData[i][1];
  159. fireData[i][5] += fireData[i][6];
  160. }
  161.  
  162. }
  163. if (fireData[i][2]>monitorX || fireData[i][3] > monitorY)
  164. {
  165. fireData[i][0] = 0;
  166. }
  167. }
  168. }
  169.  
  170. void enemyActivate()
  171. {
  172. for (i = 0; i < 1000; i++)
  173. {
  174. if (enemyData[i][0] != 1)
  175. {
  176. enemyData[i][0] = 1;
  177. enemyData[i][1] = monitorX;
  178. enemyData[i][2] = rand() % (int)monitorY;
  179. enemyData[i][10] = 1;
  180. // printf("%f\n", enemyData[i][2]);
  181. break;
  182. }
  183. }
  184. }
  185.  
  186. void enemyMove()
  187. {
  188. iShowBMP(100, 100, "heli.bmp");
  189. for (i = 0; i < 100; i++)
  190. {
  191. if (enemyData[i][0] == 1)
  192. {
  193. enemyData[i][1] -= 15;
  194. }
  195. if (enemyData[i][1] < 0)
  196. enemyData[i][0] = 0;
  197. }
  198. }
  199.  
  200.  
  201. void collision()
  202. {
  203. for (i = 0; i < 100; i++)
  204. {
  205. if (fireData[i][0] == 1)
  206. {
  207. for (j = 0; j < 100; j++)
  208. {
  209. if (enemyData[j][0] == 1)
  210. {
  211. if (abs((fireData[i][2] + 5) - (enemyData[j][1] + 25)) < 15 && abs((fireData[i][3] + 5) - (enemyData[j][2] + 15)) < 15)
  212. {
  213. fireData[i][0] = 0;
  214. enemyData[j][0] = 0;
  215. for (k = 0; k < 50; k++)
  216. {
  217. if (collisionData[k][0] != 1)
  218. {
  219. collisionData[k][0] = 1;
  220. collisionData[k][1] = enemyData[j][1];
  221. collisionData[k][2] = enemyData[j][2];
  222. score++;
  223. //printf("collisionData assigned!!\n");
  224. explosionActivate(collisionData[k][1], collisionData[k][2]);
  225.  
  226. break;
  227. }
  228. }
  229. /*
  230. iShowBMP(enemyData[j][1], enemyData[j][2], "heli.bmp");
  231. iShowBMP(enemyData[j][1], enemyData[j][2], "explosion1_0006.bmp");
  232. iShowBMP(enemyData[j][1], enemyData[j][2], "explosion1_0009.bmp");
  233. //iShowBMP(enemyData[j][1], enemyData[j][2], "explosion1_00012.bmp");
  234. //iShowBMP(enemyData[j][1], enemyData[j][2], "explosion1_00015.bmp");
  235. */
  236. }
  237. }
  238. }
  239. }
  240. }
  241. }
  242. struct player{
  243. char name[100];
  244. int point;
  245. };
  246. struct player pl[1000];
  247.  
  248. void input(){
  249. errno_t err;
  250. err = fopen_s(&fp, "abcd.txt", "a");
  251.  
  252. if (fp != NULL){
  253. printf("file created");
  254. //gets(pl[i].name);
  255. }
  256. else{
  257. printf("error occured");
  258. }
  259. fclose(fp);/*
  260. }
  261.  
  262.  
  263. /*
  264. function iDraw() is called again and again by the system.
  265. */
  266. }
  267.  
  268.  
  269.  
  270. void output(){
  271. errno_t err;
  272. err = fopen_s(&fp, "abcd.txt", "r");
  273. if (fp != NULL){
  274.  
  275.  
  276. for (v = 0; v<lines; i++)
  277. {
  278. fscanf(fp, "%s%d", pl[i].name, &pl[v].point);
  279. printf("%s %d ", pl[i].name, pl[v].point);
  280. fscanf(fp, "\n");
  281. printf("\n");
  282.  
  283. }
  284.  
  285. }
  286. fclose(fp);
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293. }
  294.  
  295. void scoreProp(){
  296.  
  297. int tempu;
  298. tempu= score;
  299. fopen_s(&fp, "abcd.txt", "a");
  300. fprintf(fp,"\t");
  301. fprintf(fp,"%d", tempu);
  302. fprintf(fp, "\n");
  303. fclose(fp);
  304.  
  305.  
  306. }
  307.  
  308. void iDraw()
  309. {
  310. //place your drawing codes here
  311.  
  312. //iClear();
  313. //iSetColor(255, 0, 0);
  314. if (flag == 0){
  315.  
  316. iClear();
  317.  
  318. //iSetColor(255, 0, 0);
  319.  
  320. iSetColor(14, 155, 201);
  321. iFilledRectangle(600, 400, 200, 50);
  322. iSetColor(255, 255, 255);
  323. iText(650, 415, "Play Game", GLUT_BITMAP_TIMES_ROMAN_24);
  324. iSetColor(14, 155, 201);
  325. iFilledRectangle(600, 330, 200, 50);
  326. iSetColor(255, 255, 255);
  327. iText(650, 345, "Score", GLUT_BITMAP_TIMES_ROMAN_24);
  328.  
  329. iSetColor(14, 155, 201);
  330. iFilledRectangle(600, 260, 200, 50);
  331. iSetColor(255, 255, 255);
  332. iText(650, 275, "Instruction", GLUT_BITMAP_TIMES_ROMAN_24);
  333.  
  334. }
  335. if (flag == 1){
  336. //iClear();
  337. //iSetColor(255, 0, 0);
  338. iShowBMP(heliX, heliY, "heli.bmp");
  339. iShowBMP(backData[0], 0, "back_01.bmp");
  340. iShowBMP(backData[1], 0, "back_02.bmp");
  341. iShowBMP(backData[2], 0, "back_03.bmp");
  342. iShowBMP(backData[3], 0, "back_04.bmp");
  343. iShowBMP(backData[4], 0, "back_05.bmp");
  344. iShowBMP(backData[5], 0, "back_06.bmp");
  345. iShowBMP(backData[6], 0, "back_07.bmp");
  346. iShowBMP(backData[7], 0, "back_08.bmp");
  347. iShowBMP(backData[8], 0, "back_09.bmp");
  348. iShowBMP(backData[9], 0, "back_10.bmp");
  349. iShowBMP(backData[10], 0, "back_11.bmp");
  350. iShowBMP(backData[11], 0, "back_12.bmp");
  351. iShowBMP(backData[12], 0, "back_13.bmp");
  352. iShowBMP(backData[13], 0, "back_14.bmp");
  353. iShowBMP(backData[14], 0, "back_15.bmp");
  354. iShowBMP(backData[15], 0, "back_16.bmp");
  355. iShowBMP(backData[16], 0, "back_17.bmp");
  356. iShowBMP(backData[17], 0, "back_18.bmp");
  357. iShowBMP(backData[18], 0, "back_19.bmp");
  358. iShowBMP(backData[19], 0, "back_20.bmp");
  359. iShowBMP(backData[20], 0, "back_21.bmp");
  360. iShowBMP(backData[21], 0, "back_22.bmp");
  361. iShowBMP(backData[22], 0, "back_23.bmp");
  362. iShowBMP(backData[23], 0, "back_24.bmp");
  363. iShowBMP(backData[24], 0, "back_25.bmp");
  364. iShowBMP(backData[25], 0, "back_26.bmp");
  365. iShowBMP(backData[26], 0, "back_27.bmp");
  366. iShowBMP(backData[27], 0, "back_28.bmp");
  367. iShowBMP(backData[28], 0, "back_29.bmp");
  368. iShowBMP(backData[29], 0, "back_30.bmp");
  369. iShowBMP(backData[30], 0, "back_31.bmp");
  370. iShowBMP(backData[31], 0, "back_32.bmp");
  371. iShowBMP(backData[32], 0, "back_33.bmp");
  372. iShowBMP(backData[33], 0, "back_34.bmp");
  373. iShowBMP(backData[34], 0, "back_35.bmp");
  374. iShowBMP(backData[35], 0, "back_36.bmp");
  375. iShowBMP(backData[36], 0, "back_37.bmp");
  376. iShowBMP(backData[37], 0, "back_38.bmp");
  377. iShowBMP(backData[38], 0, "back_39.bmp");
  378. iShowBMP(backData[39], 0, "back_40.bmp");
  379. iShowBMP(backData[40], 0, "back_41.bmp");
  380. iShowBMP(backData[41], 0, "back_42.bmp");
  381. iShowBMP(backData[42], 0, "back_43.bmp");
  382. iShowBMP(backData[43], 0, "back_44.bmp");
  383. iShowBMP(backData[44], 0, "back_45.bmp");
  384. iShowBMP(backData[45], 0, "back_46.bmp");
  385. iShowBMP(backData[46], 0, "back_47.bmp");
  386. iShowBMP(backData[47], 0, "back_48.bmp");
  387. iShowBMP(backData[48], 0, "back_49.bmp");
  388. iShowBMP(backData[49], 0, "back_50.bmp");
  389. iShowBMP(backData[50], 0, "back_51.bmp");
  390. iShowBMP(backData[51], 0, "back_52.bmp");
  391. iShowBMP(backData[52], 0, "back_53.bmp");
  392. iShowBMP(backData[53], 0, "back_54.bmp");
  393. iShowBMP(backData[54], 0, "back_55.bmp");
  394. iShowBMP(backData[55], 0, "back_56.bmp");
  395. iShowBMP(backData[56], 0, "back_57.bmp");
  396. iShowBMP(backData[57], 0, "back_58.bmp");
  397. iShowBMP(backData[58], 0, "back_59.bmp");
  398. iShowBMP(backData[59], 0, "back_60.bmp");
  399. iShowBMP(backData[60], 0, "back_61.bmp");
  400. iShowBMP(backData[61], 0, "back_62.bmp");
  401. iShowBMP(backData[62], 0, "back_63.bmp");
  402. iShowBMP(backData[63], 0, "back_64.bmp");
  403. iShowBMP(backData[64], 0, "back_65.bmp");
  404. iShowBMP(backData[65], 0, "back_66.bmp");
  405. iShowBMP(backData[66], 0, "back_67.bmp");
  406. iShowBMP(backData[67], 0, "back_68.bmp");
  407. iShowBMP(backData[68], 0, "back_69.bmp");
  408. iShowBMP(backData[69], 0, "back_70.bmp");
  409. iShowBMP(backData[70], 0, "back_71.bmp");
  410. iShowBMP(backData[71], 0, "back_72.bmp");
  411. iShowBMP(backData[72], 0, "back_73.bmp");
  412. iShowBMP(backData[73], 0, "back_74.bmp");
  413. iShowBMP(backData[74], 0, "back_75.bmp");
  414. iShowBMP(backData[75], 0, "back_76.bmp");
  415. iShowBMP(backData[76], 0, "back_77.bmp");
  416. iShowBMP(backData[77], 0, "back_78.bmp");
  417. iShowBMP(backData[78], 0, "back_79.bmp");
  418. iShowBMP(backData[79], 0, "back_80.bmp");
  419. iShowBMP(backData[80], 0, "back_81.bmp");
  420. iShowBMP(backData[81], 0, "back_82.bmp");
  421. iShowBMP(backData[82], 0, "back_83.bmp");
  422. iShowBMP(backData[83], 0, "back_84.bmp");
  423. iShowBMP(backData[84], 0, "back_85.bmp");
  424. iShowBMP(backData[85], 0, "back_86.bmp");
  425. iShowBMP(backData[86], 0, "back_87.bmp");
  426. iShowBMP(backData[87], 0, "back_88.bmp");
  427. iShowBMP(backData[88], 0, "back_89.bmp");
  428. iShowBMP(backData[89], 0, "back_90.bmp");
  429. iShowBMP(backData[90], 0, "back_91.bmp");
  430. iShowBMP(backData[91], 0, "back_92.bmp");
  431. iShowBMP(backData[92], 0, "back_93.bmp");
  432. iShowBMP(backData[93], 0, "back_94.bmp");
  433. iShowBMP(backData[94], 0, "back_95.bmp");
  434. iShowBMP(backData[95], 0, "back_96.bmp");
  435. iShowBMP(backData[96], 0, "back_97.bmp");
  436. iShowBMP(backData[97], 0, "back_98.bmp");
  437. iShowBMP(backData[98], 0, "back_99.bmp");
  438. iShowBMP(backData[99], 0, "back_100.bmp");
  439. iShowBMP(backData[100], 0, "back_101.bmp");
  440. iShowBMP(backData[101], 0, "back_102.bmp");
  441. iShowBMP(backData[102], 0, "back_103.bmp");
  442. iShowBMP(backData[103], 0, "back_104.bmp");
  443. iShowBMP(backData[104], 0, "back_105.bmp");
  444. iShowBMP(backData[105], 0, "back_106.bmp");
  445. iShowBMP(backData[106], 0, "back_107.bmp");
  446. iShowBMP(backData[107], 0, "back_108.bmp");
  447. iShowBMP(backData[108], 0, "back_109.bmp");
  448. iShowBMP(backData[109], 0, "back_110.bmp");
  449. iShowBMP(backData[110], 0, "back_111.bmp");
  450. iShowBMP(backData[111], 0, "back_112.bmp");
  451. iShowBMP(backData[112], 0, "back_113.bmp");
  452. iShowBMP(backData[113], 0, "back_114.bmp");
  453. iShowBMP(backData[114], 0, "back_115.bmp");
  454. iShowBMP(backData[115], 0, "back_116.bmp");
  455. iShowBMP(backData[116], 0, "back_117.bmp");
  456. iShowBMP(backData[117], 0, "back_118.bmp");
  457. iShowBMP(backData[118], 0, "back_119.bmp");
  458. iShowBMP(backData[119], 0, "back_120.bmp");
  459. iShowBMP(backData[120], 0, "back_121.bmp");
  460. iShowBMP(backData[121], 0, "back_122.bmp");
  461. iShowBMP(backData[122], 0, "back_123.bmp");
  462. iShowBMP(backData[123], 0, "back_124.bmp");
  463. iShowBMP(backData[124], 0, "back_125.bmp");
  464. iShowBMP(backData[125], 0, "back_126.bmp");
  465. iShowBMP(backData[126], 0, "back_127.bmp");
  466. iShowBMP(backData[127], 0, "back_128.bmp");
  467. iShowBMP(backData[128], 0, "back_129.bmp");
  468. iShowBMP(backData[129], 0, "back_130.bmp");
  469. iShowBMP(backData[130], 0, "back_131.bmp");
  470. iShowBMP(backData[131], 0, "back_132.bmp");
  471. iShowBMP(backData[132], 0, "back_133.bmp");
  472. iShowBMP(backData[133], 0, "back_134.bmp");
  473. iShowBMP(backData[134], 0, "back_135.bmp");
  474. iShowBMP(backData[135], 0, "back_136.bmp");
  475.  
  476.  
  477. //iText(100, 100, str, GLUT_BITMAP_TIMES_ROMAN_10);
  478. iShowBMP2(heliX, heliY, "heli.bmp", 255);
  479.  
  480. if (x == 1)
  481. {
  482. iShowBMP2((heliX + 158) - 57, (heliY + 66), "heli_prop (1).bmp", 255);
  483. x = 2;
  484. }
  485. else if (x == 2)
  486. {
  487. iShowBMP2((heliX + 158) - 71, (heliY + 66), "heli_prop (2).bmp", 255);
  488. x = 3;
  489. }
  490. else
  491. {
  492. iShowBMP2((heliX + 158) - 80, (heliY + 66), "heli_prop (3).bmp", 255);
  493. x = 1;
  494. }
  495.  
  496.  
  497.  
  498.  
  499. for (i = 0; i < 1000; i++)
  500. {
  501. if (fireData[i][0] == 1)
  502. {
  503. //iLine(a[i][2], a[i][3], a[i][4], a[i][5]);
  504. iSetColor(255, 150, 0);
  505. iFilledCircle(fireData[i][2], fireData[i][3], 5);
  506. //iShowBMP2(fireData[i][2], fireData[i][3], "fire.bmp", 255);
  507.  
  508. }
  509. }
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517. for (i = 0; i < 100; i++)
  518. {
  519. if (enemyData[i][0] == 1)
  520. {
  521. iSetColor(0, 250, 200);
  522. //iFilledRectangle(enemyData[i][1], enemyData[i][2], 50, 30);
  523. iShowBMP2(enemyData[i][1], enemyData[i][2], "enemy.bmp", 255);
  524. if (enemyData[i][10] == 1)
  525. {
  526. iShowBMP2((enemyData[i][1] + 72) - 57, (enemyData[i][2] + 41), "enemy_prop_1.bmp", 255);
  527. enemyData[i][10] = 2;
  528. }
  529. else if (enemyData[i][10] == 2)
  530. {
  531. iShowBMP2((enemyData[i][1] + 72) - 71, (enemyData[i][2] + 41), "enemy_prop_2.bmp", 255);
  532. enemyData[i][10] = 3;
  533. }
  534. else
  535. {
  536. iShowBMP2((enemyData[i][1] + 72) - 80, (enemyData[i][2] + 41) - 1, "enemy_prop_3.bmp", 255);
  537. enemyData[i][10] = 1;
  538. }
  539. }
  540. }
  541.  
  542. for (i = 0; i < 50; i++)
  543. {
  544.  
  545. if (explosionData[i][0] == 1)
  546. {
  547. if (explosionData[i][3] == 1)
  548. {
  549. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0003.bmp", 255);
  550. printf("inside explosion data check\n");
  551. }
  552. else if (explosionData[i][4] == 1)
  553. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0006.bmp", 255);
  554.  
  555. else if (explosionData[i][5] == 1)
  556. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0009.bmp", 255);
  557.  
  558. else if (explosionData[i][6] == 1)
  559. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0012.bmp", 255);
  560.  
  561. else if (explosionData[i][7] == 1)
  562. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0015.bmp", 255);
  563. /*
  564. else if (explosionData[i][8] == 1)
  565. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0022.bmp", 255);
  566.  
  567. else if (explosionData[i][9] == 1)
  568. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0033.bmp", 255);
  569.  
  570. else if (explosionData[i][10] == 1)
  571. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0045.bmp", 255);
  572.  
  573. else if (explosionData[i][11] == 1)
  574. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0056.bmp", 255);
  575.  
  576. else if (explosionData[i][12] == 1)
  577. iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0073.bmp", 255); */
  578.  
  579. }
  580. }
  581.  
  582.  
  583. //iText(xco, yco, "Aminur Rahman", GLUT_BITMAP_8_BY_13);
  584. //iLine(10,10,100,100);
  585. iSetColor(28,214,205);
  586. iText(1080, 650, "SCORE: ", GLUT_BITMAP_TIMES_ROMAN_24);
  587. sprintf_s(a, "%d", score);
  588. iText(1200, 650, a, GLUT_BITMAP_TIMES_ROMAN_24);
  589.  
  590.  
  591. }
  592. if (flag == 4){
  593. iClear();
  594.  
  595. drawTextBox();
  596. if (mode == 1)
  597. {
  598. iSetColor(255, 255, 255);
  599. iText(55, 260, str);
  600. }
  601.  
  602. iText(10, 10, "Click to activate the box, enter to finish.");
  603. }
  604. if (flag == 5){
  605. //int tempu[1000];
  606. //tempu[0] = score;
  607.  
  608. iClear();
  609.  
  610.  
  611. iSetColor(28, 214, 205);
  612. iText(580, 350, "SCORE: ", GLUT_BITMAP_TIMES_ROMAN_24);
  613. sprintf_s(a, "%d", score);
  614. iText(690, 350, a, GLUT_BITMAP_TIMES_ROMAN_24);
  615. if (counted==0){
  616. scoreProp();
  617. counted++;
  618. }
  619.  
  620. //int num = atoi(a);
  621. //fopen_s(&fp, "pasar.txt", "a");
  622. //fprintf(fp, "\t");
  623. //fprintf(fp, "%d", num);
  624.  
  625. //fprintf(fp, "%d", tempu[0]);
  626. //fclose(fp);
  627.  
  628. }
  629.  
  630.  
  631. }
  632.  
  633.  
  634.  
  635. /*
  636. function iMouseMove() is called when the user presses and drags the mouse.
  637. (mx, my) is the position where the mouse pointer is.
  638. */
  639. void iMouseMove(int mx, int my)
  640. {
  641. fireActivate(mx, my);
  642. //place your codes here
  643. }
  644.  
  645.  
  646. /*
  647. function iMouse() is called when the user presses/releases the mouse.
  648. (mx, my) is the position where the mouse pointer is.
  649. */
  650. void iMouse(int button, int state, int mx, int my)
  651. {
  652. if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
  653. {
  654. //printf("left button clicked at %d and %d\n", mx, my);
  655. //place your codes here
  656. fireActivate(mx, my);
  657. if ((mx >= 600 && mx <=800)&& (my>=400 && my<=450)){
  658. flag = 1;
  659. }
  660. if (mx >= 50 && mx <= 300 && my >= 250 && my <= 280 && mode == 0)
  661. {
  662. mode = 1;
  663. }
  664.  
  665.  
  666. }
  667. if (button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN)
  668. {
  669.  
  670. // printf("Right button clicked at %d and %d\n", mx, my);
  671. //place your codes here
  672. }
  673. }
  674. /*iPassiveMouseMove is called to detect and use
  675. the mouse point without pressing any button */
  676.  
  677. void iPassiveMouseMove(int mx, int my)
  678. {
  679. //place your code here
  680. //fireActivate(mx, my);
  681.  
  682. //xco = mx;
  683. //yco = my;
  684. //if(mx== 2){} /*Something to do with mx*/
  685. //else if(my== 2){} /*Something to do with my*/
  686.  
  687. }
  688.  
  689. /*
  690. function iKeyboard() is called whenever the user hits a key in keyboard.
  691. key- holds the ASCII value of the key pressed.
  692. */
  693. void iKeyboard(unsigned char key)
  694. {
  695. if (key == 'w')
  696. {
  697. //do something with 'w'
  698. if (heliY < monitorY-30)
  699. heliY += 5;
  700. }
  701. else if (key == 'd')
  702. {
  703. if (heliX < monitorX-50)
  704. heliX += 15;
  705. }
  706. else if (key == 'a')
  707. {
  708. if (heliX > 0)
  709. heliX -= 15;
  710. }
  711. else if (key == 's')
  712. {
  713. if (heliY > 0)
  714. heliY -= 5;
  715. }
  716. //place your codes for other keys here
  717.  
  718. int r;
  719. if (mode == 1)
  720. {
  721. if (key == '\r')
  722. {
  723. mode = 0;
  724. strcpy_s(str2, str);
  725.  
  726. fopen_s(&fp, "abcd.txt", "a");
  727.  
  728. fprintf(fp, "%s", str2);
  729. printf("\n%s\n", str2);
  730.  
  731. for (r = 0; r < len; r++)
  732. str[r] = 0;
  733.  
  734. len = 0;
  735. //fprintf(fp, "%s", str2);
  736. fclose(fp);
  737. }
  738. else
  739. {
  740. str[len] = key;
  741. len++;
  742. }
  743. }
  744. }
  745.  
  746. /*
  747. function iSpecialKeyboard() is called whenver user hits special keys like-
  748. function keys, home, end, pg up, pg down, arraows etc. you have to use
  749. appropriate constants to detect them. A list is:
  750. GLUT_KEY_F1, GLUT_KEY_F2, GLUT_KEY_F3, GLUT_KEY_F4, GLUT_KEY_F5, GLUT_KEY_F6,
  751. GLUT_KEY_F7, GLUT_KEY_F8, GLUT_KEY_F9, GLUT_KEY_F10, GLUT_KEY_F11, GLUT_KEY_F12,
  752. GLUT_KEY_LEFT, GLUT_KEY_UP, GLUT_KEY_RIGHT, GLUT_KEY_DOWN, GLUT_KEY_PAGE UP,
  753. GLUT_KEY_PAGE DOWN, GLUT_KEY_HOME, GLUT_KEY_END, GLUT_KEY_INSERT
  754. */
  755. void iSpecialKeyboard(unsigned char key)
  756. {
  757.  
  758. if (key == GLUT_KEY_END)
  759. {
  760. flag = 5;
  761.  
  762. //exit(0);
  763. }
  764.  
  765. if (key == GLUT_KEY_F1){
  766. flag = 4;
  767. }
  768. //place your codes for other keys here
  769. }
  770.  
  771.  
  772.  
  773.  
  774. int main()
  775. {
  776. //place your own initialization codes here.
  777.  
  778. input();
  779. output();
  780. len = 0;
  781. mode = 0;
  782. str[0] = 0;
  783.  
  784.  
  785. iSetTimer(100, backgroundMove);
  786. iSetTimer(1, fireMove);
  787. iSetTimer(3000, enemyActivate);
  788. iSetTimer(100, enemyMove);
  789. iSetTimer(0, collision);
  790. iSetTimer(70, explosionPlay);
  791. iInitialize(monitorX, monitorY, "Software Developemnt-I");
  792. iDraw();
  793. //iClear();
  794.  
  795. return 0;
  796. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement