| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2953 人关注过本帖
标题:在屏幕上画个汽车,怎么让他跑起来?只需要他向前走就可以了?
只看楼主 加入收藏
piaopiao1219
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-22
收藏
 问题点数:0 回复次数:22 
在屏幕上画个汽车,怎么让他跑起来?只需要他向前走就可以了?
在屏幕上画个汽车,怎么让他跑起来?只需要他向前走就可以了?
请告知我一个思想,也不需要完全的代码。当然有更好啦。谢谢
搜索更多相关主题的帖子: 屏幕 汽车 
2007-07-04 16:37
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

不断搽掉,然后再新的位置画


天行健,君子以自强不息!!QQ:68660681
2007-07-04 16:52
piaopiao1219
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-22
收藏
得分:0 
还是不懂啊!我是菜鸟

2007-07-04 16:55
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

你说的是控制台程序吗?


天行健,君子以自强不息!!QQ:68660681
2007-07-04 16:56
piaopiao1219
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-5-22
收藏
得分:0 
假如汽车麻烦的话,字母也可以啊,怎么让他横向跑起来?应该要个定时器吧

2007-07-04 17:02
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
用定时器改变物体的坐标, 然后不断刷新.

人生重要的不是所站的位置,而是所朝的方向
2007-07-04 17:09
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
while(1)
{
system(cls);
for(i=0;i<=10;i++)
{
print(" ");
}
printf("A");
sleep(5);
}

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-04 17:31
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
修改下:
j=0;
while(1)
{
system(cls);
for(i=0;i<=j;i++)
{
print(" ");
}
printf("A");
sleep(5);
j++;
}

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-04 17:35
windflush
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:886
专家分:0
注 册:2007-7-1
收藏
得分:0 
C中的time.h来实现定时器,不过不会用,所以一般都是用循环来代替。处理方法如上

2007-07-04 21:24
cdmalcl
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:4091
专家分:524
注 册:2005-9-23
收藏
得分:0 
回复:(windflush)C中的time.h来实现定时器,不过...

在TC下:
用biostime函数实现
int boxtime(int stime)
{
tnew=biostime(0,tnew);
if(abs(tnew-told)>=stime)
{
told=tnew;
return 1;
}

return 0;
}

在VC下就麻烦了
正好刚看到教程里的程序:
#include <windows.h>

#define ID_TIMER 1

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT ("Beeper1") ;

HWND hwnd ;

MSG msg ;

WNDCLASS wndclass ;



wndclass.style = CS_HREDRAW | CS_VREDRAW ;

wndclass.lpfnWndProc = WndProc ;

wndclass.cbClsExtra = 0 ;

wndclass.cbWndExtra = 0 ;

wndclass.hInstance = hInstance ;

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;

wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;

wndclass.lpszMenuName = NULL ;

wndclass.lpszClassName = szAppName ;



if (!RegisterClass (&wndclass))

{

MessageBox ( NULL, TEXT ("Program requires Windows NT!"),

szAppName, MB_ICONERROR) ;

return 0 ;

}



hwnd = CreateWindow (szAppName, TEXT ("Beeper1 Timer Demo"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, CW_USEDEFAULT,

CW_USEDEFAULT, CW_USEDEFAULT,

NULL, NULL, hInstance, NULL) ;



ShowWindow (hwnd, iCmdShow) ;

UpdateWindow (hwnd) ;

while (GetMessage (&msg, NULL, 0, 0))

{

TranslateMessage (&msg) ;

DispatchMessage (&msg) ;

}

return msg.wParam ;

}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam,LPARAM lParam)

{

static BOOL fFlipFlop = FALSE ;

HBRUSH hBrush ;

HDC hdc ;

PAINTSTRUCT ps ;

RECT rc ;



switch (message)

{

case WM_CREATE:

SetTimer (hwnd, ID_TIMER, 1000, NULL) ;

return 0 ;

case WM_TIMER :

MessageBeep (-1) ;

fFlipFlop = !fFlipFlop ;

InvalidateRect (hwnd, NULL, FALSE) ;

return 0 ;



case WM_PAINT :

hdc = BeginPaint (hwnd, &ps) ;



GetClientRect (hwnd, &rc) ;

hBrush = CreateSolidBrush (fFlipFlop ? RGB(255,0,0) : RGB(0,0,255)) ;

FillRect (hdc, &rc, hBrush) ;

EndPaint (hwnd, &ps) ;

DeleteObject (hBrush) ;

return 0 ;



case WM_DESTROY :

KillTimer (hwnd, ID_TIMER) ;

PostQuitMessage (0) ;

return 0 ;

}

return DefWindowProc (hwnd, message, wParam, lParam) ;

}

2007-07-04 21:38
快速回复:在屏幕上画个汽车,怎么让他跑起来?只需要他向前走就可以了?
数据加载中...
 
   



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

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