20.14. Как сделать записную книжку в игре?
В: Как сделать записную книжку в игре?
То есть чтобы игрок мог делать записи, а когда нужно, мог их просматривать.
О: Хранить записи для записной книжки можно в массиве, саму же записную книжку можно сделать в виде предмета:
addobj "Записная книжка"
Работу с предметом "Записная книжка" удобнее всего орагнизовать через всплывающее меню. Для всплывающего меню создаём две локации. Назовём их, например, "note.add" и "note.read". Первая будет служить для добавления записи в записную книжку, вторая — для воспроизведения записей из записной к нижки.
Код локации "note.add" достаточно прост:
! предлагаем пользователю добавить запись
local $new_note_ = $input('Введите текст записи.')
! если введён какой-либо текст, добавляем его в очередную ячейку массива $note[]
if $new_note_ <> '':
$note[] = $new_note_
end
Код локации "note.read":
! очищаем окно доп описания
clr
loop local i = 0 while i < arrsize('$note') step i += 1:
! пока счётчик не достиг размера массива note
! выводим запись
pl $note[i]
end
Непосре дственно при добавлении предмета, либо где-то ранее, прописываем пункты меню для записной книжки в массив:
$меню_записная_книжка[0] = "Добавить запись:note.add"
$меню_записная_книжка[1] = "Прочитать записи:note.read"
На локации-обработчике выделения предмета добавляем такой код:
! если выделен предмет "Записная книжка"
if $selobj = 'Записная книжка':
! вызываем меню
menu '$меню_записная_книжка'
end
! не забываем снять выделение в конце локации
unselect
Вот и всё. Теперь у нас есть предмет "Записная книжка", щелчок по которому вызовет всплывающее меню с двумя пунктами "Добавить запись" и "Прочитать записи".