Это хорошее введение в FB для программистов QBasic, основанное на учебнике
SJ Zero.
Начало работы с программным обеспечением
Вы можете скачать FreeBASIC здесь: http://www.freebasic.net/index.php/download
А FBIDE здесь: http://fbide.sourceforge.net/
При установке FBIDE, выберите "FBIDE only", чтобы не устанавливать старую
версию FB, включенную в этот пакет.
При запуске FBIDE первый раз, вам придется найти компилятор FB на вашем
компьютере.
Hello World!
Откройте FBIDE и введите следующее:
PRINT "Hello World!"
SLEEP
Поздравляем, вы только что собрали программу так же как в
QB. Теперь вы можете использовать большинство консольных команд как в
QB, надеюсь вы их помните :) . Например:
LOCATE 10,10
PRINT "I'm the center of the universe!"
SLEEP
Удивительный Screen 13
Теперь
поставьте "SCREEN 13" в ваш код, чтобы увидеть, как легко можно использовать
графические режимы:
SCREEN 13
PRINT "Hello World!"
SLEEP
Все стандартные графические QB команды работают , как вы можете видеть в
этом примере:
SCREEN 13
LINE (1,1)-(100,100),1,bf
PRINT "Hello World!"
CIRCLE (10,10),10,2
PSET (30,15),3
SLEEP
FreeBASIC также имеет новые возможности графики. К примеру QB никогда не
имел SCREEN 14 или больше. Попробуйте запустить эту программу:
SCREEN 15
LINE (1,1)-(100,100),1,bf
PRINT "Hello World!"
CIRCLE (10,10),10,2
PSET (30,15),3
SLEEP
После открытия графического окна с помощью команды
SCREEN,
вы можете также нажать ALT-ENTER для переключения между оконным и
полноэкранным режимами.
Еще одной приятной особенностью библиотеки графики в FreeBASIC является то,
что вы можете сделать переключения страниц в любом режиме видео. Следующий
код демонстрирует это:
DIM as integer page
DIM as integer notpage
DIM as integer a, b
screen 12, , 2 'Это устанавливает screen с 2 страницами
notpage = 1 'Это устанавливает заднюю страницу
DO
IF page = 0 THEN page = 1 ELSE page = 0 'Эти две вспомогательные линии для переключения страниц
IF notpage = 1 THEN notpage = 0 ELSE notpage = 1 'задняя страница
SCREENSET page, notpage 'Это переключение страниц
CLS 'Сначала мы очищаем экран
b = b + 1
IF b > 100 THEN b = 0
FOR a = 1 TO 128
PSET (b,a),a 'Затем мы рисуем линию. Она движется без мерцания.
NEXT a
LOOP UNTIL INKEY = CHR(27)
Это работает для любого режима, так что вы можете использовать режимы с
высоким разрешением для ваших программ с переключением страниц, используя
стандартные QB графические команды!
Почему ASM больше не требуется
Я бы не говорил это, если бы это не было правдой. Использование ASM в BASIC
для увеличения функциональности программы больше не требуется. Даже если на
минуту проигнорировать такие библиотеки как SDL, Allegro, DirectX, OpenGL,
и др., вы поймете , что у вас есть великолепные графические режимы, а также
Inkey, который мы все любили или ненавидели. Но есть также две новые команды
ввода, которые делают те же вещи, которые писал QBers , используя
ASM код в незапамятные времена:
DIM as integer x, y, buttons
CONST as integer escapeKey = 1
SCREEN 12
WHILE NOT MULTIKEY(escapeKey) 'Это проверяет клавишу ESCAPE каждый кадр
GETMOUSE x, y, , buttons 'Это получает состояние мыши
PRINT x,y,buttons
WEND
Зная это, вы должны быть способны начать программировать в FreeBASIC, со
всеми возможностями, которые оно дает; Скорость, мощность и мобильность!