| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 352 人关注过本帖
标题:求助啊,点的运动问题,在线=
只看楼主 加入收藏
guosheng1987
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-4-16
收藏
 问题点数:0 回复次数:2 
求助啊,点的运动问题,在线=

#include<stdio.h>
#include<graphics.h>

void print_point();
void point_move(int [],int []);

main()
{
int gdriver, gmode;
detectgraph(&gdriver, &gmode); /*自动测试硬件*/
getch();
initgraph(&gdriver, &gmode, "c:\\caic\\bgi");
/* 根据测试结果初始化图形*/


srand(time(NULL));
print_point();


getch();
closegraph();

}
void print_point() /* 函数打印屏幕上100个随机的点 */
{
int x,y,i;
int X[100],Y[100];

for(i = 0;i<100;i++)
{
x = rand()%1024;
y = rand()%768;


X[i] = x;
Y[i] = y;
putpixel(X[i],Y[i],15); /* 数组存放100个点的位置*/
}
point_move(X,Y);
}

void point_move(int X[100],int Y[100]) /* 100个点出现随机情况的运动 */
{
int m,n;
int i,t = 0;

while(t<10)
{
for(i = 0;i<100;i++) /*让100个点完成新的位置*/
{
switch(1) /*如过是横向移动的点,纵向不移动,反之一样方向随机*/
{

case 0:
{
m = rand()%1; /*0表示横向移动*/
if(!m) m = -1;
X[i] = X[i]+m;
}break;
case 1:
{
n = rand()%1; /*1表示纵向移动*/
if(n == 0) n = -1;
Y[i] = Y[i]+1;
}break;
}
}


sleep(1);
cleardevice(); /*清理屏幕*/


for(i = 0;i<100;i++)
putpixel(X[i],Y[i],15); /*打印新的位置的点 */

t++;
}
}
我想让所有点都向不同的方向运动,而且每一秒都会改变方向,那里写错了

2007-04-19 10:39
guosheng1987
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-4-16
收藏
得分:0 
补充我把这里改成了switch(rand()%1) 也是一样的 Y[i] = Y[i]+1;这也是我原来改的是Y[i] = Y[i]+n;

2007-04-19 10:41
guosheng1987
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2007-4-16
收藏
得分:0 
已经想出来了,把switch()语句换成了if语句就可以了
2007-04-19 10:55
快速回复:求助啊,点的运动问题,在线=
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020310 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved