Без описания |
Поиск в теме | Версия для печати |
prg |
Отправлено: 27 Апреля, 2020 - 07:00:04
|
Лейтенант
Сообщений всего: 30
Дата рег-ции: Апр. 2020
|
За небольшое время знакомства с Game Logo нашел ряд ошибок + появилось несколько предложений по улучшение. Думаю хотя бы часть их них имеет право на жизнь и совпадет с видением автора и будет внедрена
Сразу скажу, что скорее всего понимаю почему многое из предложенного не реализовано, но все же упомяну, чего не хватает из мелочей.
Применимо к v.1.6.2.
1. Команды спроси и пиши выводят текст в нижнем регистре.
2. Если в команде "цвет RGB" задать отрицательный параметр, похоже дальше программа не исполняется
3. В диалоге определения кода клавиш - не обрабатывается TAB.
4. Аэрограф портит толщину кисти.
5. Неверно работает команда "пауза" (возможно только в ряде случаев), например программа из последовательности нескольких команд "вперед" и/или "повернуть", после каждой из которых стоит "пауза", ждет суммарное время всех пауз, затем все рисует.
6. Сделать TAB вместо CTRL-TAB в редакторе, т.к. это обычное поведение любого стандартного редактора, того же Блокнота.
7. Не работает прокрутка колесом мыши изображений в списке из библиотек картинок и фонов.
8. Не хватает в редакторе обработки CTRL+A - выделить все.
9. В окне справки можно редактировать текст!
10. Справка - выглядит нечитабельно, выделение цветом (или хотя бы жирный/курсив) сделало бы ее лучше.
11.1. В текущей версии в интерфейсе команда "кисть", а в краткой справке осталось только "перо".
11.2. В справке есть команда "спрятать", но нет "показать".
11.3. В справке есть "фон", но нет "картинка".
12. Я бы добавил полноценную справку в дистрибутив, как вариант просто в HTML формате, можно просто в отдельной папке, можно даже открывать например по F1 в текущем браузере. Сейчас со встроенной справкой как-то совсем плохо.
Даже если была полная справка по языку просто в текстовом файле со всеми доступными командами в самом дистрибутиве, было бы неплохо.
13. Овальные кнопки в интерфейсе нажимаются и на правую и на среднюю кнопки мыши (текст на кнопках разным шрифтом, иконки произвольных размеров - выглядит не очень, но это уже придирки). |
|
|
prg |
Отправлено: 28 Апреля, 2020 - 16:45:46
|
Лейтенант
Сообщений всего: 30
Дата рег-ции: Апр. 2020
|
Рад, что не зря работал.
Вот еще немного:
14. Команда "пауза" с отрицательным параметром приводит к тому, что программа не выполняется (как и с командой "цвет RGB" в п.2)
15. Кнопки "Копировать" и "Вырезать" нажимаются, когда ничего не выделено. Так быть не должно. В контекстном меню в этот момент эти же пункты неактивны.
16. Неплохо было бы видеть текущий номер строки в редакторе (однозначно полезно в больших программах)
Также в другом топике писал, что с сохранением файлов похоже не совсем все гладко, т.к. иногда пишет ошибку сохранения, хотя файл сохранился удачно.
Про п.12. Понятно, что справка дело трудоемкое, хотя в HTML формате она по факту у вас уже почти есть. Когда она мне понадобилась offline, я вручную довольно быстро сделал ее для личного применения, выдернув куски кода по всем командам непосредственно с сайта.(Отредактировано автором: 28 Апреля, 2020 - 16:49:39) |
|
|
Admin |
Отправлено: 29 Апреля, 2020 - 14:31:06
|
Администратор
Сообщений всего: 899
Дата рег-ции: Май 2006
|
Всё сделал кроме 7 и 12.
Сегодня вечерком добавлю горячие клавиши.
С 7 пунктом заминка. Дело в том, что это не единый компонент, а три отдельных картинки, в которые грузятся изображения при изменении скролла, поэтому с фокусом проблема, а отлавливать общий WM_MOUSEWHEEL и метаться с переключениями по mousemove, религия не позволяет Надеюсь, через некоторое время сделаю специальный компонент.
По поводу 12 пункта. А может быть, Вы поделитесь своей справкой для личного применения, если она у Вас уже есть? |
|
|
prg |
Отправлено: 29 Апреля, 2020 - 20:10:28
|
Лейтенант
Сообщений всего: 30
Дата рег-ции: Апр. 2020
|
Спасибо, в ближайшее время потестирую изменения, но многие уже заметил.
Про п.7 понятно, не так уж это и важно, просто обратил внимание, что контрол ведет себя не должным образом. Главное, что знаете, что проблема существует.
Свой вариант справки завтра постараюсь скинуть.
Про новые горячие клавиши - удобно, но надо бы их задокументировать, включая все остальные, которые есть. Например, F5 - запуск, нашел интуитивно.
17. Существует проблема с делением на 0.
Пример программы:
CODE:спрятать черепаха
переменная a
a=100
повторить 100{
вперед a/0
}
налево 90
повторить 100{
вперед 10/0
}
Также при присваивании переменной результата деления на 0, команда выполняется, а ошибка будет, только когда обратимся к данной переменной в следующий раз.
Пример:
CODE:переменная a
a=100/0
a=a+1
|
|
|
prg |
Отправлено: 30 Апреля, 2020 - 09:36:45
|
Лейтенант
Сообщений всего: 30
Дата рег-ции: Апр. 2020
|
Прикрепил свой вариант справки, сделанный буквально за несколько минут из кусков HTML-кода текущего сайта.
Каких-то специальных правок типа нормальной навигации не делалось, была необходимость быстро сделать offline справку со всеми командами.
Так что это просто черновой вариант для личного пользования, хотя им вполне можно пользоваться. Стартовый файл - index.htm.
Вот еще нашлись ошибки/предложения.
9*. В справке все же осталась возможность редактирования: работает команда "Вставить" (Shift+Ins и через контекстное меню).
13*. Нажимаются также на правую и среднюю кнопку (как в п.13):
кнопка "Выполнить"
команды слева экрана
пункты верхнего горизонтального меню
18.1 Пункты верхнего горизонтального меню "Новый", "Открыть" итд., может лучше написать с заглавной буквы?
18.2 В левом меню "кнопки" { и } выглядят как одна кнопка. Не критично, но может показаться (пока не подведешь мышь), что должно ставить сразу 2 скобки.
19. При попытке напечатать апостроф, получаем ошибку "неправильно расставлены кавычки"
20.1 В настройках не показывается текущий размер шрифта, если не нажимал на кнопки выбора
20.2 В настройках checkbox имеет hint "полужирный"
21. Поведение PageUp/PageDown - в "нормальных" редакторах в конечном итоге перемещают курсор в первую/последнюю строку.
Сейчас этого не происходит (так же работает стандартный Блокнот в Windows), но это неудобно.
22. Возможно не стоит обрабатывать значения цвета с выходом из диапазона как ошибку?
Например, запуск программы из дистрибутива "Каплецвет" выдает ошибку:
"Цвет 16 задан неверно".
Причем в сообщении не указан номер строки.
Как сделать верно не знаю, возможно все <=0 оставить 0, а >0 брать остаток от деления на 16, чтобы при переполнении в циклах цвет менялся (для целей обучения возможно это неплохой вариант).
С RGB ошибки нет, цвета >255 работают как 255, возможно так и стоит оставить, т.к. кто дошел до понятия RGB, сможет научиться как с этим жить
При отрицательном параметре в RGB выдается ошибка без номера строки + не происходит перехода в редакторе на данную строку.
23. В окне выбора звука кнопка прослушивания нажимается, если не выбран никакой звук.
24. Может стоит сделать возможность выбирать цвет фона в дополнение к загрузке изображений?
Для простых программ будет больше пользы.
Например сейчас есть фон по умолчанию с логотипом "GAME LOGO", который мешает выполнению ряда программ.
Чтобы его убрать, приходится ставить картинку с одноцветным фоном.
Проще было бы сделать команду залить фон цветом N типа:
25. Не работает событие обработки клавиши ESC. Происходит выход из программы.
Возможно, если данное событие существует в коде, то обрабатывать его и не выходить из программы?
Как вариант можно добавить классический Ctrl+Break как выход их программы.
Еще вопрос:
Что делает кнопка "Турбо"?
|
|
|
prg |
Отправлено: 02 Мая, 2020 - 04:08:21
|
Лейтенант
Сообщений всего: 30
Дата рег-ции: Апр. 2020
|
Admin пишет:25. Сделал просто Break
Издревле просто Break - это было Pause (на клавише надпись Pause/Break), до сих пор работает во многих играх как пауза.
Также кнопку паузы тоже может кому-то прийти в голову использовать в программе.
Просто нажатие клавиши Pause - программа приостанавливается до нажатия любой клавиши (не знаю, нужно ли это в лого в данный момент), а нажатие Ctrl+Break - прерывает выполнение программы.
Кстати, это до сих пор продолжает работать в консоли Windows (например при выполнении .bat/.cmd и прочих скриптов в консоли, так что сочетание клавиш до сих пор актуальное и вполне стандартное.
В консольных приложениях работает еще Ctrl+C, но это сочетание используется так же как "копировать", поэтому оно менее подходящее, все же Ctrl+Break довольно однозначное сочетание.
9*. В справке команда "Вставить" уже не работает, но через контекстное отображается доступной. При нажатии в окне справки на любую кнопку мыши отображаемое имя файла меняется на некоторый набор символов (например "0 2" ).
Осталось:
20.2 В настройках checkbox имеет hint "Полужирный"
26. Обнаружил странную особенность работы кнопки Турбо с событиями нажатия клавиши:
Турбо включено - событие происходит многократно при нажатии клавиши
Выключено - событие происходит 1 раз.(Отредактировано автором: 03 Мая, 2020 - 05:35:39) |
|
|
Admin |
Отправлено: 02 Мая, 2020 - 12:00:55
|
Администратор
Сообщений всего: 899
Дата рег-ции: Май 2006
|
25. Двойные или тройные сочетания клавиш существуют из-за нехватки клавиш. Использовать двойные сочетания там, где этого можно избежать — зло. К тому же, это вообще резервный вариант обычного escape (Отмены), никак не связанный со смыслом Ctrl + Break, KeyboardInterrupt exception и фатальными исключениями. То, что делает клавиша Break в данном случае, называется просто "Стоп". Если говорить о том, что ребенку в дальнейшем пригодиться знание сочетания Ctrl+Break, то наоборот возникнет только путаница и мешанина в его голове.
9. Справку буду менять, поэтому возня со стандартным меню компонента не актуальна. Пока на нем стоит стандартный апишный em_setreadonly.
20.2 Это, наверное, из кэша лезет (шутка)
26. Потому что модель всего этого дела нестандартная и реагирование на события привязано к отрисовке (потому что компьютеры были медленные). Здесь на форуме уже был длинный холивар по этому поводу. Прикреплено изображение
|
|
|
prg |
Отправлено: 05 Мая, 2020 - 08:11:57
|
Лейтенант
Сообщений всего: 30
Дата рег-ции: Апр. 2020
|
9*. Если будете менять компонент, то все OK, но пока в v.1.6.7 вылез новый баг:
При нажатии в окне справки на любую кнопку мыши отображаемое имя файла меняется на некоторый набор символов (например "0 2" ).
25*.
Цитата:
Двойные или тройные сочетания клавиш существуют из-за нехватки клавиш. Использовать двойные сочетания там, где этого можно избежать — зло.
В ряде случаев двойные и тройные сочетания используются, чтобы их случайно было проблематично нажать. Пример: Alt+Ctrl+Del.
Именно про Ctrl+Break предложил, т.к. когда-то это была общепринятая практика прерывать программы в интерпретаторах и ни у кого не возникало проблем.
Также насчет использования клавиш Pause и Ctrl+Break со мной солидарна Википедия:
https://ru.wikipedia.org/wiki/Break_(клавиша)
Про полезность знания клавиши Ctrl+Break для детей ничего говорить не буду, но с клавишей Pause многие дети могут быть знакомы (и ожидать от нее поведения паузы), т.к. ее до сих пор используют во многих играх, а с играми дети сталкиваются намного раньше, чем с языками программирования.
Раньше было проще, когда была отдельная клавиша "СТОП", но ее уже давно не видно
Собственно все это не особо важно, просто почему-то захотелось высказаться
Ну и не стоит недооценивать детей, например то, что нельзя использовать клавишу ESC в коде, я не сам заметил...
27. Было бы неплохо видеть, что текущий файл не был сохранен после изменений (например, отображать * перед началом файла). Довольно стандартное поведение во многих редакторах. К тому же позволяет лучше контролировать процесс сохранения проекта. |
|
|
prg |
Отправлено: 07 Мая, 2020 - 09:51:49
|
Лейтенант
Сообщений всего: 30
Дата рег-ции: Апр. 2020
|
Спасибо за проделанную работу!
Справку посмотрел, сейчас очень хорошо, можно пользоваться средой "из коробки".
Несколько замечаний по справке:
* Может это сделано специально, но не обнаружил в справке информации про массивы.
* СПРОСИ
Тут лишний текст:
"Цвет текста можно задать..."
* ШАГ
В примере для переменной S не задано начальное значение:
S = 0
В описании языка не увидел, что содержит переменная после объявления. Явно инициализировать переменные более хороший тон, чем обратное.
* Описки:
какждый
бибилиотеки
пиктрограммой
* log - логарифм
Нужно написать, что натуральный (обычно в языках есть и десятичный).
28.1 Обнаружил, что существует константа pi (работает, наверное стоит добавить в справку), а также существует некое "e" (лат.), которое = 0, но можно создать переменную с таким именем ( в отличие от pi).
28.2 Можно успешно вызвать неработающие функции (возвращают 0) типа:
log10(X) - тут ожидал десятичный логарифм
Т.е. существующие ф-и с набором цифр на конце работают, возвращая 0. Примеры:
log123(X)
sin123(X)
Также существуют аналогичные сущности ( = 0 ) типа:
pi123
e45
P.S. Комикс позабавил ) Все же поддержка Ctrl+Break - гигантский шаг вперед (Отредактировано автором: 07 Мая, 2020 - 13:54:35) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (4): [1] 2 3 4 » |
« GameLOGO » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|