Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Сборка с ->
[url]https://drive.google.com/file/d/1cw5WJInn4dpp-7KXdtfDN3ogLHhM8f5I/view?usp=sharing[/url]
|
|
|
 |
Добавлено: Чт фев 02, 2023 22:15 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
F-MAP писал(а): Так это приятное слово было уже в SPF.. в локалах Так очень хорошо. Значков вообще не так много, что-то будет и перекрываться. Но тут что-то накручено лишнего, тут попроще сделано. Просто 8 байт пересылаются из адреса в адрес.
[quote="F-MAP"]Так это приятное слово было уже в SPF.. в локалах[/quote] Так очень хорошо. Значков вообще не так много, что-то будет и перекрываться. Но тут что-то накручено лишнего, тут попроще сделано. Просто 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
[quote="Hishnik"][quote="KPG"]Analog TO for Variables? [/quote] Именно. Тут интересно, что при 64-битной разрядности VARIABLE и FLOAT можно перемещать так одним и тем же словом. Ну и выглядит приятно.[/quote] Так это приятное слово было уже в 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 можно перемещать так одним и тем же словом. Ну и выглядит приятно.
[quote="KPG"]Analog TO for Variables? [/quote] Именно. Тут интересно, что при 64-битной разрядности VARIABLE и FLOAT можно перемещать так одним и тем же словом. Ну и выглядит приятно.
|
|
|
 |
Добавлено: Вт янв 31, 2023 00:21 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Hishnik писал(а): Придумалось слово ->. Работает так: x -> y - пересылает ячейку с адреса x в ячейку с адресом y. То же, что x @ y ! Analog TO for Variables? 
[quote="Hishnik"]Придумалось слово ->. Работает так: x -> y - пересылает ячейку с адреса x в ячейку с адресом y. То же, что x @ y ![/quote] Analog TO for Variables? :)
|
|
|
 |
Добавлено: Пн янв 30, 2023 22:36 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Придумалось слово ->. Работает так: x -> y - пересылает ячейку с адреса x в ячейку с адресом y. То же, что x @ y !
Вложения: |

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

irbis_sprite.png [ 29.9 Кб | Просмотров: 3823 ]
|
Со спрайтами надо, конечно, отдельно работать. Но если просто рисовать заново, получается довольно быстро.
|
|
|
 |
Добавлено: Сб дек 10, 2022 21:30 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Тут зависит от ситуации. Где-то быстрее и проще будет вариант с выводом на каждом кадре в буфер сначала фона, а затем спрайтов поверх него. Ну а потом отрисовка этого буфера. Так называемый дублирующий буфер. Кроме того, на каждом кадре можно обновлять не весь буфер, а только ту часть экрана, которая меняется, т.к. мы знаем, откуда спрайты уходят и куда должны попасть.
Тут зависит от ситуации. Где-то быстрее и проще будет вариант с выводом на каждом кадре в буфер сначала фона, а затем спрайтов поверх него. Ну а потом отрисовка этого буфера. Так называемый дублирующий буфер. Кроме того, на каждом кадре можно обновлять не весь буфер, а только ту часть экрана, которая меняется, т.к. мы знаем, откуда спрайты уходят и куда должны попасть.
|
|
|
 |
Добавлено: Сб дек 10, 2022 20:32 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Если иметь возможность считывания произвольной области памяти уже выведенной картинки, то пеpемещаяя свой спрайт, до момента вывода его на новое место можно восстановить область предварительно считанной ранее области, куда он выводился ранее. А, если нет, то придётся хранить образ в памяти уже выведенного изображения и возможно с историей "поведения" спрайтов на ней. 
Если иметь возможность считывания произвольной области памяти уже выведенной картинки, то пеpемещаяя свой спрайт, до момента вывода его на новое место можно восстановить область предварительно считанной ранее области, куда он выводился ранее.
А, если нет, то придётся хранить образ в памяти уже выведенного изображения и возможно с историей "поведения" спрайтов на ней. :)
|
|
|
 |
Добавлено: Сб дек 10, 2022 19:36 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Hishnik писал(а): они там сами справятся Я, наверное, чего-то недопонимаю, но как они сами-то справятся, если спрайты сейчас реализованы, как копирование пикселов?
[quote="Hishnik"]они там сами справятся[/quote] Я, наверное, чего-то недопонимаю, но как они сами-то справятся, если спрайты сейчас реализованы, как копирование пикселов?
|
|
|
 |
Добавлено: Сб дек 10, 2022 19:03 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Тогда надо делать много вспомогательных вещей. Для начала придется запоминать картинку, которая была под спрайтом. Потом могут возникать ситуации, когда один спрайт закрыт вторым, а надо спрятать первый. Тогда, пряча второй спрайт, придется восстанавливать исходный фон, а не то, что было запомнено. Сейчас можно просто оперировать виджетами, накладывая одну картинку на другую, они там сами справятся. "Спрайт" сейчас - это просто копирование пикселов.
Тогда надо делать много вспомогательных вещей. Для начала придется запоминать картинку, которая была под спрайтом. Потом могут возникать ситуации, когда один спрайт закрыт вторым, а надо спрятать первый. Тогда, пряча второй спрайт, придется восстанавливать исходный фон, а не то, что было запомнено. Сейчас можно просто оперировать виджетами, накладывая одну картинку на другую, они там сами справятся. "Спрайт" сейчас - это просто копирование пикселов.
|
|
|
 |
Добавлено: Сб дек 10, 2022 17:10 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Как я понял из документации, есть только три слова, используемых для работы со спрайтами: SPRITE.LOAD, SPRITE.DRAW, SPRITE.IMAGE. А нет ли какого-нибудь слова, чтобы стереть или просто "спрятать" спрайт? Только лишь перезаписать спрайт с белым фоном в уже существующий индекс, что ли, хотя, наверное, так нельзя.
Как я понял из документации, есть только три слова, используемых для работы со спрайтами: SPRITE.LOAD, SPRITE.DRAW, SPRITE.IMAGE. А нет ли какого-нибудь слова, чтобы стереть или просто "спрятать" спрайт? Только лишь перезаписать спрайт с белым фоном в уже существующий индекс, что ли, хотя, наверное, так нельзя.
|
|
|
 |
Добавлено: Сб дек 10, 2022 17:02 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
Игры вполне можно на таком движке делать. Он в 2D-графике совсем не быстрый, но на уровне статического фона и десятка спрайтов вполне можно что-то развлекательное соорудить.
Игры вполне можно на таком движке делать. Он в 2D-графике совсем не быстрый, но на уровне статического фона и десятка спрайтов вполне можно что-то развлекательное соорудить.
|
|
|
 |
Добавлено: Сб дек 10, 2022 15:51 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Irbis Forth |
 |
|
pk-fr-76-2 писал(а): спрайты А, кстати, зачем, если не секрет? Какая-то игра планируется? 
[quote="pk-fr-76-2"]спрайты[/quote]А, кстати, зачем, если не секрет? Какая-то игра планируется? :)
|
|
|
 |
Добавлено: Сб дек 10, 2022 15:09 |
|
|
 |
|