Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Злые беседы добрых программистов |
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Search | Conference rules | Album | Register | Pilots list | Profile | Log in to check your private messages | Log in

   Page 1 of 9
Go to page: 1, 2, 3, 4, 5, 6, 7, 8, 9  Next | All pages
Поиск в этой теме:
Канал Игры Мечты: «Злые беседы добрых программистов»
ZEUStiger
 67 EGP


Рейтинг канала: 1(3)
: 12
Posts: 112
Location: Украина - Ужгород
Joined: 08 Jun 2006
Этим, можно сказать, языком программирования я заинтересовался после того, как поиграл в старенькую текстовую игрушку 1993 года по мотивам Толкиеновского «Хоббита». Игра представляла собой набор .bat файлов, вызываемых через командную строку ДОСа. «Почитав» содержимое файлов, я заинтересовался этой идеей.

Моя тестовая программа появилась на свет винчестера уже через 15 минут...

А сейчас решил поделиться опытом. Может кого-то заинтересует это, так же как и меня.

Системные требования: Операционная система DOS 5.0 или выше. Процессор х86. Оперативная память 2 Мб. Видеокарта: Нафиг не нужна. Винчестер: Кроме установленного DOS`а и других системных файлов – 64 Кб (размер игрушки нехилого размаха), в общей сложности – 32 Мб хватит вполне. Клавиши – много шт. Минимальные знания английского и программирования (хотя бы знать, что такое переменные). Ну и желание конечно. Также весьма желательно наличие нехилого Интернета – качать придется аж 0 байт и 0 бит. Улыбка

Как это будет выглядеть: «Космических Рейнджеров» видели? Читали их текстовые квесты? Так вот, это будет то же самое, но ответы придется не выбирать из списка, а писать самому в командной строке.

Итак, поехали:

Первое, что нужно знать, это команда echo off.

В начале любого бата должна стоять надпись:

@echo off

Она отрубает все системные команды. Без нее у вас будет не квест, а чёрти что. Можете попробовать и не отключать, но после созерцания выведенного на экран вы убедитесь в необходимости отключения.

Создаем файл, например start.bat. Можно использовать обычный блокнот.
В нем пишем:

@echo off

Дальше надо создать переменную, которая будет содержать данные о том, к какой комнате мы находимся. Пишем:

set &room=exampleroom01

Название может быть любое. set – это указание задать переменную. Все переменные должны иметь префикс &. room – это название переменной (может быть любое). Вместе будет - &room. Думаю, что такое «=» объяснять не надо. exampleroom01 – это значение переменно (любое; может быть числом или словом). Дальше надо создать файл, который будет описывать комнату в которой находиться игрок. Пишем:

call look

call – указание программе вызвать какой-то файл. look – это название файла, который будет вызываться. Расширение .bat писать не обязательно, если у вас в папке нет других файлов с этим названием другого формата.

На этом терзание start.bat мы закончим. Создаем тот самый look.bat. Пишем в него:

@echo off
if “%&room%” == “exampleroom01” goto exr01

С первой строкой всё понятно, это надо делать отдельно в каждом файле. А вот со второй посложнее. If - если. “%&room%” – название переменной. == - знак равности. “exampleroom01” – значение переменной. goto – задание, которое будет выполняться если условие выполняется. В этом примере будет выполняться переход (goto) к процедуре exr01. Получается – если переменная “%&room%” равно “exampleroom01” то перейти (goto) к процедуре exr01. Не очень трудно, правда? Дописываем:

goto error

Это значит, что если ни одно из указанных выше условий не будет выполняться, что будет сделан переход к процедуре error.

Теперь создадим эти процедуры:

:exr01
echo You are staying in room.
echo.
echo LUMBER is burning in fireplace
echo.
echo In the far end of the room lies the CHEST. It looks very old
echo and don’t locked. Maybe you can OPEN it.
echo.
echo There is a DOOR in the south wall.
goto exit

:error
echo.
echo IT SEEMS THET ERROR OCCURRED IN PROGRAM!!!
goto exit

:exit
echo.
echo What will you do?

При создании процедуры ставиться :, а потом её название. После этой строки вы можете писать любые команды. Команда echo – ввод текста в окно. Всё, что находится после команды, будет записано на экране. Чтобы пропустить строку можно писать echo. . Для тех, кто не смыслит в английском языке, переведу текст. «Вы стоите в комнате. ДРЕВЕСИНА горит в огне. В дальнем конце комнаты лежит СУНДУК. Он выглядит очень старым и не закрытым. Возможно, вы сможете ОТКРЫТЬ его». После любого текста будет вводиться фраза «Что вы будете делать?». ЗАГЛВАНЫМИ буквами можно выделять основные слова, чтобы обратить на них внимание игрока.

После всего, вид файла будет такой:

@echo off

if “%&room%” == “exampleroom01” goto exr01
goto error

:exr01
echo You are staying in room.
echo.
echo LUMBER is burning in fireplace
echo.
echo In the far end of the room lies the CHEST. It looks very old
echo and don’t locked. Maybe you can OPEN it.
echo.
echo There is a DOOR in the south wall.
goto exit

:error
echo.
echo IT SEEMS THET ERROR OCCURRED IN PROGRAM!!!
goto exit

:exit
echo.
echo What will you do?

Всё. Можно запускать программу через start.bat, который и будет главным пусковым файлом.
_________________
Что бы учёные не делали, всегда найдутся люди которые превратят любое изобретение в оружие.

Last edited by NRG on 23:10 25-04-2007; edited 1 time in total
    Posted: 11:13 11-04-2007   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
Было дело, да. Гы-гы
Но как по мне - проще просто Паскаль запустить и написать такую же прогу но намного проще, быстрее, с средствами отладки и т.п.
_________________
MOV topka, C++
    Posted: 15:51 11-04-2007   
VBKesha
 818 EGP


Рейтинг канала: 3(31)
: 132
Posts: 3330
Location: обл.Брянская г. Трубчевск
Joined: 07 Dec 2005
Оригинально что сказать. Может не актуально но оригинально точно.
    Posted: 22:23 11-04-2007   
YogSagot
 1175 EGP


Рейтинг канала: 1(8)
: 275
Posts: 2796
Location: Daugavpils, Latvija
Joined: 17 Aug 2003
А в составе с PC-DOS'ом, помнится, поставлялась такая утилитка, которая позволяла примитивное подобие псевдографического интерфейса в .bat'ах рисовать. Кнопки, там, радиобатоны, поля ввода. Улыбка

Другое дело, что для запуска всего этого приходилось неслабо с config.sys химичить. Рыдания. Ой, не могу!..
    Posted: 00:40 12-04-2007   
Снуч
 941 EGP


Киборг
Рейтинг канала: 1(9)
: 232
Posts: 2696
Location: Ракслатенон
Joined: 09 Aug 2005
а из под винды в окошке работать будет?
    Posted: 11:49 12-04-2007   
himem
 210 EGP


: 24
Posts: 343
Location: Дзержинск- Нижегородский
Joined: 24 Jan 2004
У меня не работает... Расстроен Новое окно открывает...
А ваще интересная возможность управления консольными прогами...
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!

Last edited by himem on 14:18 12-04-2007; edited 1 time in total
    Posted: 14:17 12-04-2007   
ZEUStiger
 67 EGP


Рейтинг канала: 1(3)
: 12
Posts: 112
Location: Украина - Ужгород
Joined: 08 Jun 2006
DosBox юзайте.

Насчёт Паскаля - баты точно проще. Это не язык программирования, а всего лишь пакетные файлы.
_________________
Что бы учёные не делали, всегда найдутся люди которые превратят любое изобретение в оружие.
    Posted: 14:03 16-04-2007   
Crimson
 560 EGP


Рейтинг канала: 4(83)
: 130
Posts: 3041

Joined: 03 Sep 2003
Пакетные файлы это всего лишь кастрированный язык программирования. На котором проще писать разве что кастрированные программы.

Единственное преимущество - интерпретатор встроен в ось, благодаря чему не нужно ставить компилятор/интерпретатор дополнительно. Но при попытке хоть немного усложнить программу начнутся большие проблемы, как раз из-за чрезмерной простоты языка.

Плюс ресурсы хранятся практически в голом виде, и любой более-менее соображающий игрок может просмотреть и переписать все что ему вздумается. Я бы все-таки советовал учить си (или хотя бы дельфи Гы-гы), они не такие страшные как кажется. А так это баловство просто.

Last edited by Crimson on 01:29 17-04-2007; edited 1 time in total
    Posted: 01:21 17-04-2007   
YogSagot
 1175 EGP


Рейтинг канала: 1(8)
: 275
Posts: 2796
Location: Daugavpils, Latvija
Joined: 17 Aug 2003
Crimson wrote:
Единственное преимущество - интерпретатор встроен в ось, благодаря чему не нужно ставить компилятор/интерпретатор дополнительно.
А в PC-DOS был встроен полуосевый rexx! Супер! Гы-гы

Last edited by YogSagot on 23:02 17-04-2007; edited 1 time in total
    Posted: 23:01 17-04-2007   
Ur Quan
 510 EGP


Рейтинг канала: 1(5)
: 86
Posts: 728
Location: Арк-а-Зной
Joined: 25 Nov 2003
Писать игрушки можно на чём угодно было бы желание, идея и средство программирования.
Забавный боян: О языках программирования
_________________
Рад видеть тебя на борту. Здесь Дом Свободы — можешь плевать на ковер и называть кота ублюдком.
    Posted: 18:17 18-04-2007   
Crimson
 560 EGP


Рейтинг канала: 4(83)
: 130
Posts: 3041

Joined: 03 Sep 2003
YogSagot wrote:
А в PC-DOS был встроен полуосевый rexx! Супер! Гы-гы


А в i286 был встроен бесик Улыбка И что теперь? Мало ли что куда когда было встроено... Гы-гы
    Posted: 12:29 19-04-2007   
Trident
 610 EGP


Рейтинг канала: 2(16)
: 106
Posts: 4415
Location: Загнивающий Запад
Joined: 03 May 2003
Не, Рексс, - это прикольнее. Улыбка Такой привет от мэйнфреймов.

А вообще, ЕМНИП, подобными средствами МакОси был написан аж целый Мист, так что были бы идеи. Подмигиваю
_________________
Злостный РетроГад(tm) и конверсатор. И да, пуркуа гнобэ-ву наших нубов?
    Posted: 13:49 19-04-2007   
Crimson
 560 EGP


Рейтинг канала: 4(83)
: 130
Posts: 3041

Joined: 03 Sep 2003
Не, бесспорно, при наличии идей можно даже в полностью текстовом режиме Зорка наваять Улыбка

Я только не согласен с тем, что нужно начинать с батников "потому что это просто и всем доступно". Потому что батники это не "просто", а "ограниченно" - что имеет привычку выливаться в усложнение кода и/или урезание функциональности. Асм - он ведь тоже простой Улыбка

А если плясать от доступности, то начинать стоит как минимум с яваскрипта, имхо. На котором тоже много чего наворотить можно, "при наличии интеллекта" Алл райт, копирайт!

Last edited by Crimson on 06:22 21-04-2007; edited 1 time in total
    Posted: 06:21 21-04-2007   
YogSagot
 1175 EGP


Рейтинг канала: 1(8)
: 275
Posts: 2796
Location: Daugavpils, Latvija
Joined: 17 Aug 2003
Crimson wrote:
Асм - он ведь тоже простой

Простой, но НЕ ограниченный. Улыбка При желании на чистом асме можно даже ООП реализовать, сам видел трансляторы. Другое дело, что сексом я все-же предпочитаю заниматся по старинке, с женщиной. Ой, не могу!.. Ой, не могу!.. Ой, не могу!..
    Posted: 12:27 21-04-2007   
Ur Quan
 510 EGP


Рейтинг канала: 1(5)
: 86
Posts: 728
Location: Арк-а-Зной
Joined: 25 Nov 2003
"Задача: Пpостpелить себе ногу
Assembler: Вы пытаетесь пpостpелить себе ногу, но обнаруживаете, что прежде Вам придется изобрести пистолет, пулю, курок и Вашу ногу." Хы...
А начать, IMHO, можно с паскаля (Delphi), там "транслятор не позволит прострелить себе ногу".
_________________
Рад видеть тебя на борту. Здесь Дом Свободы — можешь плевать на ковер и называть кота ублюдком.
    Posted: 13:15 21-04-2007   
Minx
 1025 EGP


Модератор
Рейтинг канала: 6(332)
: 139
Posts: 10551
Location: Gomel, Belarus
Joined: 19 Nov 2005
О чем спор?? Смысл же в том, что это особенное, прикольное и оригинальное.
Ясен пень что если вы 3Д шутер собираетесь написать, то на батнике мало чего получится.

Мне, оч даж кстати бат-демки идут.
_________________
μηδείς αγεωμέτρητος εισίτω
    Posted: 14:39 21-04-2007   
Trident
 610 EGP


Рейтинг канала: 2(16)
: 106
Posts: 4415
Location: Загнивающий Запад
Joined: 03 May 2003
Ur Quan wrote:
А начать, IMHO, можно с паскаля (Delphi), там "транслятор не позволит прострелить себе ногу".

При всей моей искренней любви к Паскалю, - несогласен. Ибо, в Дельфях, как только вылезаешь за пределы "компонентиков на формочках" (а в играх это приходиться делать всегда), начинается ТАКОЕ, эгхм, действо, что проще писать сразу на C и не париться.

Авторов Age of Wonders это не остановило, правда, за что им и респект.

Crimson wrote:
Не, бесспорно, при наличии идей можно даже в полностью текстовом режиме Зорка наваять

Улыбка

Crimson wrote:

А если плясать от доступности, то начинать стоит как минимум с яваскрипта, имхо. На котором тоже много чего наворотить можно, "при наличии интеллекта"

Тогда уж с Java. Всё-таки при всех её недостатках она изначально к системе ближе и для проектов размера от Тетриса и выше подходит больше чем JScript.

Там и IDE есть очень хорошие забесплатно
(меня VS.Net в своё время не впечатлила... Половину этого я уже хде-то в эклипсе видел Улыбка )
_________________
Злостный РетроГад(tm) и конверсатор. И да, пуркуа гнобэ-ву наших нубов?
    Posted: 16:05 21-04-2007   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
Ur Quan wrote:
А начать, IMHO, можно с паскаля (Delphi), там "транслятор не позволит прострелить себе ногу".


С знанием дела на Делфи можно себе одновременно прострелить и ногу и голову и всё остальное - главное умение стрелка Подмигиваю

Trident wrote:
начинается ТАКОЕ, эгхм, действо, что проще писать сразу на C и не париться.


А всё из-за того что делфисты в основном - начинающие программисты, поэтому язык и считают учебным. Я отношусь не к начинающим делфистам. Ща вот на Си перехожу и уже используя много его возможностей говорю - ничего нового в Сях нет, и ничего революционного по сравнению с Делфи. До сих пор не знаю чтоб можно написать на Си, что нельзя написать на Делфи (не надо приводить в пример синтаксический сахар типа i++, ? : и т.д. т.к. в Делфи тож есть свои уникальные приятности, но это не уникальная возможность языка).

Эээ, чёт меня на холивар тянет - если хотите - можн в приват Хы...
______

насчет батников, то это то с чего я начинал ) "О, счастливчик!" даж писал Ой, не могу!..
_________________
MOV topka, C++
    Posted: 18:15 21-04-2007   
Minx
 1025 EGP


Модератор
Рейтинг канала: 6(332)
: 139
Posts: 10551
Location: Gomel, Belarus
Joined: 19 Nov 2005
Jurec wrote:
ничего нового в Сях нет, и ничего революционного по сравнению с Делфи


Нашел чего сравнивать - C, процедурный язык 70-х, и Дельфи как RAD ориентация на БД.

И если уж на то пошло, то на машине тьюринга можно все написать. Вопрос только сколько времени это займет и сколько в проге глюков будет.

А слабо элиту на bat-никах написать?? А? Вот это бы было дело! (А вы ноктюрн сыграть могли бы на флейте водосточных труб? (с) Маяковский )
_________________
μηδείς αγεωμέτρητος εισίτω
    Posted: 21:05 21-04-2007   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
: 102
Posts: 1441 Заблокирован
Location: Seattle
Joined: 25 Feb 2006
Minx wrote:
Нашел чего сравнивать - C, процедурный язык 70-х, и Дельфи как RAD ориентация на БД.

Ссори, имел ввиду С++

Minx wrote:
Вопрос только сколько времени это займет и сколько в проге глюков будет.

Глюки - вопрос корявости рук программиста и ТОЛЬКО его.
_________________
MOV topka, C++
    Posted: 21:43 21-04-2007   
Канал Игры Мечты: «Злые беседы добрых программистов»
Go to page: 1, 2, 3, 4, 5, 6, 7, 8, 9  Next | All pages
  
Display posts from previous: 
View previous topic | View next topic |
К списку каналов | Наверх страницы
Цитата не в тему: Эх, хороша конфа, раздольна - есть куда послать бедного новиса! (наслаждается Hognar)

  » Злые беседы добрых программистов |
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18