c语言图形界面 可不可以两个独立的循环同时运行

如果可以,请给出具体的方法,谢谢啦!
这是大一的作业,我只是想在“子弹发射”的循环的同时可以不影响我“控制坦克行动”的循环,同时“背景”的循环又不影响上面两个循环
1.多线程我有点眉目了,但在执行的时候还是互相影响了,好像是延时问题(不清楚?)总是出现下面类似的画面,红色障碍物跟绿色坦克有时候会留影,擦不干净
2.那个“定时器的方案是什么意思啊?能不能说的仔细一点?谢谢啦
这是我编的多线程的程序代码(射击用的没编完,删掉了这部分,可能有些变量没删全)
http://zhidao.baidu.com/question/169795564.html

第1个回答  2010-07-26
呵呵,你说的情况就是程序设计中的多线程。一个进程中可以创建多个线程,并发执行,共享内存。
理论上是可以的。操作系统大部分代码都是C写的。但是实际的程序设计应用大多数还是用的基于C++的windows多线程方面提供的接口。比如VC++就提供这样的API。或者JAVA的thread,编写多线程程序更加直观方便。
楼主你是大一新生吗?要做C语言的大作业吗?当初我做的是个坦克大战游戏,非常拙劣的。但是当时非常开心。C语言也是我学的最扎实,从来都没忘过的。
第2个回答  2010-07-29
也不一定非要多线程

用个定时器也可以。
每50ms重绘一下背景,调整一下物体的坐标。
这样1秒能显示20幅画面,看起来就是连续动作。
键盘按下的时间长度和坦克位移成正比

注意一个问题http://zhidao.baidu.com/question/34270506.html本回答被提问者采纳
第3个回答  2010-07-27
多线程并发!!!
在操作系统下 通过系统API可以实现
第4个回答  2010-07-28
第5个回答  2010-07-26
多线程吧。

c语言图形界面 可不可以两个独立的循环同时运行
理论上是可以的。操作系统大部分代码都是C写的。但是实际的程序设计应用大多数还是用的基于C++的windows多线程方面提供的接口。比如VC++就提供这样的API。或者JAVA的thread,编写多线程程序更加直观方便。楼主你是大一新生吗?要做C语言的大作业吗?当初我做的是个坦克大战游戏,非常拙劣的。但是当时非常开...

C语言图形界面中如何读入键盘值
在图形模式下,用getch();一般来说是达不到我们想要的目的的,因为它要使界面暂停(等待用户输入),其实更多的时候我们是想让这个程序一直运行着,当有按键输入时它才处理输入!TC里给了两个函数 kbhit()与bioskey(int num)两个函数的学习楼主可以到 baidu百科 里去查询学习一下!这两个函数与getch...

C语言实现 在编写图形界面软件的时候,经常会遇到处理两个矩形的关系
\/\/这是JAVA吧import java.awt.Rectangle;import java.util.Scanner;public class Demo13_Rectang {public static Rectangle getRec(Rectangle[] rec){Scanner scan = new Scanner(System.in);String s = scan.nextLine();String[] ss = s.split(",");int x1 = Integer.parseInt(ss[0]);int y...

C语言如何做图形界面?
8. graphdefaults()图形设置复位缺省值函数 9. setgraphmode() 设置图形模式函数 10. restorecrtmode() 恢复文本显示模式函数 11. graphresult() 图形操作结果函数 12. grpaherrormsg() 图形错误信息函数 13. setgraphbufsize()设置图形缓冲区大小函数 14. setactivepage() 设置可输出显示页函数 15. set...

C语言图形界面怎么做出来
LoadString(hInstance, IDC_C, szWindowClass, MAX_LOADSTRING);MyRegisterClass(hInstance);\/\/ 执行应用程序初始化:if (!InitInstance (hInstance, nCmdShow)){ return FALSE;} hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_C));\/\/ 主消息循环:while (GetMessage(&msg, NULL, 0, 0)...

C语言图形界面中如何输入文本或参数?
图形方式和命令行方式是截然不同的,因为图形方式是将整个屏幕看作一块图形区域,而不是配合用户输入输出的字符页面。所以在图形方式下,最好不直接直接使用printf和scanf函数来获得键盘输入,以免破坏图形。而是使用getch等函数来读取键盘的输入。如果想要把键盘输入的ascii字符转换为整数和浮点型数值,那么还...

C语言编程问题 高手进
如果第2点满足了,那么第3点也不需要多线程了。估计你用的是TC编译器,这是一个很差的编译器,建议你使用VC++(window)或者gcc(Linux\/Unix)两者之一。图形和多线程都是与操作系统相关的东西,单单的C语言标准库是没有这类函数的,所以,如果你真的要实现这些东西,请选译一个平台(window或Linux)...

如何打开C语言的工作界面
1、C语言编程界面就是IDE。IDE(Integrated Development Environment,集成开发环境)。其缩写形式IDE同时也代指“电子集成驱动器”。IDE集成开发环境(简称IDE)软件是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。该程序可以独立运行,也可以和其它程序并用。例如,BASIC...

c语言中 算法是什么 与编程图形界面有什么关系
如果你的n个cpp文件,都是独立的工程,那么把这些cpp文件全编译,生成exe文件后,把全部exe文件放在主工程目录下,然后在每个按钮的响应函数中写system("程序名.exe");就行了。如果你的n个cpp文件不是独立的工程,只是若干函数的话,在每个按钮的响应函数中调用这些函数就行了。

C语言图形界面一闪而过
getch();加一个暂停getch();应该就OK了!!加了getch(); 也加了system(“plause”);用的win-tc 编译的,代码太长,发不过去,在别人电脑上市可以运行的。。。既然这样,我也无能为力!

相似回答