该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#include

int ball_x,ball_y;//定义小球的x,y坐标

int v_x,v_y;//定义小球的x,y的运动速度

int high=20;

int wideth=36;//定义画面大小

int banzi_x,banzi_y;

int banjing;

int left,right;//定义下面板子的各种参数

int score1=0;

int score2=0;//定义两个得分

int zhuankuai_x1,zhuankuai_y1;//定义砖块的位置

void HideCursor()

{

CONSOLE_CURSOR_INFO cursor_info = {1, 0};

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);

}

void gotoxy(int x, int y)

{

HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);

COORD pos;

pos.X=x;

pos.Y=y;

SetConsoleCursorPosition(hOut, pos);

}

void initialization()//初始化各数据

{

ball_x = 0;

ball_y = wideth/2;//初始化小球的位置

v_x = 1;

v_y = 1;//初始化速度方向默认向右下角

zhuankuai_x1 = 0;

zhuankuai_y1 = 5;//初始化砖块位置

banzi_y = 13;

banzi_x = high-2;

banjing = 3;

left = banzi_y - banjing;

right = banzi_y + banjing;//板子位置

}

void show()//显示的位置;

{

int i,j;

gotoxy(0,0);//清屏函数

for(i=0;i<=high;i++)

{

for(j=0;j<=wideth;j++)

{

if((i == ball_x) && (j == ball_y))

printf("o");//输出小球

else if((i == zhuankuai_x1) && (j == zhuankuai_y1))

printf("B");//输出砖块

else if(j == wideth)

printf("|");//输出右边界

else if((i == banzi_x) && (j <= right) && (j >= left))

printf("*");//输出板子

else if(i == high)

printf("_");//输出下边界

else

printf(" ");

}

printf("\n");

}

printf("你的得分:%d\n",score1);

printf("你的弹数是:%d",score2/15);//输出两个得分

}

void updatenowithkeyboard()//键盘输入无关的参量

{

if((ball_x == banzi_x-1) && (ball_y <= right) && (left <= ball_y))

{

v_x = (-1) * v_x;

v_y = (-1) * v_y;

score2++;

}//小球弹到板子上时反弹,并且弹数得分增加

static int speed=0;

if(speed < 15)

speed++;

if(speed == 15)

{

ball_x = ball_x + v_x;

ball_y = ball_y + v_y;

speed=0;

}//定义一个静态变量,使小球的速度变慢,板子速度不受影响,但是不知道为什么数字只能设置为15,其他的小球都显示不了

if(ball_x == 0)

v_x = (-1) * v_x;

if((ball_y == 0) || (ball_y == wideth))

v_y = (-1) * v_y;//小球碰到上边界,左右边界时反弹

if((ball_x == zhuankuai_x1) && (ball_y == zhuankuai_y1))

{

zhuankuai_x1 = rand() % wideth;

score1++;

}//小球碰到砖块时,砖块随机任意位置生成一个,得分+1

if(ball_x > banzi_x)

{

printf("\nGAME OVER\n");

exit(0);//当小球落到板子下面时,游戏结束

}

}

void updatewithkeyboard()//键盘输入有关的参量

{

char input;

if(kbhit())

{

input = getch();

if(input == 'a')

banzi_y--;

if(input == 'd')

banzi_y++;

left = banzi_y - banjing;

right = banzi_y + banjing;

}//用a和d来控制板子的左右移动

}

int main()

{

HideCursor();

initialization();

while(1)

{

show();

updatewithkeyboard();

updatenowithkeyboard();

}

return 0;

}

详情在updatenowithkeyboard()这个函数中,为什么改变speed的值小球就不显示了

c语言小球消砖块的游戏,求大神帮忙看看这个弹弹球消砖块的游戏代码,为什么speed只能15...相关推荐

  1. c语言结构体多门成绩排序,c语言结构体按学号排序求大神帮忙改一下吧

    struct record { char code[LEN+1]; /* 学号 */ char name[LEN+1]; /* 姓名 */ int age; /* 年龄 */ char sex[3]; ...

  2. 请输入30名同学的c语言成绩,求大神帮忙做这几道结构体的c语言!今天就要交实验报告!急啊急!!!!! (1)一个班级共有30名学...

    问题描述: 求大神帮忙做这几道结构体的c语言!今天就要交实验报告!急啊急!!!!! (1)一个班级共有30名学 求大神帮忙做这几道结构体的c语言!今天就要交实验报告!急啊急!!!!! (1)一个班级共 ...

  3. c语言中len的作用,C语言 int len( )  求大神解释

    C语言 int len( ) 求大神解释 sen3830058 LV12 2013-03-13 #include int len(char s[]){ int n=0; while(s[n]!='\0 ...

  4. 秒表c语言程序代码,求大神帮忙写一篇简单的C语言秒表程序, 谢谢。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include Unsigned char code Tab[10]{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0 ...

  5. java主界面设置背景图片_java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改)...

    java 窗体设置背景图片问题?(附上登陆界面代码,我想加个背景图片,求大神帮忙改改) 关注:223  答案:4  mip版 解决时间 2021-01-26 22:09 提问者非莪莫属 2021-01 ...

  6. 迅雷极速版服务器未响应,迅雷极速版频繁崩溃,求大神帮忙

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 事情的起因是这样的:本来一直用了好多年,都没有频繁崩溃,只是出现有时在任务进行中时无法添加新任务.但是直到了迅雷极速版被强制升级为x.当时并不知道贴吧里的 ...

  7. ubuntu14.04扩展屏幕后,打开matlab就死机。求大神帮忙解决!!!万分感谢

    ubuntu14.04扩展屏幕后,打开matlab就死机.求大神帮忙解决!!!万分感谢

  8. android重签名闪退,360加固保加固完之后重新签名的包运行闪退,求大神帮忙解答...

    加固完之后重新签名的包运行闪退,求大神帮忙解答 错误提示: 07-08 15:51:23.769: E/AndroidRuntime(15012): FATAL EXCEPTION: main 07- ...

  9. 大神的自动练法师技能,想单独提取,练火星球到 75熟练度,,求大神帮忙提取下。

    大神的自动练法师技能,想单独提取,练火星球到 75熟练度,,求大神帮忙提取下. 2014-04-26 00:50:02| 分类: assa 脚本范文列 |字号 订阅 下载LOFTER我的照片书 | d ...

  10. 求大神帮忙,想要一元20次方程的解matlab代码,在线等,(解一元20次方程的解matlab代码)

    求大神帮忙,想要一元20次方程的解matlab代码,在线等,(解一元20次方程的解matlab代码) 已知y是一个1*101的数组如下,函数如下,想求得x 135 130 134 128 129 13 ...

最新文章

  1. WM OS手机跳过调整屏幕的终极办法
  2. nuxt渲染html文件,Nuxt页面级缓存
  3. postgresql 删除触发器_PostgreSQL:我没有带闪,不讲武德
  4. web前端页面——移动端简单登录页面、下拉菜单(代码详细注释)
  5. 错误代码1500什么意思_为什么藏族可以吃牦牛肉?(笑cry~
  6. 希腊字母|罗马数字|中文数字大写
  7. 未来5年智慧城市宽带入户超百兆
  8. 第六章第三十题(游戏:双骰子赌博)(Game: craps)
  9. 计算机通信答辩ppt,电子设计大赛答辩.ppt
  10. MATLAB启动慢解决方案
  11. Web前端开发(一)--html基本结构,基本标签
  12. ES中 Nested 类型的原理和使用
  13. BZOJ 2563 阿狸和桃子的游戏
  14. 【计算机网络】湖南中医药大学——计算机网络实地考察项目
  15. 解决导出为Excel时文件名乱码的问题。
  16. MongoDB数据库设计(一)
  17. win10计算机无法识别u盘,win10电脑无法识别U盘应该如何解决
  18. android 截屏需要权限,安卓App要权限还会偷删截屏?专治流氓App神器
  19. 反编译获取apk安装包源代码步骤
  20. 系统学习机器学习之距离的度量(一)--常见距离

热门文章

  1. pc端MNIST数据集pytorch模型CNN网络转换为onnx部署树莓派4B和神经棒NCS2(使用openvino2021框架)
  2. 淘宝API开发系列---阿里.聚石塔.开放平台的使用
  3. PDF打开后出现中文乱码情况
  4. 最新变态传奇android,新开超级变态传奇_刚开一秒的变态传奇手游私服 18183Android游戏频道...
  5. 【机器学习PAI实践十一】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码
  6. 镜像加速器——使用加速器可以提升获取Docker官方镜像的速度
  7. 黄金实盘点评:价格不宜回调过深
  8. 计算机主机发出滴滴声音怎么办,电脑蓝屏后主机滴滴的响应该怎么处理教程
  9. c语言的整型常量分为,C语言中整型常量和实型常量有什么区别?
  10. Unix/Linux编程:Internet domain socket