C语言怎么用数组实现反弹球消砖块
发表于:2024-10-07 作者:千家信息网编辑
千家信息网最后更新 2024年10月07日,本文小编为大家详细介绍"C语言怎么用数组实现反弹球消砖块",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言怎么用数组实现反弹球消砖块"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
千家信息网最后更新 2024年10月07日C语言怎么用数组实现反弹球消砖块
本文小编为大家详细介绍"C语言怎么用数组实现反弹球消砖块",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言怎么用数组实现反弹球消砖块"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
一、效果展示:
二、代码如下:
#include#include #include #include #include #define High 24 //游戏画面尺寸#define Width 36//全局变量int ball_x,ball_y;//小球的坐标int ball_vx,ball_vy;//小球的速度int canvas[High][Width]={0};int position_x,position_y;//挡板的中心坐标int ridus;//挡板的半径大小int left,right;//挡板的左右大小int score=0;//分数//二维数组存储游戏画布中对应的元素//0为空格,1为小球 2为挡板 3为砖块(1分) 4为砖块(2分) 5为砖块(3分)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() //数据的初始化{ int k,i; ridus=5; position_x=High-1; position_y=Width/2; left=position_y-ridus; right=position_y+ridus; ball_x=position_x-1; ball_y=position_y; ball_vx=-1; ball_vy=1; canvas[ball_x][ball_y]=1; for(k=left;k<=right;k++)//挡板 canvas[position_x][k]=2; srand(time(NULL)); for(k=0;k =left)&&(ball_y<=right) )//被挡板挡住 { printf("\a");//响铃 } else { printf("游戏失败\n"); system("pause"); exit(0); } } if(speed<5)//起到延时的效果 speed++; if(speed==5) { speed=0; canvas[ball_x][ball_y] = 0; //更新小球的坐标 ball_x=ball_x+ball_vx; ball_y=ball_y+ball_vy; canvas[ball_x][ball_y] = 1; //碰到边界后反弹 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(canvas[ball_x-1][ball_y]>=3&&canvas[ball_x-1][ball_y]<=5) { if(canvas[ball_x-1][ball_y]==3)//判断砖块的类型 score++; if(canvas[ball_x-1][ball_y]==4) score=score+2; if(canvas[ball_x-1][ball_y]==5) score=score+3; ball_vx=-ball_vx; canvas[ball_x-1][ball_y]=0; printf("\a"); } }}void updateWithInput()//与用户输入有关的更新{ char input; if(kbhit())//判断是否有输入 { input=getch(); if( ((input=='a')||(input=='A')) && (left>0) ) { canvas[position_x][right]=0; position_y--; left=position_y-ridus; right=position_y+ridus; canvas[position_x][left]=2; } if( ((input=='d')||(input=='D')) && (right 读到这里,这篇"C语言怎么用数组实现反弹球消砖块"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
砖块
挡板
数组
小球
输出
语言
光标
文章
画面
位置
内容
坐标
大小
数据
用户
空格
更新
移动
输入
妥当
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北航网络安全专业就业
php隐藏数据库部分文字代码
jsp图片储存到数据库
播放网络安全手抄报的图图动画片
网络游戏的服务器
聊城平台软件开发公司
网络安全工作品牌
公司服务器命名规则
火炬之光连接大厅服务器
ldap服务器管理者
大学生软件开发项目报告
网络安全一堂课
软件开发个人合同
数据库怎么连接到页面
关系数据库row
网络安全计费的发展电子版
网络安全法三年级海报
永劫无间私人服务器
搭建云桌面服务器配置
深圳市中科网络技术有限公司
网络安全工程师属于撒职称
代码和数据库文件在哪里
数据库查询最近记录
软件开发进展缓慢原因
面试软件开发个人经历写什么
网络安全知识旗下讲话百度
网络安全生态安全资源安全核安全
互联网科技成果发布
淄川工具软件开发报价
苹果登录服务器连接失败怎么回事