Batch file 是否有可能使变量每秒下降/上升?

Batch file 是否有可能使变量每秒下降/上升?,batch-file,windows-8,Batch File,Windows 8,我正在用Windows BATCH制作一个RPG游戏,血液是一个变量。我想增加出血,但不知道怎么做 我能做些什么改变让%血液%每秒下降一次吗 :BLEEDINGHUNGERANDTHIRST if /a %bleeding% equ 1 set %blood% = 5500 -=1 (我知道,这是错误的)是的,这是可能的,但您需要一些有关高级批处理编程的知识 只需启动两个线程。 一个线程用于等待和接受用户输入,第二个线程用于计算诸如出血之类的事情 对于同步,您应该查看dbenham的技术。

我正在用Windows BATCH制作一个RPG游戏,血液是一个变量。我想增加出血,但不知道怎么做

我能做些什么改变让%血液%每秒下降一次吗

:BLEEDINGHUNGERANDTHIRST  
if /a %bleeding% equ 1 set %blood% = 5500 -=1

(我知道,这是错误的)

是的,这是可能的,但您需要一些有关高级批处理编程的知识

只需启动两个线程。
一个线程用于等待和接受用户输入,第二个线程用于计算诸如出血之类的事情

对于同步,您应该查看dbenham的技术。

查看参考游戏

是的,这是可能的,但您需要一些有关高级批处理编程的知识

只需启动两个线程。
一个线程用于等待和接受用户输入,第二个线程用于计算诸如出血之类的事情

对于同步,您应该查看dbenham的技术。

查看参考游戏

是的,这是可能的,但您需要一些有关高级批处理编程的知识

只需启动两个线程。
一个线程用于等待和接受用户输入,第二个线程用于计算诸如出血之类的事情

对于同步,您应该查看dbenham的技术。

查看参考游戏

是的,这是可能的,但您需要一些有关高级批处理编程的知识

只需启动两个线程。
一个线程用于等待和接受用户输入,第二个线程用于计算诸如出血之类的事情

对于同步,您应该查看dbenham的技术。

参见参考游戏

假设出血为0(无出血)或1(出血),更多(淤血)或更少(愈合)

让它每秒钟发生一次取决于代码的其余部分以及调用例程的时间和方式

肮脏的方式可能是

:流血的行尸走肉
如果不是,则为/f“标记=3 delims=:,,,,”%%a in(“%time::0=:%”)执行(
如果未定义lastBleedingTime(
设置“lastBleedingTime=%%a”
设置/a“血液-=%出血%”
)否则(
如果不是%lastBleedingTime%0==%%a0(
延迟扩展
如果!lastbledingtime!gtr%%a(
设置/a“间隙=60 lastBleedingTime+%%a”
)否则(
设置/a“间隙=%%a-lastBleedingTime”
)
对于(“!间隙!”)中的/f%%b,请执行以下操作(
端部
设置/a“lastBleedingTime=%%a”,“blood-=%blood%*%%b”
)
)
)
)

这将使用上次通话和现在通话之间的时间差。根据上次检查所经过的秒数,从bood计数器中减去出血量。要使此功能正常工作,您需要确保在一分钟内调用例程不止一次(理想情况下至少每秒调用一次),并在玩家停止流血时使用
设置“lastBleedingTime=“
”。

假设
流血
为0(无流血)或1(流血),更多(流血)或更少(愈合)

让它每秒钟发生一次取决于代码的其余部分以及调用例程的时间和方式

肮脏的方式可能是

:流血的行尸走肉
如果不是,则为/f“标记=3 delims=:,,,,”%%a in(“%time::0=:%”)执行(
如果未定义lastBleedingTime(
设置“lastBleedingTime=%%a”
设置/a“血液-=%出血%”
)否则(
如果不是%lastBleedingTime%0==%%a0(
延迟扩展
如果!lastbledingtime!gtr%%a(
设置/a“间隙=60 lastBleedingTime+%%a”
)否则(
设置/a“间隙=%%a-lastBleedingTime”
)
对于(“!间隙!”)中的/f%%b,请执行以下操作(
端部
设置/a“lastBleedingTime=%%a”,“blood-=%blood%*%%b”
)
)
)
)

这将使用上次通话和现在通话之间的时间差。根据上次检查所经过的秒数,从bood计数器中减去出血量。要使此功能正常工作,您需要确保在一分钟内调用例程不止一次(理想情况下至少每秒调用一次),并在玩家停止流血时使用
设置“lastBleedingTime=“
”。

假设
流血
为0(无流血)或1(流血),更多(流血)或更少(愈合)

让它每秒钟发生一次取决于代码的其余部分以及调用例程的时间和方式

肮脏的方式可能是

:流血的行尸走肉
如果不是,则为/f“标记=3 delims=:,,,,”%%a in(“%time::0=:%”)执行(
如果未定义lastBleedingTime(
设置“lastBleedingTime=%%a”
设置/a“血液-=%出血%”
)否则(
如果不是%lastBleedingTime%0==%%a0(
延迟扩展
如果!lastbledingtime!gtr%%a(
设置/a“间隙=60 lastBleedingTime+%%a”
)否则(
设置/a“间隙=%%a-lastBleedingTime”
)
对于(“!间隙!”)中的/f%%b,请执行以下操作(
端部
设置/a“lastBleedingTime=%%a”,“blood-=%blood%*%%b”
)
)
)
)

这将使用上次通话和现在通话之间的时间差。根据上次检查所经过的秒数,从bood计数器中减去出血量。要使此功能正常工作,您需要确保在一分钟内调用例程不止一次(理想情况下至少每秒调用一次),并在玩家停止流血时使用
设置“lastBleedingTime=“
”。

假设
流血
为0(无流血)或1(流血),更多(流血)或更少(愈合)

让它每秒钟发生一次取决于代码的其余部分以及调用例程的时间和方式

肮脏的方式可能是

:流血的行尸走肉
如果不是,则为/f“标记=3 delims=:,,,,”%%a in(“%time::0=:%”)执行(
如果未定义lastBleedingTime(
设置“lastBleedingTi
set /a "blood-=bleeding"