ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:19.48KB ,
资源ID:3247856      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3247856.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(TC水果忍者MAIN函数部分.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

TC水果忍者MAIN函数部分.docx

1、TC水果忍者MAIN函数部分#include #include #include #include #include #include #include f_gra.c#include f_math.c#include f_mou.c#include f_def.c/*-MAIN 函数在这里-*/main()int i=0,j=0,k=0,keep=1,temp,fru_tag=0,bla_tag=0,lig_tag=0,pat_tag=0,hmx=0,hmy=0,hmk=0,refresh=0,exit=0,highscore=0;int activate=0,hactivate=0,sco

2、re=0,combo=0,perfect=0,fru_frq=2,sc2_quit=0;int timer_p=0,timer_c=0,px,py,cx,cy;int key;int combostr3,scorestr5,ref=1;int scene=1,sce_del,sce_tri=0,sce_jump=0; /*scene: 1.开始画面 2.游戏界面 3.游戏简介 4.高分榜 5.作者名单*/float k1,b1,k2,b2,k3,b3,ptl1,ptl2,ptl3,ltl,x1,x2,y1,y2;double tana=0,sina,cosa,line;int gdriver=

3、VGA,gmode=VGAHI;initgraph(&gdriver,&gmode,C:TC20BGI);srand(time(NULL);mou_on();setbkcolor(bkc);while(exit=0)/*-S C E N E 1-*/while(scene=1) setbkcolor(bkc); if(highscore10) scorestr0=(highscore%10)+0; scorestr1=(highscore%100)/10+0; scorestr2=highscore/100+0; setcolor(RED); outtextxy(420,230,HIGHSCO

4、RE); outtextxy(440,255,&scorestr0); outtextxy(430,255,&scorestr1); outtextxy(420,255,&scorestr2); setcolor(BLUE); outtextxy(275,90,FRUIT NINJA); outtextxy(175,150,START TRAINING !); outtextxy(190,225,HOW TO PLAY ?); outtextxy(205,300,ABOUT US); outtextxy(220,375,BYE BYE .); if(ref=1) fruit2.exi=1; f

5、ruit2.type=2; fruit2.y=HIG-150; fruit2.x=125; fruit3.exi=1; fruit3.type=3; fruit3.y=HIG-225; fruit3.x=140; fruit4.exi=1; fruit4.type=4; fruit4.y=HIG-300; fruit4.x=155; fruit5.exi=1; fruit5.type=1; fruit5.y=HIG-375; fruit5.x=170; ref=0; mou_read(); mou_spe(); mou_act(); activate=( (mou_k=1) & (mou_x-

6、hmx)*(mou_x-hmx)+(mou_y-hmy)*(mou_y-hmy)act_spe ); /* 当鼠标左键按下并且有运动时设定鼠标激活activate=1 */ if(activate) /*在鼠标激活情况下激活刀刃光影的刷新*/ bladebla_tag.exi=1; bladebla_tag.hx=hmx; bladebla_tag.hy=hmy; bladebla_tag.x=mou_x; bladebla_tag.y=mou_y; tana=(mou_y-hmy)/(double)(mou_x-hmx); line=sqrt(1+tana*tana); sina=tana/

7、line; cosa=1/line; bladebla_tag.x+=bla_tra*cosa; bladebla_tag.y+=bla_tra*sina; bladebla_tag.hx-=bla_tra*cosa; bladebla_tag.hy-=bla_tra*sina; bla_tag+; if(bla_tag=B_AMOUNT-1) bla_tag=0; if(hmk=1&mou_k=0|(!activate) for(i=0;iB_AMOUNT;i+) bladei.exi=0;for(i=0;iL_AMOUNT;i+) if(lighti.exi=1) lighti.time-

8、; if(lighti.time=0) lighti.exi=0; for(i=0;iP_AMOUNT;i+) if(patchi.exi=1) patchi.x+=patchi.dx; patchi.y+=patchi.dy; patchi.dy-=phy_g; if(patchi.yHIG|patchi.xWID) patchi.exi=0; /*刀刃初始位置hmx,hmy末位置mou_x,mou_y 切割水果判定*/for(i=0;iF_AMOUNT;i+) if(activate=1&fruiti.exi=1) x1=hmx; y1=hmy; x2=mou_x; y2=mou_y; k

9、1=(y2-y1)/(x2-x1); b1=y1-x1*k1; k2=k3=-1/k1; b2=y1-x1*k2; b3=y2-x2*k3; ptl1=ptl(k1,b1,fruiti.x,fruiti.y); ptl2=ptl(k2,b2,fruiti.x,fruiti.y); ptl3=ptl(k3,b3,fruiti.x,fruiti.y); x1=10; y1=k2*x1+b2; ltl=ptl(k3,b3,x1,y1); if( (ptl1fru_r)&(ptl2+ptl3)(ltl+0.1) ) /*如果切到水果*/ if(bla_tag=0) temp=B_AMOUNT-1; e

10、lse temp=bla_tag-1; lightlig_tag.exi=1; lightlig_tag.time=light_time; lightlig_tag.x1=bladetemp.x+light_len*cosa; lightlig_tag.y1=bladetemp.y+light_len*sina; lightlig_tag.x2=bladetemp.x-light_len*cosa; lightlig_tag.y2=bladetemp.y-light_len*sina; lig_tag+; if(lig_tag=L_AMOUNT-1) lig_tag=0; fruiti.exi

11、=0; temp=ran_int(pat_amt/2,pat_amt); for(j=0;jtemp;j+) /*碎片的生成效果运算*/ for(k=0;kP_AMOUNT;k+) if(patchk.exi=0) pat_tag=k;break; patchpat_tag.exi=1; patchpat_tag.type=fruiti.type; patchpat_tag.x=fruiti.x; patchpat_tag.y=fruiti.y; patchpat_tag.dx=mou_dx/4+fruiti.dx+ran_int(-pat_arr,pat_arr); patchpat_tag

12、.dy=mou_dy/4+fruiti.dy+ran_int(-pat_arr,pat_arr); for(i=2;i=5;i+) if(fruiti.exi=0) if(i=5) exit=1; scene=-1; else scene=i; ref=1; /*场景切换*/ if(ref=1) for(j=2;jact_spe );if(activate)/*如果鼠标为激活状态生成并刷新刀刃光影*/ bladebla_tag.exi=1; bladebla_tag.hx=hmx; bladebla_tag.hy=hmy; bladebla_tag.x=mou_x; bladebla_tag.

13、y=mou_y; tana=(mou_y-hmy)/(double)(mou_x-hmx); line=sqrt(1+tana*tana); sina=tana/line; cosa=1/line; bladebla_tag.x+=bla_tra*cosa; bladebla_tag.y+=bla_tra*sina; bladebla_tag.hx-=bla_tra*cosa; bladebla_tag.hy-=bla_tra*sina; bla_tag+; if(bla_tag=B_AMOUNT-1) bla_tag=0; if(hmk=1&mou_k=0|(!activate) for(i

14、=0;iB_AMOUNT;i+) bladei.exi=0;if(ran_int(1,100)=fru_frq) /*水果随机生成*/ for(i=0;i(WID/2) fruitfru_tag.dx=-fruitfru_tag.dx; fruitfru_tag.w=ran_int(fru_max_spe_w/2,fru_max_spe_w); for(i=0;iL_AMOUNT;i+)/*水果在重力的影响下下落,速度dv=dv+g*/ if(lighti.exi=1) lighti.time-; if(lighti.time=0) lighti.exi=0; for(i=0;iP_AMOUN

15、T;i+)/*碎片在重力影响下下落,速度dv=dv+g*/ if(patchi.exi=1) patchi.x+=patchi.dx; patchi.y+=patchi.dy; patchi.dy-=phy_g; if(patchi.yHIG|patchi.xWID) patchi.exi=0; for(i=0;iF_AMOUNT;i+) if(fruiti.exi=1) fruiti.x+=fruiti.dx; fruiti.y+=fruiti.dy; fruiti.dy-=phy_g; if(fruiti.x0|fruiti.yWID|fruiti.yHIG) /*水果出界处理*/ fru

16、iti.exi=0; /*刀刃初始位置hmx,hmy末位置mou_x,mou_y 切割水果判定*/for(i=0;iF_AMOUNT;i+) if(activate=1&fruiti.exi=1) x1=hmx; y1=hmy; x2=mou_x; y2=mou_y; k1=(y2-y1)/(x2-x1); b1=y1-x1*k1; k2=k3=-1/k1; b2=y1-x1*k2; b3=y2-x2*k3; ptl1=ptl(k1,b1,fruiti.x,fruiti.y); ptl2=ptl(k2,b2,fruiti.x,fruiti.y); ptl3=ptl(k3,b3,fruiti.x

17、,fruiti.y); x1=10; y1=k2*x1+b2; ltl=ptl(k3,b3,x1,y1); if( (ptl1fru_r)&(ptl2+ptl3)(ltl+0.1) ) /*如果切到水果*/ if(fruiti.type=1) cleardevice() ; scene=5; else score+; combo+; if(bla_tag=0) temp=B_AMOUNT-1; else temp=bla_tag-1; /*切到水果生成光影效果*/ lightlig_tag.exi=1; lightlig_tag.time=light_time; lightlig_tag.x1

18、=bladetemp.x+light_len*cosa; lightlig_tag.y1=bladetemp.y+light_len*sina; lightlig_tag.x2=bladetemp.x-light_len*cosa; lightlig_tag.y2=bladetemp.y-light_len*sina; lig_tag+; if(lig_tag=L_AMOUNT-1) lig_tag=0; fruiti.exi=0; temp=ran_int(pat_amt/2,pat_amt); /*切到水果生成碎片*/ for(j=0;jtemp;j+) for(k=0;kP_AMOUNT

19、;k+) if(patchk.exi=0) pat_tag=k;break; patchpat_tag.exi=1; patchpat_tag.type=fruiti.type; patchpat_tag.x=fruiti.x; patchpat_tag.y=fruiti.y; patchpat_tag.dx=mou_dx/4+fruiti.dx+ran_int(-pat_arr,pat_arr); patchpat_tag.dy=mou_dy/4+fruiti.dy+ran_int(-pat_arr,pat_arr); if(ptl1=c_least) combostr0=combo%10+

20、0; combostr1=combo/10+0; combostr2=!; score+=combo; timer_c=time_combo; combo=0; if(refresh=REFRESH)cleardevice() ;setcolor(bla_c);circle(mou_x,HIG-mou_y,3);vis_light(light);vis_fruit(fruit);vis_blade(blade);vis_patch(patch);if(timer_p0) setcolor(RED); outtextxy(px,HIG-py,Perfect!); /*完美切割*/ setcolo

21、r(WHITE); timer_p-; if(timer_c0) setcolor(RED); outtextxy(WID-50,20,COMBO!); /*连击*/ outtextxy(WID-50,50,combostr); setcolor(WHITE); timer_c-; scorestr0=(score%10)+0;scorestr1=(score%100)/10+0;scorestr2=score/100+0;setcolor(BLUE);outtextxy(0,20,SCORE:); /*分数*/outtextxy(20,50,&scorestr0);outtextxy(10,

22、50,&scorestr1);outtextxy(00,50,&scorestr2);setcolor(WHITE);fru_frq=score/50+2;refresh=0;if(mou_k=2) scene=1;hmx=mou_x;hmy=mou_y;hmk=mou_k;hactivate=activate;delay(DELAY) ;refresh+;/*-S C E N E 3-*/while(scene=3) /*游戏介绍部分*/ cleardevice() ; cleardevice() ; setcolor(BLUE); setbkcolor(LIGHTCYAN); vis_wa

23、termelon(50,20); vis_apple(150,20); vis_coconut(250,20); vis_orange(350,20); vis_mango(450,20); outtextxy(100,100,Welcome to the world of Fruit Ninja !); delay(500); outtextxy(100,125,In this world you are an excellent Ninja.); delay(500); outtextxy(100,150,Now you have an urgent MISSION to accompli

24、sh! ); delay(500); outtextxy(100,175,That Is :); delay(500); outtextxy(100,200,Cutting Fruits !); delay(500); setcolor(RED); outtextxy(100,250,Remember This:); delay(500); outtextxy(100,275,Cut as many fruits as you can!); delay(500); outtextxy(100,300,But never touch the RED ones cause they are BOMBS!); delay(500); setcolor(BLUE); outtextxy(100,400,Press Q to continue.); vis_bomb(30,370); while(bioskey(0)!=4209) ; scene=1; /*-S C E

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1