|  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!ProgramGR.OPEN 255,255,255,255GR.ORIENTATION 0GR.SCREEN w,hGR.SET.ANTIALIAS 0GR.SET.STROKE 1GR.COLOR 255,255,0,0,0LIST.CREATE N,list1GR.RECT r,10,10,w-10,h-10ARRAY.LOAD m[],10,h/2,w-10,h/2,w-10,h-10,10,w-10LIST.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))+20NEXTGR.POLY pt,list1DO    GR.RENDER    FOR q=1 TO 120 STEP 2        LIST.REPLACE list1,2+q+1,ABS(RND()*(h-40))+20    NEXTUNTI
Как процесс с переводом мануала? Я там про списки перевёл немного. У меня так же почти всё про графику переведено и частично про массивы. Могу выложить. Просто набирать с тетрадки долго.
 Прикрепленные файлы:  12.bas   (0.48 кб.) Скачано 1014 раз  | 
 |  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) 
 |