十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍了C语言怎么实现反弹球小游戏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联公司主打移动网站、成都做网站、网站制作、成都外贸网站建设、网站改版、网络推广、网站维护、主机域名、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。
具体内容如下
这是利用函数写的C语言小游戏,用来检验自己的学习成果
反弹球的实现主要有几个子函数组成
问题也在于如何实现小球的下落,以及碰撞得分等情况
#include#include #include //定义全局变量 int high,width; //游戏边界 int ball_x,ball_y; //小球位置 int ball_vx,ball_vy; //小球速度 int position_x,position_y; //挡板中心坐标 int radius; //挡板半径 int left,right; //键盘左右边界 int ball_number; //反弹小球次数 int block_x,block_y; //方块的位置 int score; //消掉方块的个数 void HideCursor() //隐藏光标 { CONSOLE_CURSOR_INFO cursor_info = {1, 0}; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info); } void gotoxy(int x,int y) //光标移动到(x,y)位置,清屏函数 { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle,pos); } void startup() //数据初始化 { high=18; //定义边界 width=26; ball_x=0; //小球坐标 ball_y=width/2; ball_vx=1; //小球速度方向 ball_vy=1; position_x=high-1; //挡板中心坐标 position_y=width/2; radius=5; //挡板半径 left=position_y-radius; //键盘边界 right=position_y+radius; block_x=0; //方块位置 block_y=width/2-4; ball_number=0; //反弹小球个数 score=0; //消掉小球个数 HideCursor(); } void show() //显示界面 { gotoxy(0,0); int i,j; for(i=0;i<=high;i++) { for(j=0;j<=width;j++) { if((i==ball_x) && (j==ball_y)) //输出小球 printf("0"); else if((i==block_x)&& (j==block_y)) //输出滑块 //输出下边界 printf("@"); else if(i==high) //输出下边界 printf("-"); else if(j==width) //输出右边界 printf("|"); else if((i==high-1)&&(j>left)&&(j =left)&&(ball_y<=right)) { ball_number++; //printf("\a"); } else { printf("游戏失败\n"); system("pause"); exit(0); } } ball_x = ball_x + ball_vx; //小球向速度方向移动 ball_y = ball_y + ball_vy; if((ball_x==0) || (ball_x==high-2)) //小球撞到上下边界 ball_vx=-ball_vx; if((ball_y==0) || (ball_y==width-1)) //小球撞到左右边界 ball_vy=-ball_vy; if((block_x==ball_x) && (block_y==ball_y)) //小球撞到滑块 { block_y=rand()%width-1; score++; } Sleep(120); } void updateWithInpute() //与用户输入有关的更新 { char input; if(kbhit()) { input=getch(); if((input=='a')&&(left>=0)) { position_y--; left=position_y-radius; //键盘边界 right=position_y+radius; } if((input=='d')&&(right 小编之前也收藏了一段代码:C语言实现小球反弹,分享给大家
#include#include #include void ball()//1.画出小球 { printf("\t\t\t◎"); } int main() { int h=20;//球的高度初始化为20 int i,j;//i是用来确定球的起点与终点,j是确定球的位置 int der=1;//判断等于1时球下落,为0时球上升 while(h>0)//高度大于0时,球都在动(当高度为0时停止) { if(der==1) { for(i=20-h;i<20;i++)//确定起点和终点 下落过程 { system("cls"); for(j=0;j<=i;j++)//确定球的位置 { printf("\n"); } ball(); Sleep(50); } der=0; } else { h=h*8/9;//强起来高度是原来的9分之8 for(i=20;i>=20-h;i--)//确定起点和终点 上升过程 { system("cls"); for(j=0;j<=i;j++)//确定球的位置 { printf("\n"); } ball(); Sleep(50); } der=1; } } return 0; } 感谢你能够认真阅读完这篇文章,希望小编分享的“C语言怎么实现反弹球小游戏”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
网站题目:C语言怎么实现反弹球小游戏
本文路径:http://mswzjz.cn/article/iidjdh.html