Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 18:57

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Irbis Forth
Автор Сообщение
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Сборка с ->

https://drive.google.com/file/d/1cw5WJInn4dpp-7KXdtfDN3ogLHhM8f5I/view?usp=sharing
Сообщение Добавлено: Чт фев 02, 2023 22:15
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
F-MAP писал(а):
Так это приятное слово было уже в SPF.. в локалах

Так очень хорошо. Значков вообще не так много, что-то будет и перекрываться. Но тут что-то накручено лишнего, тут попроще сделано. Просто 8 байт пересылаются из адреса в адрес.
Сообщение Добавлено: Ср фев 01, 2023 00:10
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Hishnik писал(а):
KPG писал(а):
Analog TO for Variables?

Именно. Тут интересно, что при 64-битной разрядности VARIABLE и FLOAT можно перемещать так одним и тем же словом. Ну и выглядит приятно.

Так это приятное слово было уже в SPF.. в локалах

\ -----64-----
: LocalsRecDoes@4 ( -- u )
2 DUP uLocalsCnt +!
uLocalsCnt @ 1-
,
DOES> @ CompileLocalRec S" 2@ " EVALUATE
;

: CompileLocal2! \ n --
CompileLocalRec
S" 2! " EVALUATE
;

: LocalsDoes2@
uLocalsCnt @ 1+ ,
\ CompileLocalRec
2 uLocalsCnt +!

DOES> @ CompileLocalRec S" 2@ " EVALUATE
;


: ;; POSTPONE ; ; IMMEDIATE


: ^
' >BODY @
CompileLocalRec
; IMMEDIATE


: --> ' >BODY @ CompileLocal! ; IMMEDIATE
: ->> ' >BODY @ CompileLocal2! ; IMMEDIATE

: ->
>IN @
NextWord + 1- C@ [CHAR] % =
SWAP >IN !
IF POSTPONE ->>
ELSE
POSTPONE -->
THEN
; IMMEDIATE
Сообщение Добавлено: Вт янв 31, 2023 23:28
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Штука нужная, жду добавления.
Сообщение Добавлено: Вт янв 31, 2023 17:56
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
KPG писал(а):
Analog TO for Variables?

Именно. Тут интересно, что при 64-битной разрядности VARIABLE и FLOAT можно перемещать так одним и тем же словом. Ну и выглядит приятно.
Сообщение Добавлено: Вт янв 31, 2023 00:21
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Hishnik писал(а):
Придумалось слово ->.
Работает так:
x -> y - пересылает ячейку с адреса x в ячейку с адресом y. То же, что x @ y !

Analog TO for Variables? :)
Сообщение Добавлено: Пн янв 30, 2023 22:36
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Придумалось слово ->.
Работает так:
x -> y - пересылает ячейку с адреса x в ячейку с адресом y. То же, что x @ y !


Вложения:
irbis_assign.png
irbis_assign.png [ 6.33 Кб | Просмотров: 2469 ]
Сообщение Добавлено: Пн янв 30, 2023 21:18
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Со спрайтами надо, конечно, отдельно работать. Но если просто рисовать заново, получается довольно быстро.


Вложения:
irbis_sprite.png
irbis_sprite.png [ 29.9 Кб | Просмотров: 3015 ]
Сообщение Добавлено: Сб дек 10, 2022 21:30
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Тут зависит от ситуации. Где-то быстрее и проще будет вариант с выводом на каждом кадре в буфер сначала фона, а затем спрайтов поверх него. Ну а потом отрисовка этого буфера. Так называемый дублирующий буфер. Кроме того, на каждом кадре можно обновлять не весь буфер, а только ту часть экрана, которая меняется, т.к. мы знаем, откуда спрайты уходят и куда должны попасть.
Сообщение Добавлено: Сб дек 10, 2022 20:32
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Если иметь возможность считывания произвольной области памяти уже выведенной картинки, то пеpемещаяя свой спрайт, до момента вывода его на новое место можно восстановить область предварительно считанной ранее области, куда он выводился ранее.

А, если нет, то придётся хранить образ в памяти уже выведенного изображения и возможно с историей "поведения" спрайтов на ней. :)
Сообщение Добавлено: Сб дек 10, 2022 19:36
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Hishnik писал(а):
они там сами справятся

Я, наверное, чего-то недопонимаю, но как они сами-то справятся, если спрайты сейчас реализованы, как копирование пикселов?
Сообщение Добавлено: Сб дек 10, 2022 19:03
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Тогда надо делать много вспомогательных вещей. Для начала придется запоминать картинку, которая была под спрайтом. Потом могут возникать ситуации, когда один спрайт закрыт вторым, а надо спрятать первый. Тогда, пряча второй спрайт, придется восстанавливать исходный фон, а не то, что было запомнено. Сейчас можно просто оперировать виджетами, накладывая одну картинку на другую, они там сами справятся. "Спрайт" сейчас - это просто копирование пикселов.
Сообщение Добавлено: Сб дек 10, 2022 17:10
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Как я понял из документации, есть только три слова, используемых для работы со спрайтами: SPRITE.LOAD, SPRITE.DRAW, SPRITE.IMAGE. А нет ли какого-нибудь слова, чтобы стереть или просто "спрятать" спрайт? Только лишь перезаписать спрайт с белым фоном в уже существующий индекс, что ли, хотя, наверное, так нельзя.
Сообщение Добавлено: Сб дек 10, 2022 17:02
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
Игры вполне можно на таком движке делать. Он в 2D-графике совсем не быстрый, но на уровне статического фона и десятка спрайтов вполне можно что-то развлекательное соорудить.
Сообщение Добавлено: Сб дек 10, 2022 15:51
  Заголовок сообщения:  Re: Irbis Forth  Ответить с цитатой
pk-fr-76-2 писал(а):
спрайты
А, кстати, зачем, если не секрет? Какая-то игра планируется? :)
Сообщение Добавлено: Сб дек 10, 2022 15:09

Часовой пояс: UTC + 3 часа [ Летнее время ]


cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB