Искусственный биом в партии - PullRequest
1 голос
/ 23 декабря 2010
:Life

set /a R=%random%%%50+1
echo %random% >> %R%.bat
set /a t=%time:~6,-3%
If %t% geq 10 (
  set /a t=%t%-10
) else (
  set /a t=%t%+10
)
:wait
  If %time:~6,-3% neq %t% goto :Wait
:death
  set /a K=%random%%%50+1
  del /Q %K%.bat
:disease
  set /a D=%random%%%150+1
If %D% EQU 150 del /Q *.bat (
  goto Life
) else (
  If %D% EQU 150 echo On Error Resume Next > temp.vbs
  If %D% EQU 150 echo MsgBox "Disease Killed The Biome", vbInformation + vbSystemModal + vbOKOnly, "Life.exe" >> temp.vbs
  If %D% EQU 150 cscript temp.vbs
  If %D% EQU 150 del temp.vbs
goto Life
)
:EOF

Так что моя проблема в двигателе таймера.Сам счетчик содержит 00–59, а другой - 0–59, поэтому, когда тикер попадает в число и имеет значение 9 или менее, он пропускает их на следующей пасхе, потому что у них нет 09 (и т. Д.)Есть ли способ, где я могу установить код для другого тикера, чтобы остаться на 59 все время?

1 Ответ

0 голосов
/ 23 декабря 2010

Было бы легче читать, если бы вы могли немного отформатировать свой код.

Чтобы решить вашу текущую проблему, вы можете использовать время для десятичной обработки.

set /a t=1%time:~6,-3%-100

В противном случае у вас возникли проблемы со временем 08 и 09, поскольку из-за начального нуля предполагается, что оно должно быть восьмеричным значением, и происходит сбой.

И в цикле ожидания выМожно использовать тот же способ

:wait
set /a now=1%time:~6,-3%-100
If %now% neq %t% goto :Wait

Но, чтобы подождать время, лучше использовать способ,

ping localhost -n [sec]+1 > NUL

, потому что ваш путь потребляет 100% процессора (одно ядро).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...