123 Eng

Engineering the engineers™

Home
Source Codes
Engineering Colleges

Training  Reports
Seminar Reports
Placement Papers

Forums

Computer Science / IT
Electronics
Electrical
Mechanical
Chemical
Civil

CAT / MBA

GMAT / Foreign MBA
Latest Jobs

Displaying  Source Code(s)

 ARCHERY GAME -------------------------------------------------------------------------------- Description : ARCHERY GAME The Archery game is to shoot the arrows to the concentric circles in the target board. Each circle has its own points or score, for example the if the circle at center is hit by arrow will score you 60 points and other consecutive circles will score 50, 40, 30, 20 and 10 respectively. This game is done using C program. This game mainly uses the functions defined in Graphics.h. /* *************************************************************** */ /* Authors :K.Jayanth and S.Umashankar */ /* Dr.Mahalingam College of Engineering and Technology */ /* Pollachi -642003 E-mail:jayc02msc@drmcet.org */ /* ************************************************************** */ #include #include #include #include #include union REGS i,o; int f; struct arccoordstype arcinfo; int t,flag=0; int gm=0,gd=DETECT,*button,*a,*b,c,bc,j,k,jk,h,x3,y3,alh=0,s,scor=0,sp=0,e,m=2 ; main() { //initgraph(&gm,&gd," "); front(); closegraph(); //delay(10); //sta(); a: initgraph(&gd,&gm," "); flag=0; setbkcolor(0); s=-60;e=60; sound(221.38); for(f=1;f<=20;f++) { setcolor(BLUE); line(280,f+360,360,f+360); } setcolor(RED); settextstyle(SMALL_FONT,HORIZ_DIR,4); outtextxy(305,364,"SHOOT"); arrows(0); setcolor(GREEN+WHITE); rectangle(5,5,634,474); rectangle(6,6,633,473); setcolor(YELLOW); rectangle(7,7,632,472); setcolor(GREEN+WHITE); rectangle(8,8,631,471); rectangle(9,9,630,470); rectangle(10,10,629,469); setcolor(YELLOW); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2); outtextxy(530,20,"SCORE"); scor=0; score(200); m=6; equip(); arrow1(0,14); alh=0; mousereg(); while(m>1) /* while start */ { //button=0; for(j=-70;j<=70;j+=2) /* start for*/ { c=1; tar(j,c); delay(10); getmouseptr(&button,&a,&b); if(button==1) { x3=a;y3=b; if((x3>280 && x3<360 )|| (y3>361 && y3<379)) { bc=1; } } if(bc==1) { //sound(277.38); // delay(10); nosound(); arrow1(0,0); setcolor(YELLOW); line(40+sp+36,240,80+sp+36,240); line(80+sp+36,240,75+sp+36,235); line(80+sp+36,240,75+sp+36,245); line(40+sp+36,241,80+sp+36,241); line(79+sp+36,240,74+sp+36,236); line(79+sp+36,241,74+sp+36,245); line(46+sp+36,240,41+sp+36,236); line(46+sp+36,241,41+sp+36,245); line(42+sp+36,240,37+sp+36,236); line(42+sp+36,241,37+sp+36,245); delay(8); setcolor(0); line(40+sp+36,240,80+sp+36,240); line(80+sp+36,240,75+sp+36,235); line(80+sp+36,240,75+sp+36,245); line(40+sp+36,241,80+sp+36,241); line(79+sp+36,240,74+sp+36,236); line(79+sp+36,241,74+sp+36,245); line(46+sp+36,240,41+sp+36,236); line(46+sp+36,241,41+sp+36,245); line(42+sp+36,240,37+sp+36,236); line(42+sp+36,241,37+sp+36,245); if((42+sp+36)>=116 && (42+sp+36)<=136) { equip(); } sp=sp+3; } if((sp+80+36)>=579) { arrow1(0,14); score(j); bc=0; sp=0; alh++; button=0; setcolor(YELLOW); arrows(alh); m--; } // sp=sp+3; c=0; tar(j,c); } /* for end */ }/* while end */ sleep(1.5); closegraph(); gaover(); setcolor(GREEN); setcolor(1); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,4); outtextxy(255,117,"SCORE"); setcolor(14+BLUE); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,3); for(t=0;t<=360;t++) { setcolor(random(15)); ellipse(300,200,t,t+2,30,22); delay(1); setcolor(random(15)); ellipse(300,200,t,t+2,35,25); } setcolor(GREEN); select(scor,-250,133); for(t=0;t<=50;t++) { setcolor(14); line(40+t,230,40+t,250); line(560+t,230,560+t,250); } settextstyle(SMALL_FONT,HORIZ_DIR,4); setcolor(BLUE); outtextxy(45,235,"Continue"); outtextxy(575,235,"Quit"); restrictmouseptr(0,80,640,440); flag=0; while(flag==0) { showmouseptr(); getmouseptr(&button,&a,&b); if(button==1) { x3=a;y3=b; if((x3>41 && x3<79 )&& (y3>231 && y3<249)) { flag=1; //break; } else if((x3>=561 && x3<=599 )&& (y3>=231 && y3<=249)) { flag=2; //break; } } } if(flag==1) goto a; else {if(flag==2) {initgraph(&gd,&gm,""); finalwindow(); closegraph(); goto b;}} // next(); b: getch(); }//ending of main function /* sub function target starting*/ arrow1(int sp,int col) { setcolor(col); //sound(277.38); line(40+sp+36,240,80+sp+36,240); line(80+sp+36,240,75+sp+36,235); line(80+sp+36,240,75+sp+36,245); line(40+sp+36,241,80+sp+36,241); line(79+sp+36,240,74+sp+36,236); line(79+sp+36,241,74+sp+36,245); line(46+sp+36,240,41+sp+36,236); line(46+sp+36,241,41+sp+36,245); line(42+sp+36,240,37+sp+36,236); line(42+sp+36,241,37+sp+36,245); nosound(); } tar(j,c) { setcolor(c*4); ellipse(579,240+j,0,360,40,90); setcolor(c*3); ellipse(579,240+j,0,360,33,75); setcolor(c*5); ellipse(579,240+j,0,360,26,60); setcolor(c*9); ellipse(579,240+j,0,360,19,45); setcolor(c*8); ellipse(579,240+j,0,360,12,30); setcolor(c*10); ellipse(579,240+j,0,360,5,15); } initmouse() { i.x.ax=0; int86(0x33,&i,&o); return(o.x.ax); } showmouseptr() { i.x.ax=1; int86(0x33,&i,&o); } restrictmouseptr(int x1,int y1,int x2,int y2) { i.x.ax=7; i.x.cx=x1; i.x.dx=x2; int86(0x33,&i,&o); i.x.ax=8; i.x.cx=y1; i.x.dx=y2; int86(0x33,&i,&o); } getmouseptr(int *button,int *a,int *b) { i.x.ax=3; int86(0x33,&i,&o); *button=o.x.bx; *a=o.x.cx; *b=o.x.dx; } mousereg() { int x1,x2,y1,y2,ce,k; initmouse(); showmouseptr(); restrictmouseptr(281,361,359,379); } arrows(alh) { int z=0,r; r=5-alh; setcolor(YELLOW); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2); outtextxy(30,20,"ARROWS REMAINING"); for(f=r,z=0;f>0;f--) { line(40,60+z*10,80,60+z*10); line(80,60+z*10,75,55+z*10); line(80,60+z*10,75,65+z*10); z=z+1; } for(f=alh,z=0;f>0;f--) { setcolor(0); line(40,60+z*10,80,60+z*10); line(80,60+z*10,75,55+z*10); line(80,60+z*10,75,65+z*10); z=z+1; } } score (int j) { if( (j>=-90 && j<=-74) || (j>=74 && j<=90)) scor=scor+10; else if((j>=-72 && j<=-60) || (j>=60 && j<=72)) scor=scor+20; else if((j>=-58 && j<=-42) || (j>=42 && j<=58)) scor=scor+30; else if((j>=-40 && j<=-32) || (j>=32 && j<=40)) scor=scor+40; else if((j>=-30 && j<=-18) || (j>=18 && j<=30)) scor=scor+50; else if((j>=-16 && j<=0) || (j>=0 && j<=16)) scor=scor+60; else if (j == 300) scor=0; for(jk=50;jk<=120;jk++) {setcolor(0); line(530,jk,620,jk); } setcolor(YELLOW); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2); select(scor,0,0); } front1() { int gm=0,gd=DETECT,i,j,k,jk,gh; initgraph(&gd,&gm," "); setcolor(MAGENTA); rectangle(10,10,639,469); rectangle(12,12,637,467); for(i=12;i<=627;i+=12) { setcolor(YELLOW); line(i,12,i,467); //clearviewport(); for(j=15;j<=464;j+=5) ellipse(i+6,j,-180,0,6,4); } for(i=3;i<=452;i+=5) { for(j=15;j<=627;j+=3) {setcolor(0); ellipse(j,467-i,-180,0,3,4); }delay(40); setcolor(BLACK); for(k=1;k<=5;k++) { line(12,467-i+k,637,467-i+k); } //setcolor(25); setcolor(GREEN+MAGENTA+WHITE+BLUE+YELLOW); rectangle(10,10,639,469); rectangle(12,12,637,467); } setcolor(2); rectangle(290,370,350,380); rectangle(292,372,348,378); gh=292; //gh<=388; for(j=1;j<=56;j+=1) { /* for(i=24;i<=627;i+=12) {setcolor(i); circle(i,23,3); delay(1); } */ jk=20; for(i=24;i<=627;i+=12) {setcolor(random(15)); circle(i,23,3); sound(440+jk); delay(10); nosound(); setcolor(YELLOW); rectangle(gh,372,gh,378); //rectangle(282,362,358,388);} jk+=40; if(jk>=880) { jk=440;} } gh=gh+1; nosound(); } sleep(.1); closegraph(); } equip() { int kl=2; int midx, midy,i,j,k,y=90,c; // int stangle = 45, endangle = 270; c=y/2; for(c=50;c<=52;c+=1) { setcolor(kl); line(26+c,170,26+c,310); } for(c=50;c<=54;c+=1) { setcolor(kl); line(60+c,222,60+c,255); } for(c=180;c<=270;c++) { // arc(80,92,c,c+1,20); setcolor(0); arc(86,166,c,c+1,10); getarccoords(&arcinfo); setcolor(kl); circle(arcinfo.xend, arcinfo.yend,2); } for(c=-50;c<=110;c++) { // arc(80,92,c,c+1,20); setcolor(0); arc(96,201,c,c+1,28); getarccoords(&arcinfo); setcolor(kl); circle(arcinfo.xend, arcinfo.yend,2); } for(c=50,i=4;c>=-110;c--) { // arc(80,92,c,c+1,20); setcolor(0); line(127,170,127,315); line(126,170,126,315); arc(96,278,c,c+1,28); getarccoords(&arcinfo); setcolor(kl); i=i+2; if(i>14) {i=2;} circle(arcinfo.xend,arcinfo.yend,2); } for(c=90;c<=180;c++) { // arc(80,92,c,c+1,20); setcolor(0); arc(86,314,c,c+1,10); getarccoords(&arcinfo); setcolor(kl); circle(arcinfo.xend, arcinfo.yend,2); //setcolor(2); } } sta() { int x,y=200,i,st,kl; //initgraph(&gd,&gm,""); setcolor(5); for(st=190,i=2;st>=-20;st-=9,i+=3) { setcolor(GREEN); arc(320,290,st,st+2,190); getarccoords(&arcinfo); delay(5); x=arcinfo.xend; y=arcinfo.yend; sound(300-st); star(x,y); delay(24); } for(st=190,i=2;st>=-17;st-=9,i+=3) { setcolor(YELLOW); arc(320,285,st,st+2,230); getarccoords(&arcinfo); delay(5); x=arcinfo.xend; y=arcinfo.yend; sound(320-st); star(x,y); delay(24); } nosound(); settextstyle(TRIPLEX_FONT,HORIZ_DIR,3); for(i=140;i>=20;i-=10) { setcolor(8); delay(13); ya(i); delay(13); setcolor(4); r(i); delay(13); setcolor(2); e1(i); delay(13); h1(i); delay(13); c1(i); delay(13); r1(i); delay(13); a1(i); delay(13); /*line(320,240,325,233); // /1 line(325,233,330,240); // 1 line(330,240,337,240); // right hori line(320,240,313,240); //left hori line(313,240,318,247); // left horiz to right line(337,240,332,247); // right horiz to left / line(332,247,334,253); // left / to right line(318,247,316,253); // right to left / line(316,253,325,247); line(334,253,325,247);*/ // getch(); } } ya(int i) { if(i==120) { delay(1); setcolor(4); // delay(800); outtextxy(300+i,230,"Y"); }setcolor(14); delay(1); outtextxy(420,230,"Y"); //440 } r(int i) { if(i==90) { setcolor(2); delay(1); outtextxy(300+i,230,"R"); }setcolor(14); delay(1); outtextxy(390,230,"R"); // 420 } e1(int i) { if(i==60) { setcolor(2); delay(1); outtextxy(300+i,230,"E"); }setcolor(14); delay(1); outtextxy(360,230,"E"); //400 } h1(int i) { if(i==30) { setcolor(2); delay(1); outtextxy(300+i,230,"H"); }setcolor(14); delay(1); outtextxy(330,230,"H"); //380 } c1(int i) { if(i==60) { setcolor(2); delay(1); outtextxy(300+i-i,230,"C"); }setcolor(14); delay(1); outtextxy(300,230,"C"); //360 } r1(int i) { if(i==40) { setcolor(2); delay(1); outtextxy(300+i-70,230,"R"); }setcolor(14); delay(1); outtextxy(270,230,"R"); // 340 } a1(int i) { if(i==20) { setcolor(2); delay(1); outtextxy(300+i-80,230,"A"); }setcolor(14); delay(1); outtextxy(240,230,"A"); //320 } star(x,y) { delay(80); line(x,y,x+5,y-7); // /1 x=320, y=240 line(x+5,y-7,x+10,y); // 1 line(x+10,y,x+17,y); // right hori line(x,y,x-7,y); //left hori line(x-7,y,x-2,y+7); // left horiz to right line(x+17,y,x+12,y+7); // right horiz to left / line(x+12,y+7,x+14,y+13); // left / to right line(x-2,y+7,x-4,y+13); // right to left / line(x-4,y+13,x+5,y+7); line(x+14,y+13,x+5,y+7); } front() { int gm=0,gd=DETECT,i,j,k,jk,gh; initgraph(&gd,&gm," "); setcolor(MAGENTA); rectangle(10,10,639,469); rectangle(12,12,637,467); for(i=12;i<=627;i+=12) { setcolor(YELLOW); line(i,12,i,467); //clearviewport(); for(j=15;j<=464;j+=5) ellipse(i+6,j,-180,0,6,4); } for(i=3;i<=452;i+=5) { for(j=15;j<=627;j+=3) {setcolor(0); ellipse(j,467-i,-180,0,3,4); }delay(40); setcolor(BLACK); for(k=1;k<=5;k++) { line(12,467-i+k,637,467-i+k); } //setcolor(25); setcolor(GREEN+MAGENTA+WHITE+BLUE+YELLOW); rectangle(10,10,639,469); rectangle(12,12,637,467); } setcolor(2); rectangle(290,370,350,380); rectangle(292,372,348,378); gh=292; //gh<=388; for(j=1;j<=56;j+=1) { /* for(i=24;i<=627;i+=12) {setcolor(i); circle(i,23,3); delay(1); } */ jk=20; for(i=24;i<=627;i+=12) {setcolor(random(15)); circle(i,23,3); sound(200-i); delay(1); nosound(); setcolor(YELLOW); rectangle(gh,372,gh,378); //rectangle(282,362,358,388);} jk+=40; if(jk>=880) { jk=440;} } gh=gh+1; nosound(); } //printf("sdfs"); sta(); sleep(.1); //closegraph(); } gaover() { int gm=0,gd=DETECT,i,j; initgraph(&gd,&gm," "); for(i=1;i<=51;i+=4) { setcolor(i); sound(400-i); outtextxy(260,340,"GAME OVER"); if(i==49) { setcolor(YELLOW); outtextxy(260,340,"GAME OVER"); } nosound(); go(0,60,20,80,random(15),random(15)); delay(3); go(400,460,420,480,random(15),random(15)); } //getch(); } go(int sy1,int ey1,int sy2,int ey2,int k,int h) { int i,j; for(j=sy1;j<=ey1;j+=40) //120 { for(i=0;i<=640;i+=40) { setcolor(k); rectangle(i,1+j,20+i,21+j); setfillstyle(SOLID_FILL,k); floodfill(10+i,10+j,k); setcolor(h); rectangle(20+i,1+j,40+i,21+j); setfillstyle(SOLID_FILL,h); floodfill(25+i,10+j,h); } } for(j=sy2;j<=ey2;j+=40) { for(i=0;i<=640;i+=40) { setcolor(h); rectangle(i,1+j,20+i,21+j); setfillstyle(SOLID_FILL,h); floodfill(10+i,10+j,h); setcolor(k); rectangle(20+i,1+j,40+i,21+j); setfillstyle(SOLID_FILL,k); floodfill(25+i,10+j,k); } } // } select(int scor,int p,int q) { switch(scor) { case 0: outtextxy(530+p,50+q,"0"); break; case 10: outtextxy(530+p,50+q,"10"); break; case 20: outtextxy(530+p,50+q,"20"); break; case 30: outtextxy(530+p,50+q,"30"); break; case 40: outtextxy(530+p,50+q,"40"); break; case 50: outtextxy(530+p,50+q,"50"); break; case 60: outtextxy(530+p,50+q,"60"); break; case 70: outtextxy(530+p,50+q,"70"); break; case 80: outtextxy(530+p,50+q,"80"); break; case 90: outtextxy(530+p,50+q,"90"); break; case 100: outtextxy(530+p,50+q,"100"); break; case 110: outtextxy(530+p,50+q,"110"); break; case 120: outtextxy(530+p,50+q,"120"); break; case 130: outtextxy(530+p,50+q,"130"); break; case 140: outtextxy(530+p,50+q,"140"); break; case 150: outtextxy(530+p,50+q,"150"); break; case 160: outtextxy(530+p,50+q,"160"); break; case 170: outtextxy(530+p,50+q,"170"); break; case 180: outtextxy(530+p,50+q,"180"); break; case 190: outtextxy(530+p,50+q,"190"); break; case 200: outtextxy(530+p,50+q,"200"); break; case 210: outtextxy(530+p,50+q,"210"); break; case 220: outtextxy(530+p,50+q,"220"); break; case 230: outtextxy(530+p,50+q,"230"); break; case 240: outtextxy(530+p,50+q,"240"); break; case 250: outtextxy(530+p,50+q,"250"); break; case 260: outtextxy(530+p,50+q,"260"); break; case 270: outtextxy(530+p,50+q,"270"); break; case 280: outtextxy(530+p,50+q,"280"); break; case 290: outtextxy(530+p,50+q,"290"); break; case 300: outtextxy(530+p,50+q,"300"); break; case 310: outtextxy(530+p,50+q,"310"); break; case 320: outtextxy(530+p,50+q,"320"); break; case 330: outtextxy(530+p,50+q,"330"); break; case 340: outtextxy(530+p,50+q,"340"); break; case 350: outtextxy(530+p,50+q,"350"); break; case 360: outtextxy(530+p,50+q,"360"); break; } } flower(int i,int j) { setcolor(14); circle(320+i,240+j,10); setfillstyle(SOLID_FILL,RED); floodfill(323+i,241+j,14); //1 setcolor(14); //floodfill(316,223,13); ellipse(310+i,220+j,90,-90,6,12); ellipse(330+i,220+j,-90,90,6,12); ellipse(320+i,207+j,180,0,8,2); //2 ellipse(310+i,260+j,90,-90,6,12); ellipse(330+i,260+j,-90,90,6,12); ellipse(320+i,273+j,0,180,8,2); //3 ellipse(298+i,248+j,180,0,12,6); ellipse(298+i,233+j,0,180,12,6); ellipse(286+i,240+j,-90,90,2,8); //4 ellipse(342+i,247+j,180,0,12,6); ellipse(342+i,233+j,0,180,12,6); ellipse(354+i,240+j,90,-90,2,8); } finalwindow() { for(k=-285;k<=320;k+=70) { flower(k,-205); flower(k,+180); //clearviewport(); delay(100); } for(k=-140;k<=180;k+=40) { flower(-285,k); flower(276,k); //clearviewport(); delay(100); } setcolor(10); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,3); outtextxy(110,100,"BY,"); setcolor(9); //settextstyle(SMALL_FONT,HORIZ_DIR,6); outtextxy(180,180,"S.UMASHANKAR WIPRO "); setcolor(10); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,6); outtextxy(280,220,"&"); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,3); setcolor(9); outtextxy(200,300,"K.JAYANTH III M.SC SE"); setcolor(2); sleep(4); }

Contribute content or training reports / feedback / Comments
job placement papers