Ubuntu下codeblocks的气泡球程序(二)
来源:互联网 发布:淘宝首页psd模板下载 编辑:程序博客网 时间:2024/05/21 22:33
//***********************************************************
版本04
程序功能:实现两个球的随机运动
显示方式:实时打印球的坐标和速度
增加内容:软件延时代码
修改说明:利用随机数函数创建一个双精度比率,来设置ySpeed用以控制小球的运动方向
说明 :该程序仅在一个球的基础上增加一个球,然后对输出做一下修改
//***********************************************************
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
Int main()
{
//定义边框的宽
Int TableWidth = 100;
//定义边框的高
int TableHight = 100;
//定义球的尺寸
int BallSize = 10;
//定义球纵坐标的速度
Int ySpeed01 = 5;
Int ySpeed02 = 5;
//使用time(0)作为随机数种子
Srand((int) time(0));
//定义球横坐标的速度
//这里用到了drand48()函数,用以产生一个正的浮点随机数
Int xSpeed01 =(int) ySpeed01*(drand48()-0.5)*2;
Int xSpeed02 = (int)ySpeed02*(drand48()-0.5)*2;
//定义球的横坐标
Int BallX01 = 1+(int)(20.0*rand()/(RAND_MAX+1.0));
Int BallX02 = 50+(int)(20.0*rand()/(RAND_MAX+1.0));
//定义球的纵坐标
Int BallY01= 50+(int)(20.0*rand()/(RAND_MAX+1.0));
Int BallY02= 1+(int)(20.0*rand()/(RAND_MAX+1.0));
Unsigned Int t;
Unsigned int flag =0;
While(1){
for(t=0;t<600000000;t++);//软件延时
if(((BallX01-BallX02)*(Ball01-BallX02)+(BallY01-BallY02)*(BallY01-BallY02)<400))
{
xSpeed01 = -xSpeed01;
ySpeed01=-ySpeed01;
xSpeed02 =-xSpeed02;
ySpeed02 =-ySpeed02;
flag++;
}
else
{
If(BallX01<0|| BallX01 >= TableWidth - BallSize)
xSpeed01 =-xSpeed01;
if(BallY01<0|| BallX01 >=TableHight - BallSize)
ySpeed01 = -ySpeed01;
If(BallX02<0|| BallX02 >= TableWidth - BallSize)
xSpeed02 =-xSpeed02;
if(BallY02<0|| BallX02 >=TableHight - BallSize)
ySpeed02 = -ySpeed02;
}
BallX01 += xSpeed01;
BallY01 +=ySpeed01;
BallX02 +=xSpeed02;
BallY02+=ySpeed02;
Printf(“The stateof Ball01 is %d,%d,%d,%d\n”,BallX01,BallY01,xSpeed01,ySpeed01);
Printf(“The stateof Ball02 is %d,%d,%d,%d\n”,BallX02,BallY02,xSpeed02,ySpeed02);
Printf(“flag=%d\n”,flag);
Printf(“\n”);
t=0;
}
}
程序存在的缺陷:
可能是小球的判断那里写的不好,导致一个球的运动已经越界,另一个球在原地转圈,程序还需进一步优化。
- Ubuntu下codeblocks的气泡球程序(二)
- Ubuntu下codeblocks的气泡球程序(一)
- Ubuntu下codeblocks的气泡球程序(三)
- Ubuntu下codeblocks的气泡球程序(四)
- ubuntu下用codeblocks运行gtk的程序
- ubuntu下codeblocks起步(二)
- ubuntu 下 codeblocks 的使用 各种技巧
- 关于ubuntu下codeblocks打不开的问题
- ubuntu中 codeblocks 下opengl的配置
- ubuntu 下 codeblocks 的使用 各种技巧
- ubuntu 下 codeblocks 的使用 各种技巧
- ubuntu 下 codeblocks 的使用 各种技巧
- ubuntu 下codeblocks的相关配置
- ubuntu下 CodeBlocks的使用各种技巧
- Ubuntu下安装CodeBlocks的正确姿势
- Ubuntu下安装CodeBlocks的正确姿势
- ubuntu下安装codeblocks
- ubuntu下安装codeblocks
- Android 使用URL显示网络图片
- 测试
- Ubuntu下codeblocks的气泡球程序(一)
- SRIO中门铃中断的路由配置
- 随机数猜谜 做个笔记
- Ubuntu下codeblocks的气泡球程序(二)
- ORACLE中LONG类型字段的存取
- vector类中的构造函数
- Ubuntu下codeblocks的气泡球程序(三)
- VB操作字符串总结
- C语言中字符串处理函数拾锦
- 关于死刑,何谓善?有感于电影《凝望深渊》
- 面试高频题
- Ubuntu下codeblocks的气泡球程序(四)