C语言怎么用数组实现反弹球消砖块
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,本文小编为大家详细介绍"C语言怎么用数组实现反弹球消砖块",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言怎么用数组实现反弹球消砖块"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
服务器SBB7A03135
广州市天河aqq软件开发
网络安全手抄报8k纸四年轻
网络技术有什么作用
网络安全课程考试思科实验
服务器显示器超出显示范围
gpt-3软件开发
南京尚运网络技术有限公司
新疆电信服务器
邯郸市永年区网络安全委员会
软件开发上班模式
有什么软件开发兼职
本钢工业网络安全
软件开发是什么映射
电脑重置后网络安全密钥是什么
对于下列网络安全事
大商创 服务器配置
江苏北斗时间服务器ip
软件开发助理工作日志
短期网络技术加盟排行
嘉定区信息软件开发包括哪些
服务器为什么不能安装系统
网络安全靠大手抄报精品
稷山网信网络安全
网络技术员网站
9u服务器机柜
网络安全tk是谁
福州公积金服务器
关系数据库基本概念值
看服务器RAID1镜像