1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 打砖块c语言编程 打砖块小游戏 C语言编写.txt.txt

打砖块c语言编程 打砖块小游戏 C语言编写.txt.txt

时间:2020-05-25 04:58:36

相关推荐

打砖块c语言编程 打砖块小游戏 C语言编写.txt.txt

#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表示未被击中过*/ }a[7][7]; /*对要用到的自定义函数的声明*/ 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 WIN!“); sleep(2); cleardevice(); settextstyle(0,0,4); outtextxy(180,220,“GAME OVER“); sleep(2); cleardevice(); closegraph(); }

展开阅读全文

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。