首页 [汇总]C语言编写的壁球小游戏的源代码

[汇总]C语言编写的壁球小游戏的源代码

举报
开通vip

[汇总]C语言编写的壁球小游戏的源代码[汇总]C语言编写的壁球小游戏的源代码 求C语言编写的壁球小游戏的源代码,谢谢。 浏览次数:次悬赏分:解决时间:提问者:祈影问情1297100 | 2009-9-4 16:40 | 能在TC或DEV上运行就行,不需要图形美化,最好可以调球的速度和接板的长度。 用C写,不要太复杂的,复制粘贴的不要。就100分,全给了。 问题补充: 分给你了 谢谢,只是板移动比较慢,不好操作。你把回答编辑成空白吧,谢谢。 最佳答案 速度和 接板 长度不能改 所以比较难玩 #include "graphics.h" ...

[汇总]C语言编写的壁球小游戏的源代码
[汇总]C语言编写的壁球小游戏的源代码 求C语言编写的壁球小游戏的源代码,谢谢。 浏览次数:次悬赏分:解决时间:提问者:祈影问情1297100 | 2009-9-4 16:40 | 能在TC或DEV上运行就行,不需要图形美化,最好可以调球的速度和接板的长度。 用C写,不要太复杂的,复制粘贴的不要。就100分,全给了。 问题补充: 分给你了 谢谢,只是板移动比较慢,不好操作。你把回答编辑成空白吧,谢谢。 最佳答案 速度和 接板 长度不能改 所以比较难玩 #include "graphics.h" #include "stdio.h" #include "conio.h" /*所需的头文件*/ int on; /*声明具有开关作用的全局变量*/ static int score; /*声明静态的记分器变量*/ /* 定义开始界面函数*/ int open() { setviewport(100,100,500,380,1); /*设置图形窗口区域*/ setcolor(4); /*设置作图色*/ rectangle(0,0,399,279); /*以矩形填充所设的图形窗口区域*/ setfillstyle(SOLID_FILL,7); /*设置填充方式*/ floodfill(50,50,4); /*设置填充范围*/ setcolor(8); settextstyle(0,0,9); /*文本字体设置*/ outtextxy(90,80,"BALL"); /*输出文本内容*/ settextstyle(0,0,1); outtextxy(110,180,"version 1.0"); outtextxy(110,190,"made by ddt"); setcolor(128); settextstyle(0,0,1); outtextxy(120,240,"Press any key to continue......"); } /*定义退出界面函数*/ int quitwindow() { char s[100]; /*声明用于存放字符串的数组*/ setviewport(100,150,540,420,1); setcolor(YELLOW); rectangle(0,0,439,279); setfillstyle(SOLID_FILL,7); floodfill(50,50,14); setcolor(12); settextstyle(0,0,8); outtextxy(120,80,"End"); settextstyle(0,0,2); outtextxy(120,200,"quit? Y/N"); sprintf(s,"Your score is:%d",score);/*格式化输出记分器的值*/ outtextxy(120,180,s); on=1; /*初始化开关变量*/ } /*主函数*/ main() { int gdriver,gmode; gdriver=DETECT; /*设置图形适配器*/ gmode=0; /*设置图形模式*/ registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */ initgraph(&gdriver,&gmode,""); setbkcolor(14); open(); /*调用开始界面函数*/ getch(); /*暂停*/ while(1) /*此大循环体控制游戏的反复重新进行*/ { int driver,mode,l=320,t=400,r,a,b,dl=5,n,x=200,y=400,r1=10,dx=-2,dy=-2;/* 初始化小球相关参数*/ int left[100],top[100],right[100],bottom[100],i,j,k,off=1,m,num[100][100];/*方砖阵列相关参数*/ static int pp; static int phrase; /*一系列起开关作用的变量*/ int oop=15; pp=1; score=0; driver=DETECT; mode=VGA; registerbgidriver(EGAVGA_driver); initgraph(&driver,&mode,""); setbkcolor(10); cleardevice(); /*图形状态下清屏*/ clearviewport(); /*清除现行图形窗口内容*/ b=t+6; r=l+60; setcolor(1); rectangle(0,0,639,479); setcolor(4); rectangle(l,t,r,b); setfillstyle(SOLID_FILL,1); floodfill(l+2,t+2,4); for(i=0,k=0;i<=6;i++) /*此循环绘制方砖阵列*/ { top[i]=k; bottom[i]=top[i]+20; k=k+21; oop--; for(j=0,m=0;j<=7;j++) { left[j]=m; right[j]=left[j]+80; m=m+81; setcolor(4); rectangle(left[j],top[i],right[j],bottom[i]); setfillstyle(SOLID_FILL,j+oop); floodfill(left[j]+1,top[i]+1,4); num[i][j]=pp++; } } while(1) /*此循环控制整个动画*/ { while(!kbhit()) { x=x+dx; /*小球运动的圆心变量控制*/ y=y+dy; if(x+r1>r||x+r1=l) { if(y=t&&phrase==1) {dy=-dy;y=t-1-r1;} } if(off==0) continue; for(i=0;i<=6;i++) /*此循环用于判断、控制方砖阵列的撞击、擦除*/ for(j=0;j<=7;j++) { if((x+r1<=right[j]&&x+r1>=left[j])||(x-r1<=right[j]&&x-r1>=left[j])) { if(( y-r1>top[i]&&y-r1<=bottom[i])||(y+r1>=top[i]&&y+r1<=bottom[i] )) { if(num[i][j]==0) {continue; } setcolor(10); rectangle(left[j],top[i],right[j],bottom[i]); setfillstyle(SOLID_FILL,10); floodfill(left[j]+1,top[i]+1,10); dy=-dy; num[i][j]=0; score=score+10; printf("%d\b\b\b",score); } } if((y+r1>=top[i]&&y+r1<=bottom[i])||(y-r1>=top[i]&&y-r1<=bottom[i])) { if((x+r1>=left[j]&&x+r1left[j])) { if(num[i][j]==0) { continue;} setcolor(10); rectangle(left[j],top[i],right[j],bottom[i]); setfillstyle(SOLID_FILL,10); floodfill(left[j]+1,top[i]+1,10); dx=-dx; num[i][j]=0; score=score+10; printf("%d\b\b\b",score); } } } if(x+r1>639) /*控制小球的弹射范围*/ {dx=-dx;x=638-r1;} if(x<=r1) {dx=-dx;x=r1+1;} if(y+r1>=479) {off=0;quitwindow();break;} if(y<=r1) {dy=-dy;y=r1+1;} if(score==560) {off=0;quitwindow();break;} setcolor(6); circle(x,y,r1); setfillstyle(SOLID_FILL,14); floodfill(x,y,6); delay(1000); setcolor(10); circle(x,y,r1); setfillstyle(SOLID_FILL,10); floodfill(x,y,10); } a=getch(); setcolor(10); rectangle(l,t,r,b); setfillstyle(SOLID_FILL,10); floodfill(l+2,t+2,10); if(a==77&&l<=565) /*键盘控制设定*/ {dl=20;l=l+dl;} if(a==75&&l>=15) {dl=-20;l=l+dl;} if(a=='y'&&on==1) break; if(a=='n'&&on==1) break; if(a==27) {quitwindow();off=0;} r=l+60; setcolor(4); rectangle(l,t,r,b); setfillstyle(SOLID_FILL,1); floodfill(l+5,t+5,4); delay(100); } if(a=='y'&&on==1) /*是否退出游戏*/ {break;} if(a=='n'&&on==1) { continue;} } closegraph(); } 你不是要求在TC里运行么 C++和C不同的 如果要在C++里 你前面要写函数的声明的 C里就不用 修改过了,试一试吧。 我这里可以 一闪而过那个是图形界面的问题 驱动没安装好
本文档为【[汇总]C语言编写的壁球小游戏的源代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_597436
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:10
分类:企业经营
上传时间:2017-09-18
浏览量:234