Если писать, например, текстовый квест, то можно ли на basic'е сделать ввод русскими буквами?
Например:
взять яблоко
Если можно то подскажите как
Вид для печати
Если писать, например, текстовый квест, то можно ли на basic'е сделать ввод русскими буквами?
Например:
взять яблоко
Если можно то подскажите как
Использовать шрифт, в котором вместо строчных латинских будут прописные русские буквы в раскладке ЯВЕРТЫ. взять яблоко набирается как vzqt] qbloko
все текстовые квесты (Ленин, Иван Царевич) так работали
Тоесть чтоб на клавиатуре жать русские клавиши под бэйсиком несделать никак?
На оригинальном спеке нет клавиш с кириллицей.
А если нажимать транслитерированные (vzqt] qbloko), то надо в шрифте изображение русских символов делать для соответствующих латинских символов.
Fishbone, заходим на virtual tr-dos (ссылка в "шапке" форума), и качаем ..для пользователей и программистов. Там есть глава про руссификацию.
---------- Post added at 22:13 ---------- Previous post was at 22:07 ----------
Также, рабочий вариант есть в книге как написать игру на бейсике.
---
Текстовые квесты на русском языке - гиблое дело. Замучаетесь с морфологическим распознаванием (рода, падежи и т.д.).
Квесты имеет смысл делать по типу ЗН или Danger Mouse.
Цитата:
Также, рабочий вариант есть в книге как написать игру на бейсике.
---
Текстовые квесты на русском языке - гиблое дело. Замучаетесь с морфологическим распознаванием (рода, падежи и т.д.).
Квесты имеет смысл делать по типу ЗН или Danger Mouse.
Эту книгу читал, по тому способу собирался текст на экране писать.
Навыков нет чето по типу ЗН делать. Хотел "Бравого фидошника" сделать
а получается итак "Текстовые квесты на русском языке - гиблое дело" , а если еще и команды писать транскрипцией то вобще играть тяжко(
Fishbone, просто команду: "взять яблоко" достаточно однозначна. Какую-то более сложную смысловую конструкцию, распознать будет более затруднительно (да и писать замучаешся).
На самом деле, кроме руссификации ЯВЕРТЫ в отечественных клонах было два "стандарта" ЙЦУКЕН и ЦУКЕНГ
Скрытый текст
Пример ЗН я использовал для того, чтобы показать, каким может быть "аналог" текстовой адвентюры на русском.
В качестве безумного варианта решить старые проблемы, добавив новых - делай игру на Словио. И кириллица не нужна, и грамматика в разу проще, и интуитивно понятен не только нам, но и всяким полякам-чехам :)
Есть ведь всякие редакторы квестов.
Если топикстартер задаёт такие (в общем-то примитивные) вопросы - значит уровень подготовки низковат и написать что-либо с нуля не получится.
Осваивай какой-нибудь редактор, в zx-ревю пару из них разбирали/описывали.
Искать можно как-нибудь так: http://zxpress.ru/search.php?q=graph...eator&s=rw&f=0
Русификация спека - это всегда было камнем преткновения.
(кое-какие модели прошивались с русскими символами даже, "хоббит" например, но это шло всегда только во вред)
Если охота заморачиватся - ну в одном из zx-форумов описано (на примере pyjamarama вроде бы) как русифицировать игру (т.е. можно дёрнуть оттуда процедуры-шрифты-раскладки).
Если есть вариант на кубасике - значит и на спек сумеешь перенести (конечно придётся покорячится, всё-таки спековый бейсик очень самобытная штука)
Инфоркомовцы вообще очень неровно дышали к адвентюрам, у них дофига всяких уроков, описаний как делать анализ текста и т.п.
(про то как гамится - ещё больше, но мы ведь про создание говорим)
Вот тут тоже что-то близкое: http://zxpress.ru/book_articles.php?id=876
То самое "vzatx jbloko" отобразится как нужно, т.е. "взять яблоко"
(это пример, возможно буква "я" у тебя будет приколочена к другой кнопке, но сути это не меняет)
---------- Post added at 04:50 ---------- Previous post was at 04:45 ----------
И вот ещё момент - очень рекомендуют назначить какую-нибудь горячую комбинацию по которой на экран выводилась бы раскладка клавиатуры, чтоб пользователь не искал полдня как ввести твёрдый знак (к примеру).
Ну и уведомить юзера с самого начала работы проги как ему подсказку вызывать, иначе замучатся можно (я например вешал буквы "Ш" и "Щ" на "[" и "]", а маленькие - на "{" и "}" - ввести их не так-то просто, но ведь и используются они редко).
В ПЗУ Спека имеются последовательные изображения всех символов шрифта (по 8 байт на символ, всего 768 байт вроде). Последовательность байтов соответствует кодировке символов. Посмотри в книгах, с какого адреса эта область начинается.
Ты создаешь изображения для своего шрифта, по сути свои 768 байт, кидаешь их в любую свободную память. А потом в системной переменной Спека, ответственной за шрифт (адрес тоже посмотри в книгах), устанавливаешь ссылку на адрес, куда положил свой шрифт. Всё! Теперь изображения символов будут браться из твоего шрифта.
Вот тут старенькая, но очень ZX-овая статья на тему синтаксического анализа русских предложений в адвентюрах. По основному вопросу - если ты включил русский шрифт, то и вывод на экран, и ввод оператором INPUT будут выполняться этим шрифтом. Без программирования в кодах сделать одновременно большие и маленькие русские и английские буквы не получится.
Гораздо более тру - сделать 2048 байт под символы.
Тогда будет полная таблица и латинских букв, и русских.
Кодировка тоже давным-давно разработана и в общем-то стандарт (не надо заморачиватся с транслитерацией и прочими костылями)
Единственное препятствие - нужно всё-таки разбиратся как устроен спек (на программном уровне, аппаратный тут не нужен, слава богу не аркаду замутил топикстартер, адвенчур...)
А разве нельзя сделать вместо ввода русских букв с клавиатуры менюшку с прописанными вариантами действий ?
Их надо будет кодом выводить. И вопрос ввода оператором INPUT как бы не решается.
Обсуждали уже выше.
для создания игры в if-creator'e топикстартеру навыков точно должно хватить. :)
Можно сделать какое-нибудь IM2, которое будет например отслеживать кнопки CS+SS и по ним переключать фонты, работать будет только для ввода. Но по сути имеем тот же 768 байт шрифт, только будет в зависимости от нажатия клавишь подменять символы. Соответственно те же ограничения, что и в 768-символьном, разве что вводить удобнее.
Угу, можно же создать много шрифтов и переключать их изменением системной переменной. Можно даже так графику выводить из кучи символов, типа UDG, только количество символов не ограничено.
И после переключения шрифта перерисовывать им всю вводимую строку при первом же нажатии клавиши. Это трюк был описан в каком-то ZX-Review или ZX-Forum, удобен для ввода програм с русским выхлопом на экране. Для ввода достаточно переключить шрифт на русский (если не требуется русско-латинский ввод, можно включать шрифт и с большими, и с маленькими буквами) и сделать обычный INPUT.
"Там" - это где? Shadow Maker говорит о подмене адреса фонта процедурой на IM2 по нажатию некоего "волшебного аккорда". Такая шьука печаталась в каком-то ревью за 1992 год. Подмена потока - это более другой способ руссификации.
ПЗУшный редактор перерисовывает весь буфер ввода при каждом его изменении. Соответствено, текущим шрифтом.
Мужики дело говорят. Я тоже не особо кодер, поэтому, когда нужно было быстро-быстро сляпать бейсик програмку в которой надо выводить тексты на русском, то с какого-то журнала стащил и сляпал програмулю. Загружается эта программа, загружается шрифт (все установлено в загрузчике). Выводится на экран адрес шрифта и после нажатия аникей отрабатывает NEW. Все, начинаем печатать бейсик-прогу и если в процессе набора ТЕКСТА ПРОГРАММЫ нажали SymbShift+Enter, то все символы в строке редактирования поменялись на русские (и даже английские операторы бэйсика). Еще одно нажатие меняет шрифт на английский. Набирая текст надо помнить о том, что в игре шрифты также переключаются по POKE где надо, чтобы не получилось END GAME в виде кракозябр!
Все это коряво по сравнению с редакторами ПЦ, но зато не нужно писать какой-то свой редактор бейсика, который съест всю память и на текст бейсика не останется ничего. Ну и лучше чем всякий раз вбивать POKE 23606/23607.
Авторы пишут, что симшифт+ентер никак не воспринимается системой, но экран перерисовывает, потому-то ими и была взята эта комбинация. Мне сейчас не найти свои сырцы, но если очень попросишь, покопаюсь.
Повтор - все это затевается лишь для русскоязычных игр, которые пишутся на бейсике (а я наверное и в генсе эту фигню использовал=)
Alex Rider, короче забили, мы по-ходу о разных вещах говорим.
Топикстартер найдет что ему надо, подсказок дали достаточно.
(если не найдёт - то видимо не очень-то и хотел, на крайняк поковыряем сами, ткнём носом)
А выяснять что каждый имел в виду и у кого пинус длиней можно и в аське например. Чего зря форум офтопить.
---------- Post added at 15:47 ---------- Previous post was at 15:46 ----------
У меня вообще последнее время проблемы со схватыванием сути на лету, старею что-ли так что пардон...