текстовая помощь и советы по приключениям

Я решил сделать текстовое приключение и понял, что мало что знаю о его создании. Однако я знаю, что хочу сделать это с помощью пакетного файла, просто потому, что я думаю, что с ним легче работать и делиться им. У меня не так много вопросов прямо сейчас, но я уверен, что со временем я придумаю больше (если я решу, что это весело), ​​но сейчас у меня есть два вопроса:

  1. Как сделать так, чтобы строки выглядели так, как будто их кто-то печатает?

  2. Как вы заставляете линию ждать x секунд, прежде чем перейти к следующему процессу (вы знаете «драматический эффект»)

редактировать я забыл поставить скрипт, с которым мне нужна помощь, извините (он должен выглядеть как экран "пробуждение нео" из "Матрицы", но я не могу сделать интервалы меньше 2 или скрыть текст пинга под).

    echo h
    PING 127.0.0.1 -n 2
    cls
    echo he
    PING 127.0.0.1 -n 2
    cls
    echo hel
    PING 127.0.0.1 -n 2
    cls
    echo hell
    PING 127.0.0.1 -n 2
    cls
    echo hello
    PING 127.0.0.1 -n 3
    cls
    echo hello.
    PING 127.0.0.1 -n 3
    cls
    echo hello..
    PING 127.0.0.1 -n 3
    cls
    echo hello...
    PING 127.0.0.1 -n 5

person Eli Schmidt    schedule 24.07.2013    source источник
comment
Добро пожаловать в СО. Это сайт вопросов и ответов. Сначала прочитайте какой-нибудь учебник по пакетному программированию, попробуйте код и вернитесь со своим кодом и подробным вопросом, тогда мы будем рады вам помочь.   -  person PA.    schedule 24.07.2013
comment
Попробуйте взглянуть на код других пакетных приключений, таких как Dostips: Swords of Morovaith.   -  person jeb    schedule 24.07.2013


Ответы (1)


Ожидание/задержка [Источник]

PING 127.0.0.1 -n 6 >nul

5-секундная задержка

  • Как это работает: 6 эхо-запросов с 1-секундной паузой между ними по умолчанию с петлевым IP-адресом.
  • -n не может быть меньше 2, иначе задержки не будет.

Задержка ‹ 1 секунда

PING 10.1.1.1 -n 1 -w 200 >nul

Задержка 200 миллисекунд с использованием частного IP-адреса и флага тайм-аута -w. (только отрегулируйте значение -w и оставьте -n равным 1 при использовании этого метода)


Отличные ресурсы для начала работы

Роб ван дер Вуде

SS64

Подсказки

ComputerHope

TechNet


Пример

Вот пример подпрограммы ввода, которая распечатывает каждый символ сообщения с задержкой 200 мс между каждым символом.

@echo off
call :Typing "hello..."
exit /b 0

:Typing <Message>
setlocal
set "Message=%~1"
:TypingLoop
ping 10.1.1.1 -n 1 -w 200 >nul
<nul set /p "=%Message:~0,1%"
set "Message=%Message:~1%"
if defined Message goto TypingLoop
endlocal
exit /b 0
person David Ruhmann    schedule 24.07.2013
comment
Это хорошо, но ничто из того, что я пробовал, не может скрыть, есть ли способ, которым вы можете думать, что это работает - person Eli Schmidt; 24.07.2013
comment
Чтобы скрыть вывод команды, используйте перенаправление вывода. ping 127.0.0.1 -n 6 >nul - person David Ruhmann; 24.07.2013
comment
большое спасибо, это помогло мне выделить. у меня есть первая часть игры, и я не смог бы сделать это без вашей помощи, спасибо - person Eli Schmidt; 25.07.2013
comment
@EliSchmidt Рад помочь :) и добро пожаловать в SO. - person David Ruhmann; 25.07.2013