Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- author: S. M. Shahriar Nirjon
- last modified: August 8, 2008
- */
- # include "iGraphics.h"
- #include<stdio.h>
- int i,j,k,t,p,x;
- double fireData[1000][10], enemyData[1000][11], collisionData[50][5], explosionData[50][20];
- 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 };
- double xco = 50, yco = 300;
- double monitorX = 1360, monitorY = monitorX*0.51;
- int direction = 1;
- double heliX = 500, heliY = 500, targetX=500, targetY=200, heliShotX, heliShotY, add;
- int flag = 0;
- int score = 0;
- char a[1000];
- int counted = 0;
- int s;
- int v;
- int lines = 2;
- FILE *fp;
- //double x = 50, y = 50, a = 100, b = 100, x1, yh1, a1, b1;
- char str[100], str2[100];
- int len;
- int mode;
- void drawTextBox()
- {
- iSetColor(150, 150, 150);
- iRectangle(50, 250, 250, 30);
- }
- void backgroundMove()
- {
- for (i = 0; i < 136; i++)
- {
- backData[i] -= 10;
- if (backData[i] < 0)
- backData[i] = 1350;
- }
- }
- void explosionActivate(double x, double y)
- {
- for (i = 0; i < 50; i++)
- {
- if (explosionData[i][0] != 1)
- {
- //printf("explosion Activated\n");
- explosionData[i][0] = 1;
- explosionData[i][1] = x;
- explosionData[i][2] = y;
- explosionData[i][3] = 1;
- break;
- }
- }
- }
- void explosionPlay()
- {
- for (i = 0; i < 50; i++)
- {
- if (explosionData[i][0] == 1)
- {
- for (j = 3; j < 16; j++)
- {
- if (explosionData[i][j] == 1)
- {
- explosionData[i][j] = 0;
- explosionData[i][j + 1] = 1;
- //printf("explosion play incrementing\n");
- break;
- }
- }
- if (j == 16)
- explosionData[i][0] = 0;
- }
- }
- }
- void fireActivate(int mx,int my)
- {
- for (i = 0; i < 1000; i++)
- {
- if (fireData[i][0] != 1)
- {
- heliShotX = heliX + 50;
- heliShotY = heliY + 15;
- fireData[i][0] = 1;
- fireData[i][1] = 25 / (sqrt(1 + ((my - heliShotY) / (mx - heliShotX))*((my - heliShotY) / (mx - heliShotX))));
- fireData[i][6] = (25 * ((my - heliShotY) / (mx - heliShotX))) / (sqrt(1 + ((my - heliShotY) / (mx - heliShotX))*((my - heliShotY) / (mx - heliShotX))));
- fireData[i][2] = heliShotX;
- fireData[i][3] = heliShotY;
- if (mx<heliShotX && my>heliShotY)
- {
- fireData[i][4] = heliShotX - fireData[i][1];
- fireData[i][5] = heliShotY - fireData[i][6];
- fireData[i][7] = 2;
- }
- else if (mx < heliShotX&&my < heliShotY)
- {
- fireData[i][4] = heliShotX - fireData[i][1];
- fireData[i][5] = heliShotY - fireData[i][6];
- fireData[i][7] = 3;
- }
- else if (mx > heliShotX && my < heliShotY)
- {
- fireData[i][4] = heliShotX + fireData[i][1];
- fireData[i][5] = heliShotY + fireData[i][6];
- fireData[i][7] = 4;
- }
- else
- {
- fireData[i][4] = heliShotX + fireData[i][1];
- fireData[i][5] = heliShotY + fireData[i][6];
- fireData[i][7] = 1;
- }
- break;
- }
- }
- }
- void fireMove()
- {
- for (i = 0; i < 1000; i++)
- {
- if (fireData[i][0] == 1)
- {
- if (fireData[i][7] == 1)
- {
- fireData[i][2] += fireData[i][1];
- fireData[i][3] += fireData[i][6];
- fireData[i][4] += fireData[i][1];
- fireData[i][5] += fireData[i][6];
- }
- else if (fireData[i][7] == 2)
- {
- fireData[i][2] -= fireData[i][1];
- fireData[i][3] -= fireData[i][6];
- fireData[i][4] -= fireData[i][1];
- fireData[i][5] -= fireData[i][6];
- }
- else if (fireData[i][7] == 3)
- {
- fireData[i][2] -= fireData[i][1];
- fireData[i][3] -= fireData[i][6];
- fireData[i][4] -= fireData[i][1];
- fireData[i][5] -= fireData[i][6];
- }
- else
- {
- fireData[i][2] += fireData[i][1];
- fireData[i][3] += fireData[i][6];
- fireData[i][4] += fireData[i][1];
- fireData[i][5] += fireData[i][6];
- }
- }
- if (fireData[i][2]>monitorX || fireData[i][3] > monitorY)
- {
- fireData[i][0] = 0;
- }
- }
- }
- void enemyActivate()
- {
- for (i = 0; i < 1000; i++)
- {
- if (enemyData[i][0] != 1)
- {
- enemyData[i][0] = 1;
- enemyData[i][1] = monitorX;
- enemyData[i][2] = rand() % (int)monitorY;
- enemyData[i][10] = 1;
- // printf("%f\n", enemyData[i][2]);
- break;
- }
- }
- }
- void enemyMove()
- {
- iShowBMP(100, 100, "heli.bmp");
- for (i = 0; i < 100; i++)
- {
- if (enemyData[i][0] == 1)
- {
- enemyData[i][1] -= 15;
- }
- if (enemyData[i][1] < 0)
- enemyData[i][0] = 0;
- }
- }
- void collision()
- {
- for (i = 0; i < 100; i++)
- {
- if (fireData[i][0] == 1)
- {
- for (j = 0; j < 100; j++)
- {
- if (enemyData[j][0] == 1)
- {
- if (abs((fireData[i][2] + 5) - (enemyData[j][1] + 25)) < 15 && abs((fireData[i][3] + 5) - (enemyData[j][2] + 15)) < 15)
- {
- fireData[i][0] = 0;
- enemyData[j][0] = 0;
- for (k = 0; k < 50; k++)
- {
- if (collisionData[k][0] != 1)
- {
- collisionData[k][0] = 1;
- collisionData[k][1] = enemyData[j][1];
- collisionData[k][2] = enemyData[j][2];
- score++;
- //printf("collisionData assigned!!\n");
- explosionActivate(collisionData[k][1], collisionData[k][2]);
- break;
- }
- }
- /*
- iShowBMP(enemyData[j][1], enemyData[j][2], "heli.bmp");
- iShowBMP(enemyData[j][1], enemyData[j][2], "explosion1_0006.bmp");
- iShowBMP(enemyData[j][1], enemyData[j][2], "explosion1_0009.bmp");
- //iShowBMP(enemyData[j][1], enemyData[j][2], "explosion1_00012.bmp");
- //iShowBMP(enemyData[j][1], enemyData[j][2], "explosion1_00015.bmp");
- */
- }
- }
- }
- }
- }
- }
- struct player{
- char name[100];
- int point;
- };
- struct player pl[1000];
- void input(){
- errno_t err;
- err = fopen_s(&fp, "abcd.txt", "a");
- if (fp != NULL){
- printf("file created");
- //gets(pl[i].name);
- }
- else{
- printf("error occured");
- }
- fclose(fp);/*
- }
- /*
- function iDraw() is called again and again by the system.
- */
- }
- void output(){
- errno_t err;
- err = fopen_s(&fp, "abcd.txt", "r");
- if (fp != NULL){
- for (v = 0; v<lines; i++)
- {
- fscanf(fp, "%s%d", pl[i].name, &pl[v].point);
- printf("%s %d ", pl[i].name, pl[v].point);
- fscanf(fp, "\n");
- printf("\n");
- }
- }
- fclose(fp);
- }
- void scoreProp(){
- int tempu;
- tempu= score;
- fopen_s(&fp, "abcd.txt", "a");
- fprintf(fp,"\t");
- fprintf(fp,"%d", tempu);
- fprintf(fp, "\n");
- fclose(fp);
- }
- void iDraw()
- {
- //place your drawing codes here
- //iClear();
- //iSetColor(255, 0, 0);
- if (flag == 0){
- iClear();
- //iSetColor(255, 0, 0);
- iSetColor(14, 155, 201);
- iFilledRectangle(600, 400, 200, 50);
- iSetColor(255, 255, 255);
- iText(650, 415, "Play Game", GLUT_BITMAP_TIMES_ROMAN_24);
- iSetColor(14, 155, 201);
- iFilledRectangle(600, 330, 200, 50);
- iSetColor(255, 255, 255);
- iText(650, 345, "Score", GLUT_BITMAP_TIMES_ROMAN_24);
- iSetColor(14, 155, 201);
- iFilledRectangle(600, 260, 200, 50);
- iSetColor(255, 255, 255);
- iText(650, 275, "Instruction", GLUT_BITMAP_TIMES_ROMAN_24);
- }
- if (flag == 1){
- //iClear();
- //iSetColor(255, 0, 0);
- iShowBMP(heliX, heliY, "heli.bmp");
- iShowBMP(backData[0], 0, "back_01.bmp");
- iShowBMP(backData[1], 0, "back_02.bmp");
- iShowBMP(backData[2], 0, "back_03.bmp");
- iShowBMP(backData[3], 0, "back_04.bmp");
- iShowBMP(backData[4], 0, "back_05.bmp");
- iShowBMP(backData[5], 0, "back_06.bmp");
- iShowBMP(backData[6], 0, "back_07.bmp");
- iShowBMP(backData[7], 0, "back_08.bmp");
- iShowBMP(backData[8], 0, "back_09.bmp");
- iShowBMP(backData[9], 0, "back_10.bmp");
- iShowBMP(backData[10], 0, "back_11.bmp");
- iShowBMP(backData[11], 0, "back_12.bmp");
- iShowBMP(backData[12], 0, "back_13.bmp");
- iShowBMP(backData[13], 0, "back_14.bmp");
- iShowBMP(backData[14], 0, "back_15.bmp");
- iShowBMP(backData[15], 0, "back_16.bmp");
- iShowBMP(backData[16], 0, "back_17.bmp");
- iShowBMP(backData[17], 0, "back_18.bmp");
- iShowBMP(backData[18], 0, "back_19.bmp");
- iShowBMP(backData[19], 0, "back_20.bmp");
- iShowBMP(backData[20], 0, "back_21.bmp");
- iShowBMP(backData[21], 0, "back_22.bmp");
- iShowBMP(backData[22], 0, "back_23.bmp");
- iShowBMP(backData[23], 0, "back_24.bmp");
- iShowBMP(backData[24], 0, "back_25.bmp");
- iShowBMP(backData[25], 0, "back_26.bmp");
- iShowBMP(backData[26], 0, "back_27.bmp");
- iShowBMP(backData[27], 0, "back_28.bmp");
- iShowBMP(backData[28], 0, "back_29.bmp");
- iShowBMP(backData[29], 0, "back_30.bmp");
- iShowBMP(backData[30], 0, "back_31.bmp");
- iShowBMP(backData[31], 0, "back_32.bmp");
- iShowBMP(backData[32], 0, "back_33.bmp");
- iShowBMP(backData[33], 0, "back_34.bmp");
- iShowBMP(backData[34], 0, "back_35.bmp");
- iShowBMP(backData[35], 0, "back_36.bmp");
- iShowBMP(backData[36], 0, "back_37.bmp");
- iShowBMP(backData[37], 0, "back_38.bmp");
- iShowBMP(backData[38], 0, "back_39.bmp");
- iShowBMP(backData[39], 0, "back_40.bmp");
- iShowBMP(backData[40], 0, "back_41.bmp");
- iShowBMP(backData[41], 0, "back_42.bmp");
- iShowBMP(backData[42], 0, "back_43.bmp");
- iShowBMP(backData[43], 0, "back_44.bmp");
- iShowBMP(backData[44], 0, "back_45.bmp");
- iShowBMP(backData[45], 0, "back_46.bmp");
- iShowBMP(backData[46], 0, "back_47.bmp");
- iShowBMP(backData[47], 0, "back_48.bmp");
- iShowBMP(backData[48], 0, "back_49.bmp");
- iShowBMP(backData[49], 0, "back_50.bmp");
- iShowBMP(backData[50], 0, "back_51.bmp");
- iShowBMP(backData[51], 0, "back_52.bmp");
- iShowBMP(backData[52], 0, "back_53.bmp");
- iShowBMP(backData[53], 0, "back_54.bmp");
- iShowBMP(backData[54], 0, "back_55.bmp");
- iShowBMP(backData[55], 0, "back_56.bmp");
- iShowBMP(backData[56], 0, "back_57.bmp");
- iShowBMP(backData[57], 0, "back_58.bmp");
- iShowBMP(backData[58], 0, "back_59.bmp");
- iShowBMP(backData[59], 0, "back_60.bmp");
- iShowBMP(backData[60], 0, "back_61.bmp");
- iShowBMP(backData[61], 0, "back_62.bmp");
- iShowBMP(backData[62], 0, "back_63.bmp");
- iShowBMP(backData[63], 0, "back_64.bmp");
- iShowBMP(backData[64], 0, "back_65.bmp");
- iShowBMP(backData[65], 0, "back_66.bmp");
- iShowBMP(backData[66], 0, "back_67.bmp");
- iShowBMP(backData[67], 0, "back_68.bmp");
- iShowBMP(backData[68], 0, "back_69.bmp");
- iShowBMP(backData[69], 0, "back_70.bmp");
- iShowBMP(backData[70], 0, "back_71.bmp");
- iShowBMP(backData[71], 0, "back_72.bmp");
- iShowBMP(backData[72], 0, "back_73.bmp");
- iShowBMP(backData[73], 0, "back_74.bmp");
- iShowBMP(backData[74], 0, "back_75.bmp");
- iShowBMP(backData[75], 0, "back_76.bmp");
- iShowBMP(backData[76], 0, "back_77.bmp");
- iShowBMP(backData[77], 0, "back_78.bmp");
- iShowBMP(backData[78], 0, "back_79.bmp");
- iShowBMP(backData[79], 0, "back_80.bmp");
- iShowBMP(backData[80], 0, "back_81.bmp");
- iShowBMP(backData[81], 0, "back_82.bmp");
- iShowBMP(backData[82], 0, "back_83.bmp");
- iShowBMP(backData[83], 0, "back_84.bmp");
- iShowBMP(backData[84], 0, "back_85.bmp");
- iShowBMP(backData[85], 0, "back_86.bmp");
- iShowBMP(backData[86], 0, "back_87.bmp");
- iShowBMP(backData[87], 0, "back_88.bmp");
- iShowBMP(backData[88], 0, "back_89.bmp");
- iShowBMP(backData[89], 0, "back_90.bmp");
- iShowBMP(backData[90], 0, "back_91.bmp");
- iShowBMP(backData[91], 0, "back_92.bmp");
- iShowBMP(backData[92], 0, "back_93.bmp");
- iShowBMP(backData[93], 0, "back_94.bmp");
- iShowBMP(backData[94], 0, "back_95.bmp");
- iShowBMP(backData[95], 0, "back_96.bmp");
- iShowBMP(backData[96], 0, "back_97.bmp");
- iShowBMP(backData[97], 0, "back_98.bmp");
- iShowBMP(backData[98], 0, "back_99.bmp");
- iShowBMP(backData[99], 0, "back_100.bmp");
- iShowBMP(backData[100], 0, "back_101.bmp");
- iShowBMP(backData[101], 0, "back_102.bmp");
- iShowBMP(backData[102], 0, "back_103.bmp");
- iShowBMP(backData[103], 0, "back_104.bmp");
- iShowBMP(backData[104], 0, "back_105.bmp");
- iShowBMP(backData[105], 0, "back_106.bmp");
- iShowBMP(backData[106], 0, "back_107.bmp");
- iShowBMP(backData[107], 0, "back_108.bmp");
- iShowBMP(backData[108], 0, "back_109.bmp");
- iShowBMP(backData[109], 0, "back_110.bmp");
- iShowBMP(backData[110], 0, "back_111.bmp");
- iShowBMP(backData[111], 0, "back_112.bmp");
- iShowBMP(backData[112], 0, "back_113.bmp");
- iShowBMP(backData[113], 0, "back_114.bmp");
- iShowBMP(backData[114], 0, "back_115.bmp");
- iShowBMP(backData[115], 0, "back_116.bmp");
- iShowBMP(backData[116], 0, "back_117.bmp");
- iShowBMP(backData[117], 0, "back_118.bmp");
- iShowBMP(backData[118], 0, "back_119.bmp");
- iShowBMP(backData[119], 0, "back_120.bmp");
- iShowBMP(backData[120], 0, "back_121.bmp");
- iShowBMP(backData[121], 0, "back_122.bmp");
- iShowBMP(backData[122], 0, "back_123.bmp");
- iShowBMP(backData[123], 0, "back_124.bmp");
- iShowBMP(backData[124], 0, "back_125.bmp");
- iShowBMP(backData[125], 0, "back_126.bmp");
- iShowBMP(backData[126], 0, "back_127.bmp");
- iShowBMP(backData[127], 0, "back_128.bmp");
- iShowBMP(backData[128], 0, "back_129.bmp");
- iShowBMP(backData[129], 0, "back_130.bmp");
- iShowBMP(backData[130], 0, "back_131.bmp");
- iShowBMP(backData[131], 0, "back_132.bmp");
- iShowBMP(backData[132], 0, "back_133.bmp");
- iShowBMP(backData[133], 0, "back_134.bmp");
- iShowBMP(backData[134], 0, "back_135.bmp");
- iShowBMP(backData[135], 0, "back_136.bmp");
- //iText(100, 100, str, GLUT_BITMAP_TIMES_ROMAN_10);
- iShowBMP2(heliX, heliY, "heli.bmp", 255);
- if (x == 1)
- {
- iShowBMP2((heliX + 158) - 57, (heliY + 66), "heli_prop (1).bmp", 255);
- x = 2;
- }
- else if (x == 2)
- {
- iShowBMP2((heliX + 158) - 71, (heliY + 66), "heli_prop (2).bmp", 255);
- x = 3;
- }
- else
- {
- iShowBMP2((heliX + 158) - 80, (heliY + 66), "heli_prop (3).bmp", 255);
- x = 1;
- }
- for (i = 0; i < 1000; i++)
- {
- if (fireData[i][0] == 1)
- {
- //iLine(a[i][2], a[i][3], a[i][4], a[i][5]);
- iSetColor(255, 150, 0);
- iFilledCircle(fireData[i][2], fireData[i][3], 5);
- //iShowBMP2(fireData[i][2], fireData[i][3], "fire.bmp", 255);
- }
- }
- for (i = 0; i < 100; i++)
- {
- if (enemyData[i][0] == 1)
- {
- iSetColor(0, 250, 200);
- //iFilledRectangle(enemyData[i][1], enemyData[i][2], 50, 30);
- iShowBMP2(enemyData[i][1], enemyData[i][2], "enemy.bmp", 255);
- if (enemyData[i][10] == 1)
- {
- iShowBMP2((enemyData[i][1] + 72) - 57, (enemyData[i][2] + 41), "enemy_prop_1.bmp", 255);
- enemyData[i][10] = 2;
- }
- else if (enemyData[i][10] == 2)
- {
- iShowBMP2((enemyData[i][1] + 72) - 71, (enemyData[i][2] + 41), "enemy_prop_2.bmp", 255);
- enemyData[i][10] = 3;
- }
- else
- {
- iShowBMP2((enemyData[i][1] + 72) - 80, (enemyData[i][2] + 41) - 1, "enemy_prop_3.bmp", 255);
- enemyData[i][10] = 1;
- }
- }
- }
- for (i = 0; i < 50; i++)
- {
- if (explosionData[i][0] == 1)
- {
- if (explosionData[i][3] == 1)
- {
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0003.bmp", 255);
- printf("inside explosion data check\n");
- }
- else if (explosionData[i][4] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0006.bmp", 255);
- else if (explosionData[i][5] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0009.bmp", 255);
- else if (explosionData[i][6] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0012.bmp", 255);
- else if (explosionData[i][7] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0015.bmp", 255);
- /*
- else if (explosionData[i][8] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0022.bmp", 255);
- else if (explosionData[i][9] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0033.bmp", 255);
- else if (explosionData[i][10] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0045.bmp", 255);
- else if (explosionData[i][11] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0056.bmp", 255);
- else if (explosionData[i][12] == 1)
- iShowBMP2(explosionData[i][1], explosionData[i][2], "explosion1_0073.bmp", 255); */
- }
- }
- //iText(xco, yco, "Aminur Rahman", GLUT_BITMAP_8_BY_13);
- //iLine(10,10,100,100);
- iSetColor(28,214,205);
- iText(1080, 650, "SCORE: ", GLUT_BITMAP_TIMES_ROMAN_24);
- sprintf_s(a, "%d", score);
- iText(1200, 650, a, GLUT_BITMAP_TIMES_ROMAN_24);
- }
- if (flag == 4){
- iClear();
- drawTextBox();
- if (mode == 1)
- {
- iSetColor(255, 255, 255);
- iText(55, 260, str);
- }
- iText(10, 10, "Click to activate the box, enter to finish.");
- }
- if (flag == 5){
- //int tempu[1000];
- //tempu[0] = score;
- iClear();
- iSetColor(28, 214, 205);
- iText(580, 350, "SCORE: ", GLUT_BITMAP_TIMES_ROMAN_24);
- sprintf_s(a, "%d", score);
- iText(690, 350, a, GLUT_BITMAP_TIMES_ROMAN_24);
- if (counted==0){
- scoreProp();
- counted++;
- }
- //int num = atoi(a);
- //fopen_s(&fp, "pasar.txt", "a");
- //fprintf(fp, "\t");
- //fprintf(fp, "%d", num);
- //fprintf(fp, "%d", tempu[0]);
- //fclose(fp);
- }
- }
- /*
- function iMouseMove() is called when the user presses and drags the mouse.
- (mx, my) is the position where the mouse pointer is.
- */
- void iMouseMove(int mx, int my)
- {
- fireActivate(mx, my);
- //place your codes here
- }
- /*
- function iMouse() is called when the user presses/releases the mouse.
- (mx, my) is the position where the mouse pointer is.
- */
- void iMouse(int button, int state, int mx, int my)
- {
- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN)
- {
- //printf("left button clicked at %d and %d\n", mx, my);
- //place your codes here
- fireActivate(mx, my);
- if ((mx >= 600 && mx <=800)&& (my>=400 && my<=450)){
- flag = 1;
- }
- if (mx >= 50 && mx <= 300 && my >= 250 && my <= 280 && mode == 0)
- {
- mode = 1;
- }
- }
- if (button == GLUT_RIGHT_BUTTON && state == GLUT_DOWN)
- {
- // printf("Right button clicked at %d and %d\n", mx, my);
- //place your codes here
- }
- }
- /*iPassiveMouseMove is called to detect and use
- the mouse point without pressing any button */
- void iPassiveMouseMove(int mx, int my)
- {
- //place your code here
- //fireActivate(mx, my);
- //xco = mx;
- //yco = my;
- //if(mx== 2){} /*Something to do with mx*/
- //else if(my== 2){} /*Something to do with my*/
- }
- /*
- function iKeyboard() is called whenever the user hits a key in keyboard.
- key- holds the ASCII value of the key pressed.
- */
- void iKeyboard(unsigned char key)
- {
- if (key == 'w')
- {
- //do something with 'w'
- if (heliY < monitorY-30)
- heliY += 5;
- }
- else if (key == 'd')
- {
- if (heliX < monitorX-50)
- heliX += 15;
- }
- else if (key == 'a')
- {
- if (heliX > 0)
- heliX -= 15;
- }
- else if (key == 's')
- {
- if (heliY > 0)
- heliY -= 5;
- }
- //place your codes for other keys here
- int r;
- if (mode == 1)
- {
- if (key == '\r')
- {
- mode = 0;
- strcpy_s(str2, str);
- fopen_s(&fp, "abcd.txt", "a");
- fprintf(fp, "%s", str2);
- printf("\n%s\n", str2);
- for (r = 0; r < len; r++)
- str[r] = 0;
- len = 0;
- //fprintf(fp, "%s", str2);
- fclose(fp);
- }
- else
- {
- str[len] = key;
- len++;
- }
- }
- }
- /*
- function iSpecialKeyboard() is called whenver user hits special keys like-
- function keys, home, end, pg up, pg down, arraows etc. you have to use
- appropriate constants to detect them. A list is:
- GLUT_KEY_F1, GLUT_KEY_F2, GLUT_KEY_F3, GLUT_KEY_F4, GLUT_KEY_F5, GLUT_KEY_F6,
- GLUT_KEY_F7, GLUT_KEY_F8, GLUT_KEY_F9, GLUT_KEY_F10, GLUT_KEY_F11, GLUT_KEY_F12,
- GLUT_KEY_LEFT, GLUT_KEY_UP, GLUT_KEY_RIGHT, GLUT_KEY_DOWN, GLUT_KEY_PAGE UP,
- GLUT_KEY_PAGE DOWN, GLUT_KEY_HOME, GLUT_KEY_END, GLUT_KEY_INSERT
- */
- void iSpecialKeyboard(unsigned char key)
- {
- if (key == GLUT_KEY_END)
- {
- flag = 5;
- //exit(0);
- }
- if (key == GLUT_KEY_F1){
- flag = 4;
- }
- //place your codes for other keys here
- }
- int main()
- {
- //place your own initialization codes here.
- input();
- output();
- len = 0;
- mode = 0;
- str[0] = 0;
- iSetTimer(100, backgroundMove);
- iSetTimer(1, fireMove);
- iSetTimer(3000, enemyActivate);
- iSetTimer(100, enemyMove);
- iSetTimer(0, collision);
- iSetTimer(70, explosionPlay);
- iInitialize(monitorX, monitorY, "Software Developemnt-I");
- iDraw();
- //iClear();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement