|  RFO BASIC<< 1  ... 46 47 48 49 50  ... 272 >>  |  11.11.2015 / 03:59 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Графические команды 2 Открыть спойлер Закрыть спойлерЯ не знаю как описать зачем нужно имя (ссылка) графического объекта без команды GR.MODIFY . Поэтому немного не по порядку начнём с этой полезной команды. 
 GR.MODIFY объект,"параметр",значение
 Изменяет параметр объекта. Применение этой команды расмотрим в следующем примере.
 
 GR.POINT ссылка,x,y
 Рисует точку. Менять местоположение точеи можно через ссылку.
 Например:
 
 
     GR.OPEN 255,0,0,0,0,0    x=100    y=100    GR.COLOR 255,255,255,255,1    GR.POINT tochka,x,y ! Тут можно было просто координаты точки ввести но мы собираемся её двигать поэтому переменные    FOR q=1 to 100        y=y+1 ! Это просто переменная которую мы занесём в Y координату объекта tochka        GR.MODIFY tochka,"y",y ! Меняем координату y объекта tochka        GR.RENDER ! Отрисовываем точку        PAUSE 10  ! Пауза чтоб не промелькнуло всё быстро и мы увидели движение точки    NEXT
GR.LINE ссылка,x1,y1,x2,y2
 Рисует линию. Изменяемые координаты через GR.MODIFY соответственно "x1","y1","x2",y2" . Незнаю нужен ли пример но на всякий случай.
 Например:
 
 
     GR.OPEN 255,0,0,0,0,0    GR.COLOR 255,255,0,255,1    GR.LINE q,10,10,100,10    GR.RENDER    PAUSE 5000 !Пауза 5 секунд.
GR.RECT ссылка,x,y,x1,y1
 Рисует прямоугольник. Изменяемые координаты через GR.MODIFY соответственно "left","top",right","bottom".
 
 GR.OVAL ссылка,x,y,x1,y1
 Рисует овал. В GR.MODIFY аналогично GR.RECT.
 
 GR.ARC ссылка,x,y,x1,y1,старт,угол,стиль
 Рисует -дугу,сектор,залитый сектор.
 Разберёмся с этими параметрами. Ссылка и координаты я думаю вопросов не вызывают, но если что задавайте вопросы на форуме распишу подробнее. Далее <старт> - угол с какого начать рисовать дугу,<угол> - угол дуги (дуга рисуется со стратового угла по часовой стрелке).
 Стиль требует одельного обзаца. Он сочетается с параметром заливка в GR.COLOR .
 стиль = 0, заливка = 0 - Рисуется только дуга.
 стиль = 0, заливка = 1 - Рисуется сектор (дуга с линиями от центра окружности)
 стиль = 1, заливка = 1 - Залитый сектор.
 Изменяемые параметры GR.MODIFY "left","top",right","bottom" - x,y,x1,y1. "start_angle",""sweep_angle","fill_mode" - старт, угол, стиль соответственно.
 
 GR.CIRCLE ссылка,x,y,радиус
 Команда рисуек окружность. Изменяемые параметры GR.MODIFY "x","y","radius"
 
 GR.SET.PIXELS ссылка,mas[],x,y
 Рисует массив точек. В массив mas[] записываем координаты точек(mas[1] - x первой точки mas[2] - y первой точки и т.д.). x,y координаты всего сборища точек. Изменяемые параметры GR.MODIFY "x","y".
 Тут я думаю не помешает пример:
 
     GR.OPEN 255,0,0,0,0,0    DIM mas[20]    FOR q=1 TO 20 STEP 2        mas[q]=ABS(RND()*100)%  x координата        mas[q+1]=ABS(RND()*100)%y координата    NEXT    GR.COLOR 255,255,255,255,1    GR.SET.PIXELS tochki,mas[],100,100     FOR w=1 to 500        FOR q=1 to 20            mas[q]=mas[q]+1        NEXT        GR.RENDER        PAUSE 5    NEXT
Обратите внимание что мы не двигаем объект через GR.MODIFY (а могли бы) а меняем координаты каждой точки непосредственно в массиве.
 
 GR.POLY ссылка, список, x,y
 Рисует полигон(замкнутую фигуру). Применение аналогично как в предыдушем случае. В список записываем координаты вершин(не менее 3 вершин иначе ошибка) и меняем их по собственному разумению.
 Например:
 
 
     GR.OPEN 255,0,0,0,0,1    LIST.CREATE N,spisok    FOR q=1 TO 6 %Шесть координат иначе ошибка. Полигон минимум треугольник.        LIST.ADD spisok,0    NEXT    GR.COLOR 255,255,255,255,0    GR.POLY strelka,spisok,150,150    DO% Основной цикл        ugol=ugol+1        IF ugol=361 THEN ugol=1        LIST.REPLACE spisok,3,140*COS(ugol/180*3.14)        LIST.REPLACE spisok,4,140*SIN(ugol/180*3.14)        GR.RENDER    UNTIL 2=3
Стрелка движнтся по кругу (может коме пригодится). Я думаю в данном примере легко разобратся, если что вопросы в форуме.
 
 
 Ухх .... Набираю долго и коряво. Надеюсь помог кому-то. Если что не понятно постараюсь ответить. | 
 |  11.11.2015 / 04:07 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Завис в горошках на поиске 5 одноцветных шариках. Вначале думал как в волновом алгоритме поиска пути смотреть каждую точку и от неё лучи(очень долго получается). Сейчас делаю отдельно поиск по вертикали, горизонтали и диагонали. Мне кажется что должен быть нормальный (более быстрый) способ. Подскажите кто знает (или ткните где об этом).
 | 
 |  11.11.2015 / 11:42 |  |  | ewo    Пользователь 
  Сейчас: Offline 
 Имя: АлексейРегистрация: 28.08.2015
 
 | Vh, посмотри ConnectFour. Там те же горошки, только по 4 в ряд.http://laughton.com/basic/programs/games/ConnectFour_Roy/ | 
 |  11.11.2015 / 11:56 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Спасибо. Там сделано как раз как я задумал отдельно по вертикали,горизонтали а потом по диагоналям. Я думал существует способ проще. А алгоритм реальных горошков так и не нашёл    | 
 |  11.11.2015 / 13:19 |  |  | ewo    Пользователь 
  Сейчас: Offline 
 Имя: АлексейРегистрация: 28.08.2015
 
 | Google "алгоритм игры lines" выдает много вкусных ссылок, если что )
 Кто-то даже дипломы пишет по этой теме!
 
 Изменено ewo (11.11 / 13:20) (всего 1 раз)
 | 
 |  11.11.2015 / 20:37 |  |  | vh180477    Пользователь 
  Сейчас: Offline 
 Имя: ВалеркаОткуда: Костомукша
 Регистрация: 03.11.2015
 
 | Текст в графическом режиме. Открыть спойлер Закрыть спойлерGR.TEXT.ALIGN выравнивание Как будет выровнен текст 1 - влево,2 - по центру,3 - вправо
 
 GR.TEXT.Size размер
 Размер текста - число подбирается индивидуально в зависимости от размера экрана.
 
 GR.TEXT.HEIGHT q, v, u
 Возвращает в q- высоту надписи в пикслех, v-насколько торчат нестандарт типа "б"(хвостик буквы торчит на остальными в вверх), u- насколько нестандарт типа "у" вниз.
 
 GR.TEXT.WIDTH w,"надпись"
 Возвращает ширину надписи которая может быть переменной. Ширину возвращает в переменную w(в данном случае).
 
 GR.GET.TEXTBOUNDS "надпись",x,y,x1,y1
 Возвращает координаты прямоугольника ограничивающего надпись.
 
 GR.TEXT.SETFONT ссылка или "шрифт",стиль
 Каким шрифтом писать. Ссылка указывает на заранее загруженный шрифт. Альтернативно можно в кавычках указать шрифт установленный в системе например "arial".
 Стиль "N" - NORMAL, "I" - ITALIC, "B" - BOLD, "BI" - BOLD ITALIC
 
 GR.TEXT.TYPEFACE шрифт, стиль
 Альтернатива предыдущей команде. шрифт = 1 - default font, 2 - monospace font, 3 - sans-serif, 4 - serif
 стиль 1 - normal, 2 - bold, 3 - italik, 4 - bold italik
 
 GR.TEXT.BOLD признак
 Если 1 то текст жирнее чем параметр bold.А заливка в GR.COLOR 1 то толстый (будет как бы контур вокруг символов)
 
 GR.TEXT.CREW значение
 Искажает текст как курсив. Значение может быть отрицательным - традиционный курсив -0.25
 
 GR.TEXT.STRIKE признак
 Если признак <>0 текст будет зачеркнутым.
 
 GR.TEXT.DRAW ссылка,x,y,"надпись"
 Отправляет объект(в данном случае текст) в список рендера. Надпись будет выведена по координатам x,y. Координаты и сам текст можно менять через GR.MODIFY доступны параметры "x","y","text"
 
 А сейчас небольшой пример:
 
 
 REM Start of BASIC! ProgramGR.OPEN 255,0,0,0,0,1GR.COLOR 255,255,255,255,1GR.TEXT.ALIGN 2 %Выравниваем по центруGR.TEXT.SIZE 8  %Размер 8GR.TEXT.DRAW tx,100,100,"" % Выводим надпись в координатах x = 100,y = 100FOR q=1 to 1000    vr$=STR$(q) %Переводим в символьную форму иначе GR.TEXT.DRAW не понимает    GR.MODIFY tx,"text",vr$ %Меняем выведенную надпись.    GR.RENDERNEXT
Как видите все эти богатые возможности не обязательны. Можно обойтись малым.
 Ужас ... Набрал таки. Двумя пальцами !!!! | 
 |  17.11.2015 / 13:36 |  |  | 1961uvg    Пользователь 
  Сейчас: Offline 
 Имя: VictorОткуда: Минск
 Регистрация: 28.07.2015
 
 | Появился новый сайт по RFO-Basic !http://65wat.ru/forum/ | 
 |  22.11.2015 / 11:57 |  |  | oslopov1991    Пользователь 
  Сейчас: Offline 
 Имя: олегРегистрация: 24.12.2014
 
 | Всем. Привет! Нет, критики меня не задавили! Я просто отвлекая на изучение теории музыки и программы FL STUDIO. Для хороших игр нужна хорошая музыка. Ни и хорошие рисунки само сабой. Было бы здорово, чтобы кто-то помог мне освоить фрукты основательно, а то я толь пианино могу там пользовать. Ну и по теории музыки и музыкальным стилям натаскали бы. А пока бейсик я забросил. Честное слово думал что тема без меня сразу умрёт и отправится в архив или того хуже, будет стерта модератором, за ненадобностью. Кстати тем кто хочет, но не знает как использовать машинный код, могу только посоветовать операторы работы с бинарниками. Там есть что-то типа peek и poke только применительно к файлам, а не системе. Всё-таки андроид это не спектрум, куча разных надстроек над железным ядром.
 | 
 |  22.11.2015 / 12:44 |  |  | oslopov1991    Пользователь 
  Сейчас: Offline 
 Имя: олегРегистрация: 24.12.2014
 
 | Тема не только не умерла, как я полагал, но и стала привлекать страждущих. Дошло до того, что на неё обратили внимание JAVAисты, которые незамедлительно принялись проповедовать свою религию. Это чего-то стоит!    | 
 |  22.11.2015 / 19:56 |  |  | ewo    Пользователь 
  Сейчас: Offline 
 Имя: АлексейРегистрация: 28.08.2015
 
 | По музыке\графике https://vk.com/demoscene  посмотри видеоподкасты, может чего стоящего выловишь. Как минимум мотивация гарантирована ) По рисованию, в ВК несколько групп есть, где на общественных началах люди рисуют\учатся рисовать. По FL не искал, но просто по музыке ничего не нашел; может стоит поискать именно по названию софтины. Есть еще MULab (софт). По музыке, мне было бы интересно понять, как сэмплируются звуки, программно изготовить такое. Т.е. если есть записанная нота "до", мы ее программно преобразуем (проигрываем быстрее?), чтобы получить "ре" или "ля".Изменено ewo (22.11 / 20:01) (всего 2 раза)
 | 
 << 1  ... 46 47 48 49 50  ... 272 >>     Всего сообщений: 2716 Фильтровать сообщения 
  Поиск по теме 
  Файлы топика (511) 
 |