RFO BASIC << 1 ... 36 37 38 39 40 ... 272 >> 4.11.2015 / 13:49 | | vh180477 Пользователь Сейчас: Offline
Имя: Валерка Откуда: Костомукша Регистрация: 03.11.2015
| Хм интересный эффект. Знаний языка пока не хватит такое сделать. Можно попробовать потом.
|
4.11.2015 / 14:03 | | ewo Пользователь Сейчас: Offline
Имя: Алексей Регистрация: 28.08.2015
| 1. Генерируем строку разноярких (случайной яркости, например, красного цвета) пикселов в ряд. 2. Хватаем квадратный кусок экрана с этими пикселами и сдвигаем его, при этом уменьшая яркость его содержимого или размывая его.Вот и все. "Языки пламени" возникают из-за того, что исходные пикселы разной яркости, соот-но путь до полного превращения в черный цвет (фона) для каждого - разный. За красивость языков отвечает либо отношение изначальной яркости каждого пиксела по отн-ю к соседним, либо схема размытия/сдвига в стороны "в процессе горения".Собственно, уперся в то, что не получалось такое: 1. хватай_экран_в_образ 2. выведи_этот_образ_обратно_на_экран_но_со_сдвигом 3. повторить п.1 и так просто для решения головоломок, ускорить отрисовку фейерверка: http://laughton.com/basic/programs/utilities/fireworks/fireworks.bas Изменено ewo (4.11 / 14:07) (всего 2 раза) |
4.11.2015 / 14:32 | | 1961uvg Пользователь Сейчас: Offline
Имя: Victor Откуда: Минск Регистрация: 28.07.2015
| vh180477 Осцилограф не работает. Ошибка в строке array.load. Проверил листинг и вроде все правильно. В программе часы -2 с календарем - стрелки закрашивают предыдущее значение. По переменным текст помог? В некоторых версиях Бейсика - только численные и строковые.
|
4.11.2015 / 16:49 | | vh180477 Пользователь Сейчас: Offline
Имя: Валерка Откуда: Костомукша Регистрация: 03.11.2015
| По переменным я это и предполагал что типы тут невозможны. Проверил осциллограф действительно ошибка. Поправил. Открыть спойлер Закрыть спойлер REM Start of BASIC!Program
GR.OPEN 255,255,255,255
GR.ORIENTATION 0
GR.SCREEN w,h
GR.SET.ANTIALIAS 0
GR.SET.STROKE 1
GR.COLOR 255,255,0,0,0
LIST.CREATE N,list1
GR.RECT r,10,10,w-10,h-10
ARRAY.LOAD m[],10,h/2,w-10,h/2,w-10,h-10,10,w-10
LIST.ADD.ARRAY list1,m[]
FOR q=1 TO 120 STEP 2
LIST.INSERT list1,2+q,10+ABS(w/60)*ABS(q/2)
LIST.INSERT list1,2+q+1,ABS(RND()*(h-40))+20
NEXT
GR.POLY pt,list1
DO
GR.RENDER
FOR q=1 TO 120 STEP 2
LIST.REPLACE list1,2+q+1,ABS(RND()*(h-40))+20
NEXT
UNTI
Как процесс с переводом мануала? Я там про списки перевёл немного. У меня так же почти всё про графику переведено и частично про массивы. Могу выложить. Просто набирать с тетрадки долго.
Прикрепленные файлы: 12.bas (0.48 кб.) Скачано 934 раза |
4.11.2015 / 17:03 | | vh180477 Пользователь Сейчас: Offline
Имя: Валерка Откуда: Костомукша Регистрация: 03.11.2015
| 1961uvg Ты тут давно уже попроси чтобы позволили первый пост редактировать. Добавлять в начало что уже переведено и что узнали. Там можно под спойлер ложить и так хоть тому кто только пришёл не придётся всю ветку лопатить.
|
4.11.2015 / 19:28 | | vh180477 Пользователь Сейчас: Offline
Имя: Валерка Откуда: Костомукша Регистрация: 03.11.2015
| Массивы Открыть спойлер Закрыть спойлер DIM mas[] Обявляет массив. Всё как в классике.
UNDIM mas[] Удаляет массив.
ARRAY.AVERAGE x,mas[откуда,докуда] Считает среднее арифметическое и записывает результат в переменную x. Опционально можно задать диапазон где считать.
ARRAY.COPY mas[],mas1[] Копирует mas[] в mas1[] Если целевой mas1(куда идёт копирование) массив не создан предварительно DIM то он будет создан этой коммандой. Опционально можно копировать диапазон например ARRAY.COPY mas[5,10],mas1[5] - Будет скопирован диапазон из массива mas[] с 5 элемента по 10 и размещён в массив mas1[] начиная с 5 позиции.
ARRAY.DELETE Аналогично UNDIM.
ARRAY.LENGHT x,mas[] Не совсем понятно. Походу передаёт размер массива в переменную x. На самом деле там ещё опционально указаны способы применения.
ARRAY.LOAD mas[], числа, переменные, строки, данные Загружает данные в массив. Массив заранее объявлять коммандой DIM нельзя - вылазит ошибка.\
ARRAY.MAX x,mas[] Ищет максимальное значение в массиве и передает его в переменную x. Может искать в диапазоне, если он указан.
ARRAY.MIN x,mas[] Аналогично ARRAY.MAX только минимальное значение.
ARRAY.REVERSE mas[] Переворачивет массив - первый элемент становится последним. Может также в диапазоне.
ARRAY.SEARCH mas[],"что искать",x,pos Поиск в массиве - позицию найденного передает в переменную x. Опционально можно указать диапазон в каком искать и стартовую позицию pos.
ARRAY.SHUFFLE mas[] Случайным образом тусует массив. Может также в диапазоне.
ARRAY.SORT mas[] Сортирует массив. Может сортировать диапазон.
ARRAY.STD_DEV x,mas[] Находит стандартное отклонение значений в числовом массиве. Что это значит я не понял. Результат в переменную x.
ARRAY.SUM x,mas[] Находит сумму значений в числовом массиве. Результат в переменную x.
ARRAY.VARIANCE x,mas[] Находит дисперсию значений в числовом массиве
Могу наваять примеры применения. Если надо? |
4.11.2015 / 19:57 | | 1961uvg Пользователь Сейчас: Offline
Имя: Victor Откуда: Минск Регистрация: 28.07.2015
| Если не тяжело то ваяль! Походу активных нас всего трое. Остальные просто ждут. Я все наработки сбрасываю у себя в папку Книга. Потом буду редактировать. При вашей помощи ( это ты, я, и evo). Может кто еще проявит активность.
Как вариант: в сполерах программа не эффектна. Лучше в формате "bas". А то ее приходиться копировать, вносить в текстовый редактор типа word. Там убирать нумерацию строк и выгражать в формате txt . ( кодировка помоему utf-8 , ну в конце списка ). Потом в переименовании менять расширение txt на. bas. И в листинге программы в верхней строчке удалять пробел, и потом сохранять. Ну у меня так.
Изменено aNNiMON (5.11 / 00:51) (всего 1 раз) |
4.11.2015 / 20:13 | | 1961uvg Пользователь Сейчас: Offline
Имя: Victor Откуда: Минск Регистрация: 28.07.2015
| Насчет добавления как ты просишь, я не знаю у кого просить? Я сохраняю все в папку, думаю кому нужно тоже это не проблема.
Проблема: в ранних Бейсиках была возможность задавать и использовать текстуру для заливки текста и обьектов. Тут вроде есть. Но где не нашел. А главное как ее создать. Раньше если память не изменяет, то использовались операторы POKE и что то еще. Не хочу рыться. Было очень эффектно!
Изменено aNNiMON (5.11 / 00:52) (всего 1 раз) |
5.11.2015 / 10:24 | | 1961uvg Пользователь Сейчас: Offline
Имя: Victor Откуда: Минск Регистрация: 28.07.2015
| Вроде получилось!
Изменено aNNiMON (11.12 / 13:12) (всего 1 раз) |
5.11.2015 / 12:31 | | ewo Пользователь Сейчас: Offline
Имя: Алексей Регистрация: 28.08.2015
| Ухты красота какая!
Я вот подумал, можно по идее где-нибудь на google-docs сделать документ, который можно редактировать сообща.
И вот еще ночью мысль появилась, что с помощью MODIFY можно избежать CLS в программе "Часы", и собственно, доделать/ускорить таки мой "Огонь".
|
<< 1 ... 36 37 38 39 40 ... 272 >> Всего сообщений: 2716 Фильтровать сообщения Поиск по теме Файлы топика (511)
|