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! Program
GR.OPEN 255,0,0,0,0,1
GR.COLOR 255,255,255,255,1
GR.TEXT.ALIGN 2 %Выравниваем по центру
GR.TEXT.SIZE 8 %Размер 8
GR.TEXT.DRAW tx,100,100,"" % Выводим надпись в координатах x = 100,y = 100
FOR q=1 to 1000
vr$=STR$(q) %Переводим в символьную форму иначе GR.TEXT.DRAW не понимает
GR.MODIFY tx,"text",vr$ %Меняем выведенную надпись.
GR.RENDER
NEXT
Как видите все эти богатые возможности не обязательны. Можно обойтись малым.Ужас ... Набрал таки. Двумя пальцами !!!! |
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)
|