Войти

Показать полную графическую версию : [решено] самая простая графическая библиотека


FRZ
19-04-2008, 15:12
В общем, нужно создать прямоугольнички или кружочки, иллюстрирующие очередь в Си. В ней в единицу времени будет добавляться от одного до двух кружочков (или прямоугольничков), и один удаляться. Вопрос: как это реализовать попроще? Знаком с С на уровне простых операторов типа for, if и т.д.
Заранее спасибо!

Admiral
19-04-2008, 15:29
Если под Виндовс то можно посмотреть
http://hge.relishgames.com/

FRZ
20-04-2008, 15:00
да, под Windows.
Я так понимаю, папки include и lib надо копировать в папку с TurboC? А как подключить библиотеки (и какие надо)? И если нетрудно, напиши плиз синтаксис для рисования прямоугольника. Спасибо!

Admiral
20-04-2008, 16:16
Я только юзал её для Visual C++ 6.0 (http://hge.relishgames.com/doc/html/setup_vc6.html)

На базе второго урока уже можно рисовать. Координаты для прямоугольника выделены.
#include <hge.h>

//………………….
hgeQuad quad;

// Some "gameplay" variables and constants
float x=100.0f, y=100.0f;
float dx=0.0f, dy=0.0f;

//………………….

bool FrameFunc()
{
//………………….

// Set up quad's screen coordinates
quad.v[0].x=x-80; quad.v[0].y=y-60;
quad.v[1].x=x+80; quad.v[1].y=y-60;
quad.v[2].x=x+80; quad.v[2].y=y+60;
quad.v[3].x=x-80; quad.v[3].y=y+60;

// Begin rendering quads.
// This function must be called
// before any actual rendering.
hge->Gfx_BeginScene();

// Clear screen with black color
hge->Gfx_Clear(0);

// Render quads here. This time just
// one of them will serve our needs.
hge->Gfx_RenderQuad(&quad);

// End rendering and update the screen
hge->Gfx_EndScene();

return false;
}
//………………….


Под Turbo C боюсь тогда сиё не подойдёт. А разве есть Виндовс версии сего?
Если устраивает проги Дос машины (command.com) под Виндовс то вполне подойдут базовые функции graphics.h http://electrosofts.com/cgraphics/

FRZ
22-04-2008, 13:18
Admiral, огромное спасибо!!!!!
graphics - это то, что нужно. И легко и все мои нужды удовлетворяет))))))

FRZ
22-04-2008, 15:19
Тут по ходу выполнения вопросик возник. Можно ли как-нибудь вставить паузу? Например, у меня вывелся один прямоугольничик, подождать, например 1 секунду и затем выводить второй, а то у мну все скопом выводится)))

Admiral
22-04-2008, 17:18
#include <dos.h>
/*...*/
sleep (1000);
в sleep (1000) аргумент в милисекундах.
Время задержки зависит от быстродействия машины.




© OSzone.net 2001-2012