【求助,关于游戏的射击】
pascal吧
全部回复
仅看楼主
level 9
zsj12345678999
楼主
1楼喂度娘
2016年09月03日 03点09分
1
level 9
zsj12345678999
楼主
是这样的,windows库的createthread可以做到多线程,但是当人物移动时,子弹也在飞(
),然后输出的话要不停的跳转,可是,有时候线程和主过程会撞车,导致本应该输在一个位置的字符输在另一个位子(即错位),想求助一下则么办?坦克大战是如何解决这个问题的?
我尝试过用boolean判断是否输出被使用,但是效果不大。。。
repeat
k:=1;
until pdp=true;
pdp:=false;
//想输出的东西
pdp:=true;
这样的话好像还是会错位。。。
2016年09月03日 03点09分
2
zsj12345678999
@pascalmimi
2016年09月03日 10点09分
level 9
小德菌Niar
我的解决方法:专门做一个用于输出的线程,让其他线程发出指令,这个线程进行逐个处理,就像自动队列一样
2016年09月03日 05点09分
3
zsj12345678999
详细一点
。。。
2016年09月03日 10点09分
小德菌Niar
@zsj12345678999
你叫我怎么说呢
,现在没电脑耶......
2016年09月03日 11点09分
level 9
ax_pokl
http://baike.baidu.com/item/EnterCriticalSection
2016年09月03日 23点09分
5
zsj12345678999
好东西,求pascal的详细用法,最好举个栗子
2016年09月04日 02点09分
zsj12345678999
pascal中的这个的详细用法(一不小心打错了。。。)
2016年09月04日 02点09分
ax_pokl
@zsj12345678999
uses windows;
2016年09月04日 15点09分
zsj12345678999
@ax_pokl
好简洁。。。
2016年09月05日 14点09分
1