Магнитовофон старый касетник

Утро факапов

Вчера мой соперник похвалил мой интерфейс. Я не согласен, что это хорошее решение, просто на лучшее я пока не способен. Вообще — это игра и интерфейс у игры должен быть красочный. То что вы видите главной картинкой поста — пример каким может быть интерфейс без изменения функционала. Получение знаний и работа — не нажатия на кнопку, как у меня сейчас, а клик на стилизованный ярлычок на мониторе нарисованного дисплея. Пополнение сил для продолжения работы — клик на холодильник, который потом откроется на встречу игроку. И так далее.

Cтоя в душе придумал одну штуку. Присвоить номера кнопкам, вместо #PB_Any. Первый столбец от 1 до 5, второй от 10 до 15, третий от 20 и так далее. Но при этом и от человеко-понятных переменных не избавляться. Проверил — работает:
Код
Это нужно, чтобы упростить процедуру отключения всех кнопок. Не собирать их в массив, как я делал это в первой версии:

NewList ab() ;all btn
add_btn(ab(),btn_name)
ForEach ab()
   HidGad(ab(),1)
Next

А просто пройтись по номерам:

  If dead
    For i = 2 To 53
      HideGadget(i,1)
    Next
    dead = 0
  EndIf

Такой подход не прокатил, т.к. цикл обходит все цифры и спотыкается на отсутствующихз гаджетах. Пронумеровал из без группирования по десяткам. Просто подряд. Работает.

UPD Нифига не работает. Я в примере в Case использовал цифры. А должен был использовать человеческие названия переменных. Вот так: код

Печаль. Возвращаемся к массиву с кнопками.

В первой версии у меня был массив ab() (all buttons) в который я добавял кнопку в момент её создания. Сейчас я хочу создать все кнопки разом, чтоб они у меня были в одном месте, а потом «появлять» и скрывать их при необходимости. Процедура добавления кнопок выглядела так:

Procedure add_btn(List lname(), name_of_btn)
AddElement(lname())
lname() = name_of_btn
EndProcedure

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

Procedure add_btn(name_of_btn)
  AddElement(all_btn())
  all_btn() = name_of_btn
EndProcedure

Пишет ошибку, мол это не функция, массив, список, карта…
add_btn_error

Пробовал добавить List all_btn() в Global — ругается на синтаксическую ошибку… Да здравствует Sublime Multi Cursor

Итого, финальный код за сегодня: тыц

Оживил все кнопки разом, но пока ни одну из них не наполнил смыслом.
Почему-то не работают процедуры Hide и Show.

;чувак ты забыл кнопку «выиграть»
;кнопка гуглить не исчезает. просто когда заканчивается список фраз пишет «что гуглить-то?»
;идея: можно дать пользователю реальную возможность гуглить через игру, чтобы он мог ввести что-то и игра выдала это в лог

Сегодня меня разбудила кошла в 6 утра. А посольку я теперь ложусь спать рано — я легко встал и сделал все дела, о которых спорил: программирование, английский.

Сенсей, продублирую вопрос в конце:
Как правильно добавить List в глобал, чтобы обращаться к нему из процедуры?