RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2425390 views

Решил попробовать создать игру с использованием HTML. Но рыться в непонятных справочниках не хочу. Подскажите простейшие команды, типо изменение цвета текста и фона. Помогите новичку.

Alcohol,

'Цвет внезапно стал <font color=#f90404>красным</font>.'
'Всё бы и ничего, но он ещё и стал <h2>заголовком!</h2>'
BCOLOR=RGB(0,0,0) & !Фон будет черным
fsize = 16 & !Меняет размер шрифта во всей игре

Вот тут можно получить как и HEX цвет(#f90404), так и RGB( (0,0,0) ).

Одиночка #1417 18.05.2019 05:18 (6 years ago)

Нужно сократить код.
Вот это:

Spoiler

if пв = 1 or пв = 12 or пв = 23 or пв = 34 or пв = 45 or пв = 56 or пв = 67 or пв = 78 or пв = 89 or пв = 100:
пврг = 1
end

if пв = 2 or пв = 13 or пв = 24 or пв = 35 or пв = 46 or пв = 57 or пв = 68 or пв = 79 or пв = 90 or пв = 101:
пврг = 2
end

if пв = 3 or пв = 14 or пв = 25 or пв = 36 or пв = 47 or пв = 58 or пв = 69 or пв = 80 or пв = 91 or пв = 102:
пврг = 3
end

if пв = 4 or пв = 15 or пв = 26 or пв = 37 or пв = 48 or пв = 59 or пв = 70 or пв = 81 or пв = 92 or пв = 103:
пврг = 4
end

if пв = 5 or пв = 16 or пв = 27 or пв = 38 or пв = 49 or пв = 60 or пв = 71 or пв = 82 or пв = 93 or пв = 104:
пврг = 5
end
if пв = 6 or пв = 17 or пв = 28 or пв = 39 or пв = 50 or пв = 61 or пв = 72 or пв = 83 or пв = 94 or пв = 105:
пврг = 6
end

if пв = 7 or пв = 18 or пв = 29 or пв = 40 or пв = 51 or пв = 62 or пв = 73 or пв = 84 or пв = 95 or пв = 106:
пврг = 7
end

if пв = 8 or пв = 19 or пв = 30 or пв = 41 or пв = 52 or пв = 63 or пв = 74 or пв = 85 or пв = 96 or пв = 107:
пврг = 8
end

if пв = 9 or пв = 20 or пв = 31 or пв = 42 or пв = 53 or пв = 64 or пв = 75 or пв = 86 or пв = 97 or пв = 108:
пврг = 9
end

if пв = 10 or пв = 21 or пв = 32 or пв = 43 or пв = 54 or пв = 65 or пв = 76 or пв = 87 or пв = 98 or пв = 109:
пврг = 10
end
if пв = 11 or пв = 22 or пв = 33 or пв = 44 or пв = 55 or пв = 66 or пв = 77 or пв = 88 or пв = 99 or пв = 110:
пврг = 11
end

нужно переделать в один массив.
Если коротко, то сам код - это проверка позиции игрока, а также ряда, на котором он стоит, и при конкретных показателях он находится на конкретном ряду.

Попытался сделать массив, вот что вышло:

z = 1
x = 11
r = 1
po = 1
q = 1

!Здесь генерируется начальные показатели каждого ряда
:генератор
if z<11:
y[z] = y[z] + z
z = z + 1
jump ‘генератор’
end

!Здесь происходит их заполнение числами
:массив
if po < 11:
if r < 10:
y[po] = y[po] + x
проверка[po] = y[po]
if y[po] = пв:
пирг = po
*p ‘Есть контакт!’
end
x = 11
pl ‘–––––––––––––’
r = r + 1
q = q + 1
if q = 10:
r = 1
po = po + 1
end
*pl ‘<<проверка[po]>>’
jump ‘массив’
end
end

Проблема заключается в том, что мне выводит только первые два ряда, и все.

Также и с этим:
if (пв<12) and (пв>0):
пврв = 1
end
if (пв<23) and (пв>11):
пврв = 2
end
if (пв<34) and (пв>22):
пврв = 3
end
if (пв<45) and (пв>33):
пврв = 4
end
if (пв<56) and (пв>44):
пврв = 5
end
if (пв<67) and (пв>55):
пврв = 6
end
if (пв<78) and (пв>66):
пврв = 7
end
if (пв<89) and (пв>77):
пврв = 8
end
if (пв<100) and (пв>88):
пврв = 9
end
if (пв<111) and (пв>99):
пврв = 10
end

В первом определение позиции по вертикали, во втором - по горизонтали.

Что делать?
Заранее спасибо за ответ!

Edited at 18.05.2019 05:17 (6 years ago)
Aleks Versus Moderator 18.05.2019 05:18 (6 years ago)

Одиночка,

i=1
:for
if i<12:
	j=0
	:for2
	if j<10:
		пв_масс_в[i+j*11]=i
		пв_масс_г[i+j*11]=j+1
		j+=1
		jump 'for2'
	end
	i+=1
	jump 'for'
end
! получение позиции
пврв = пв_масс_в[пв]
пврг = пв_масс_г[пв]

Но вообще нет ничего сложного в определении позиции, если понимаешь, как вычисляется номер ячейки по координатам и ширине.
Для таблицы, где первая ячейка соответствует координатам 1;1 :

номер_ячейки = Y + (X-1) * ширина

отсюда

X = номер_ячейки/ширина + 1
Y = номер_ячейки - (X-1) * ширина
Edited at 12.08.2016 23:20 (9 years ago)

Доброго всем времени суток. Перейду сразу к делу: суть в том, что я хочу к определённым действиям помимо их основных назначений добавить дополнительное, которое будет вызывать заданную локацию с операциями, прописанными там, но при этом не перемещая меня на неё. Приведу пример с кодом:

act 'Отправиться в деревню':
Энергия = Энергия - 1
goto 'Деревня'
end

Мне нужно в подобное действие добавить какой-то, быть может, оператор, действующий также, как в следующем случае, когда при выборе пункта “Информация об игроке” программа лишь считает информацию с локации “Просмотреть_информацию” и выполнит там все заданные функции, но не более:

if $selobj = "Меню": 
$Меню[0] = 'Информация об игроке:Просмотреть_информацию'
menu "$Меню" 
unsel
end

Также предположим, что на локации “Просмотреть_информацию” мы увидим следующее:

clear
pl 'Ваш запас сил - <<Энергия>>'

И в итоге после выбора действия “Идти в деревню” мы отправимся на локацию “Деревня”, а в окне “Дополнительное описание” обновится информация об состоянии игрока. Что за оператор мне нужен? Как быть?

Почему все начинают с деревни? Это символ начала? Или самая распространённая локация.

Oliver,
эта мода осталась от старых jRPG, где главный герой, как правило, “обычный деревенский паренёк”.

Да, канон жеж :)))

Да, я знаю, что для обсуждения AeroQSP выделена отдельная тема. Но если все мои вопросы об этом напписать там, то кол-во страниц в той теме вырастет до 700. Выделю из моих вопросов самые важные:

1: Я порылся в интернете и нашёл пакет для разработки на AeroQSP. Я сделал всё по инструкции: изменил в QGen путь к плееру с “C:\ProgramFiles (x86)\QSP\QSPGui\qspgui.exe” на “D:\tmp\aerodev\run_flash.bat”. Вылетела ошибка. Сначала одна, затем вторая, третья… Вдобавок из-под лавки вылез (до этого мирно дремавший) антивирус, заругался и запричитал что-то про “модификатор браузера”. Я про себя подумал: “А на кой оно мне надо?..”. И удалил всё. Остаётся вопрос: что это всё-таки было?

2: Нужен пакет для разработки игр на AeroQSP, желательно нормальный (см. Вопрос 1).

3: Что надо сделать с QGen, чтобы он заработал на AeroQSP? Моя прошлая попытка сделать это успехом не увенчалась… (см. Вопрос 1)

4… нет, пожалуй хватит трёх.

Спасибо за понимание.

Что-то ты не так значит делал, если все по инструкции делать, то все работает.

Aleks Versus Moderator 18.05.2019 07:50 (6 years ago)

ДоБрЫй_МеДвЕдЬ,
не знаю, зачем рыться в интернете. Вот инструкция — http://qsp.su/misc/aero/readme.txt
Делаю всё по ней.
Попробуй следующее.
1. Скачай все три архива: http://qsp.su/misc/aero/aerodev.zip http://qsp.su/attachments/aeroshell.zip http://qsp.su/attachments/qgen400b1.zip и распакуй в одну папку.
2. Пропиши в run_flash.bat просто AeroQSP.exe (раз все файлы в одной папке, проканает и относительный путь).
3. Если повторится ошибка, отключи антивирусник и попробуй ещё раз.
4. Когда это сделаешь, напиши игру для проверки, просто чтоб слово выводилось и сохрани в отдельную папочку. Т.е. чтобы кроме игры и вложенных папок в этой папке ничего больше не было.

Приветствую всех. Есть важный вопрос.
Можно ли вставить в игру свой саундтрек? если да, то как? Я начинающий музыкант, и поэтому мне бы хотелось увидеть свою музыку в своих играх.

С уважением,
ДоБрЫй_МеДвЕдЬ!

Edited at 11.02.2017 15:12 (9 years ago)

Log in or Register to post comments.