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

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

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 9
На страницу: 1, 2, 3, 4, 5, 6, 7, 8, 9  След. | Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Злые беседы добрых программистов»
ZEUStiger
 67 EGP


Рейтинг канала: 1(3)
Репутация: 12
Сообщения: 112
Откуда: Украина - Ужгород
Зарегистрирован: 08.06.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, который и будет главным пусковым файлом.
_________________
Что бы учёные не делали, всегда найдутся люди которые превратят любое изобретение в оружие.

Последний раз редактировалось: NRG (23:10 25-04-2007), всего редактировалось 1 раз
    Добавлено: 11:13 11-04-2007   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Было дело, да. Гы-гы
Но как по мне - проще просто Паскаль запустить и написать такую же прогу но намного проще, быстрее, с средствами отладки и т.п.
_________________
MOV topka, C++
    Добавлено: 15:51 11-04-2007   
VBKesha
 817 EGP


Рейтинг канала: 3(31)
Репутация: 132
Сообщения: 3330
Откуда: обл.Брянская г. Трубчевск
Зарегистрирован: 07.12.2005
Оригинально что сказать. Может не актуально но оригинально точно.
    Добавлено: 22:23 11-04-2007   
YogSagot
 1175 EGP


Рейтинг канала: 1(8)
Репутация: 275
Сообщения: 2796
Откуда: Daugavpils, Latvija
Зарегистрирован: 17.08.2003
А в составе с PC-DOS'ом, помнится, поставлялась такая утилитка, которая позволяла примитивное подобие псевдографического интерфейса в .bat'ах рисовать. Кнопки, там, радиобатоны, поля ввода. Улыбка

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


Киборг
Рейтинг канала: 1(9)
Репутация: 232
Сообщения: 2696
Откуда: Ракслатенон
Зарегистрирован: 09.08.2005
а из под винды в окошке работать будет?
    Добавлено: 11:49 12-04-2007   
himem
 210 EGP


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

Последний раз редактировалось: himem (14:18 12-04-2007), всего редактировалось 1 раз
    Добавлено: 14:17 12-04-2007   
ZEUStiger
 67 EGP


Рейтинг канала: 1(3)
Репутация: 12
Сообщения: 112
Откуда: Украина - Ужгород
Зарегистрирован: 08.06.2006
DosBox юзайте.

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


Рейтинг канала: 4(83)
Репутация: 130
Сообщения: 3041

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

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

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

Последний раз редактировалось: Crimson (01:29 17-04-2007), всего редактировалось 1 раз
    Добавлено: 01:21 17-04-2007   
YogSagot
 1175 EGP


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

Последний раз редактировалось: YogSagot (23:02 17-04-2007), всего редактировалось 1 раз
    Добавлено: 23:01 17-04-2007   
Ur Quan
 510 EGP


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


Рейтинг канала: 4(83)
Репутация: 130
Сообщения: 3041

Зарегистрирован: 03.09.2003
YogSagot :
А в PC-DOS был встроен полуосевый rexx! Супер! Гы-гы


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


Рейтинг канала: 2(16)
Репутация: 106
Сообщения: 4415
Откуда: Загнивающий Запад
Зарегистрирован: 03.05.2003
Не, Рексс, - это прикольнее. Улыбка Такой привет от мэйнфреймов.

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


Рейтинг канала: 4(83)
Репутация: 130
Сообщения: 3041

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

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

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

Последний раз редактировалось: Crimson (06:22 21-04-2007), всего редактировалось 1 раз
    Добавлено: 06:21 21-04-2007   
YogSagot
 1175 EGP


Рейтинг канала: 1(8)
Репутация: 275
Сообщения: 2796
Откуда: Daugavpils, Latvija
Зарегистрирован: 17.08.2003
Crimson :
Асм - он ведь тоже простой

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


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


Модератор
Рейтинг канала: 6(329)
Репутация: 135
Сообщения: 10533
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
О чем спор?? Смысл же в том, что это особенное, прикольное и оригинальное.
Ясен пень что если вы 3Д шутер собираетесь написать, то на батнике мало чего получится.

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


Рейтинг канала: 2(16)
Репутация: 106
Сообщения: 4415
Откуда: Загнивающий Запад
Зарегистрирован: 03.05.2003
Ur Quan :
А начать, IMHO, можно с паскаля (Delphi), там "транслятор не позволит прострелить себе ногу".

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

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

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

Улыбка

Crimson :

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

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

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


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Ur Quan :
А начать, IMHO, можно с паскаля (Delphi), там "транслятор не позволит прострелить себе ногу".


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

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


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

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

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


Модератор
Рейтинг канала: 6(329)
Репутация: 135
Сообщения: 10533
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Jurec :
ничего нового в Сях нет, и ничего революционного по сравнению с Делфи


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

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

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


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

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

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

Глюки - вопрос корявости рук программиста и ТОЛЬКО его.
_________________
MOV topka, C++
    Добавлено: 21:43 21-04-2007   
Канал Игры Мечты: «Злые беседы добрых программистов»
На страницу: 1, 2, 3, 4, 5, 6, 7, 8, 9  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Тема выполнила недопустимую операцию и будет закрыта.

  » Злые беседы добрых программистов | страница 1
Каналы: Новости | 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