|  RFO BASIC<< 1  ... 30 31 32 33 34  ... 272 >>  |  3.11.2015 / 01:57 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Открыть спойлер Закрыть спойлер REM Start of BASIC! Programgr.open 100,0,0,0gr.orientation 1gr.color 255,255,255,0,1!На сколько пикселей бегают кубикиsp=5!Сколько будет кубиковkol=20!Массив цветов ргбdim cr[kol],cg[kol],cb[kol]dim xx[kol],ys[kol],xs[kol],yy[kol],ob[kol]!Случайные цветаfor q=1 to kol if rnd()>=0.5 then cr[q]=255 else cr[q]=0 if rnd()>=0.5 then cg[q]=255 else cg[q]=0 if rnd()>=0.5 then cb[q]=255 else cb[q]=0 if cr[q]+cg[q]+cb[q]=0 then q=q-1next!Случайные координаты и направленияfor q=1 to kol xx[q]=rnd()*450+5 yy[q]=rnd()*770+5 if rnd()>=0.5 then ys [q] =sp else ys [q] =sp*-1 if rnd()>=0.5 then xs [q] =sp else xs [q] =sp*-1next! Основная программаdo for q=1 to kol  xx[q]=xx[q]+xs[q]  yy[q]=yy[q]+ys[q]  if xx[q]<5 then xs[q]=xs[q]*-1  if xx[q]>455 then xs[q]=xs[q]*-1  if yy[q]<5 then ys[q]=ys[q]*-1  if yy[q]>775 then ys[q]=ys[q]*-1  gr.color 255,cr[q],cg[q],cb[q],1  gr.rect ob[q],xx[q],yy[q],xx[q]+20,yy[q]+20  gr.show ob[q] next gr.render for q=1 to kol  gr.hide ob[q] nextuntil 1=2
 | 
 |  3.11.2015 / 02:13 |  |  | Gifo_Gsoul    Пользователь 
  Сейчас: Offline 
 Имя: Gifo_GsoulОткуда: Ур
 Регистрация: 26.06.2014
 
 | vh180477, основная программа не включает много действий, чтобы так тормозило. Можешь скомпиленную прогу кинуть, для дроида или винды, как4 сможешь?__________________
 
   </Твой код отражает эволюцию твоего мышления .../> | 
 |  3.11.2015 / 02:19 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Я не умею в апк переводить пока. Я прямо в телефоне нажал run и она выполняется с тормозами в отличии от того же mobile basic. Там подобное просто летает.
 | 
 |  3.11.2015 / 02:28 |  |  | Gifo_Gsoul    Пользователь 
  Сейчас: Offline 
 Имя: Gifo_GsoulОткуда: Ур
 Регистрация: 26.06.2014
 
 | __________________vh180477, значит интерепретатор языка автор написал с криволинейными руками      хотя наперед сразу утверждать не буду
   </Твой код отражает эволюцию твоего мышления .../> | 
 |  3.11.2015 / 02:38 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Этот Бейсик меня привлёк тем что поддерживает блютус (в отличии от mobile basic). Но к сожалению действительно графика в нём очень медленная   | 
 |  3.11.2015 / 02:41 |  |  | Gifo_Gsoul    Пользователь 
  Сейчас: Offline 
 Имя: Gifo_GsoulОткуда: Ур
 Регистрация: 26.06.2014
 
 | vh180477, попробуй загружаемые гели использовать вместо рисованных системой кубиков__________________
 
   </Твой код отражает эволюцию твоего мышления .../>Изменено Gifo_Gsoul (3.11 / 02:41) (всего 1 раз)
 | 
 |  3.11.2015 / 05:45 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Прочитал форум с самого начала и немного изменил программу выдаёт ошибку в строке с gr.modify . Что я там напортачил ? Вроде всё по правилам написал. Открыть спойлер Закрыть спойлер REM Start of BASIC! Programgr.open 100,0,0,0gr.orientation 1gr.color 255,255,255,0,1sp=5kol=20dim cr[kol],cg[kol],cb[kol] dim xx[kol],ys[kol],xs[kol],yy[kol],ob[kol]for q=1 to kol if rnd()>=0.5 then cr[q]=255 else cr[q]=0 if rnd()>=0.5 then cg[q]=255 else cg[q]=0 if rnd()>=0.5 then cb[q]=255 else cb[q]=0 if cr[q]+cg[q]+cb[q]=0 then q=q-1next for q=1 to kol xx[q]=rnd()*450+5 yy[q]=rnd()*770+5 if rnd()>=0.5 then ys [q] =sp else ys [q] =sp*-1 if rnd()>=0.5 then xs [q] =sp else xs [q] =sp*-1 gr.rect ob[q],xx[q],yy[q],xx[q]+20,yy[q]+20next   do !gr.cls  for q=1 to kol  xx[q]=xx[q]+xs[q]  yy[q]=yy[q]+ys[q]  if xx[q]<5 then xs[q]=xs[q]*-1  if xx[q]>455 then xs[q]=xs[q]*-1  if yy[q]<5 then ys[q]=ys[q]*-1  if yy[q]>775 then ys[q]=ys[q]*-1  gr.color 255,cr[q],cg[q],cb[q],1  gr.modify ob[q],"x",xx[q]  gr.modify ob[q],"y",yy[q]   !gr.show ob[q] next gr.render  !for q=1 to kol ! gr.hide ob[q] !nextuntil 1=2
 | 
 |  3.11.2015 / 08:51 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Странно но в таком виде всё работает. Почему? В чём разница для gr.modify между спрайтом и rect-ом? Открыть спойлер Закрыть спойлер REM Start of BASIC! Programgr.open 100,0,0,0gr.orientation 1gr.color 255,255,255,0,1sp=5kol=100 dim xx[kol],ys[kol],xs[kol],yy[kol],ob[kol]GR.BITMAP.LOAD obj, "Cartman.png"for q=1 to kol    xx[q]=rnd()*450+5    yy[q]=rnd()*770+5    if rnd()>=0.5 then ys [q] =sp else ys [q] =sp*-1    if rnd()>=0.5 then xs [q] =sp else xs [q] =sp*-1    gr.bitmap.draw ob[q],obj,xx[q],yy[q]next do    for q=1 to kol        xx[q]=xx[q]+xs[q]        yy[q]=yy[q]+ys[q]        if xx[q]<5 then xs[q]=xs[q]*-1        if xx[q]>455 then xs[q]=xs[q]*-1        if yy[q]<5 then ys[q]=ys[q]*-1        if yy[q]>775 then ys[q]=ys[q]*-1        gr.modify ob[q],"x",xx[q],"y",yy[q]    next    gr.renderuntil 1=2
 | 
 |  3.11.2015 / 09:23 |  |  | ewo    Пользователь 
  Сейчас: Offline 
 Имя: АлексейРегистрация: 28.08.2015
 
 | О, ребята подтянулись   Компилировать просто, нужно - на комп поставить http://mougino.free.fr/zip/quick-apk-setup.exe - на андроид поставить https://play.google.com/store/apps/details?id=com.rfo.quickapkhttp://vk.com/65watgames?w=wall-97344238_39  здесь о сборке и тестах По графике - меня терзают подозрения, что так оно и есть, т.к. язык интерпретируемый. Лично мне вынесло разум то, что все граф. объекты попадают в спец-список; если закрасить экран 1000 случайными пикселями, полная информация о всех пикселях будет занимать время RFO при дальнейших граф. операциях. Выбор - сохранение экрана в теневой буфер (bitmap), очистка списка граф. объектов через gr.cls, + можно оперировать через bitmap.draw, впрочем на примере выше вижу так и делаете. | 
 |  3.11.2015 / 10:35 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Откомпиленный вариант значительно шустрее. И если использовать не rect a bitmap то скорость взлетает в разы !!! Все точки можно отображать одним объектом через gr.set.pixelsСинтаксис такой :
 gr.set.pixels q,m[],x,y
 q - указатель на объект
 m[] - массив координат где m[1] - x координата первой точки m[2] - y координата первой точки и так далее.
 x,y соответственно координаты всего сборища точек
 
 далее это всё можно двигать с помощью modify
 
 В списке на отображение будет всего один обьект
 
 Изменено vh180477 (3.11 / 10:36) (всего 1 раз)
 | 
 << 1  ... 30 31 32 33 34  ... 272 >>     Всего сообщений: 2716 Фильтровать сообщения 
  Поиск по теме 
  Файлы топика (511) 
 |