打砖块小游戏 C语言编写.txt.txt_第1页
打砖块小游戏 C语言编写.txt.txt_第2页
打砖块小游戏 C语言编写.txt.txt_第3页
打砖块小游戏 C语言编写.txt.txt_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include #include #include #include #include #define esc 0x011b #define left 0x4b00 #define right 0x4d00 #define closegr closegraph /*文件包含程序中调用的库函数的文件库*/ /*设定一个数据结构存放砖块的信息*/ struct brick int x; /*砖块左上角横坐标*/ int y; /*砖块左上角纵坐标*/ int key; /*表示砖块是否被击中过的变量,1表示被击中过,0表示未被击中过*/ a77; /*对要用到的自定义函数的声明*/ void initgr(); void start(); void welcome(); void picture(); void draw(); void quitgame(); void losegame(); void wingame(); /*主函数*/ main() int i,j,x,y; for(i=0,y=0;i0) /*设置循环直至砖块被打完*/ while(!kbhit() /*检查当前按下的键*/ if(ballx=480) /*判断球心的范围以设置斜率控制其反弹*/ dx=-dx; if(bally=450) dy=-dy; setcolor(lightred); /*设置划线颜色为淡红色*/ circle(ballx+=dx,bally-=dy,7); /*根据判断结果在指定位置画出小球*/ setfillstyle(solid_fill,lightred); /*将小球填充成淡红色*/ floodfill(ballx,bally,lightred); delay(1000); /*设置小球移动的速度*/ setcolor(lightblue); /*设置划线颜色为淡蓝色*/ circle(ballx,bally,7); /*在小球经过的位置消除其痕迹*/ setfillstyle(solid_fill,lightblue); /*将小球填充为淡蓝色*/ floodfill(ballx,bally,lightblue); /*此部分控制砖块的碰撞及消除*/ for(bricky=15,i=0;brickybrickx) if(ballxboardx+60) losegame(); /*游戏失败*/ /*键盘控制挡板的运动*/ key=bioskey(0); /*返回所按键的键码*/ if(key=left) /*判断是否按下左箭头*/ if(boardx=134.9) /*设置挡板向左移动的范围*/ setfillstyle(solid_fill,lightblue); /*挡板移动过的地方填充成背景色以消除痕迹*/ bar(boardx,boardy,boardx+60,boardy+5); boardx=boardx-10; /*挡板左上角横坐标减小*/ setfillstyle(solid_fill,white); /*在新位置画出一条白色挡板*/ bar(boardx,boardy,boardx+60,boardy+5); else if(key=right) /*判断是否按下右箭头*/ if(boardx=424) /*设置挡板向右移动的范围*/ setfillstyle(solid_fill,lightblue); bar(boardx,boardy,boardx+60,boardy+5); boardx=boardx+10; setfillstyle(solid_fill,white); bar(boardx,boardy,boardx+60,boardy+5); else if(key=esc) /*判断是否按下退出键*/ quitgame(); /*调用退出游戏函数*/ wingame(); /*循环结束砖块数目为零,玩家胜利*/ /*画方块*/ void draw(int x,int y,int sizex,int sizey) rectangle(x,y,x+sizex,y+sizey); /*退出游戏*/ void quitgame() cleardevice(); /*清除图形屏幕*/ setbkcolor(yellow); /*设置背景颜色为黄色*/ setcolor(lightblue); /*设置文本颜色为淡蓝色*/ settextstyle(0,0,4); /*设定文本位置及属性*/ outtextxy(180,220,“game over“); sleep(2); /*执行挂起一段时间*/ cleardevice(); /*清除图形屏幕*/ closegraph(); /*关闭图形系统*/ /*游戏失败*/ void losegame() cleardevice(); /*清除图形屏幕*/ setbkcolor(yellow); setcolor(lightblue); settextstyle(0,0,4); outtextxy(50,220,“sorry!you are lost!“); sleep(2); cleardevice(); settextstyle(0,0,4); outtextxy(180,220,“game over“); sleep(2); cleardevice(); closegraph(); /*玩家胜利*/ void wingame() cleardevice(); setbkcolor(yellow); setcolor(lightblue); settextstyle(0,0,4); outtextxy(50,220,“well done!you

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论