Тема: зробити рух прапору на сі

допоможіть дописати програму
я створив прямокутник так коло в ньому , потрібно зробити рух вниз вверх , але не лиш контура а і заливки
шось типу як на кораблі піднімають прапор )))


#include <math.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<graphics.h>
#include<dos.h>

void main()
{ clrscr();

int gdriver=DETECT,gmode, errorcode;
initgraph(&gdriver,&gmode,"");
errorcode=graphresult();
if (errorcode!=grOk)
{ cout<<"error"<<grapherrormsg(errorcode);
cout<<"\n enter key";
getch();
exit(1);
}
setbkcolor(BLACK);
setcolor(9);
line(100,500,100,1);
setcolor(WHITE);
rectangle(100,0,300,200);
setfillstyle(1,15);
floodfill(200,100,15);
int y=0,y1=200,sy=60;

//-------------------------------
setcolor(4);
circle(200,100,25);
setfillstyle(1,4);
floodfill(200,100,4);



//-------------------------------
setcolor(9);
line(100,500,100,1);
getch();
closegraph();
}

2

Re: зробити рух прапору на сі

Це звичайно не по темі але я б таких викладачів звільняв б.. який нафіг дос, який графікс.х

3

Re: зробити рух прапору на сі

midnightcoldlove, а в чому ви бодай це компілюєте? Хіба що древній білдер епохи відродження спадає на думку...
З.І: зауваження тематичне: цей код треба перше скомпілювати. :)

4 Востаннє редагувалося cuhedg (31.05.2013 20:44:07)

Re: зробити рух прапору на сі

Нещодавно хотів побавитись графікою під ДОС)) Скачав собі компілятор Тurbo С тут: http://edn.embarcadero.com/museum/antiquesoftware На превеликий жаль, з-під досбоксу з графікою працювати не вийшло, тому закинув це діло.
По темі: якщо статичний прапор вже малюється, то зробити його рухомим нескладно. Потрібно написати функцію update (умовно кажучи), в якій розраховувати координати положення прапорця (наприклад, при русі прапора вгору координата Y повинна постійно зменшуватись), і по цим координатам малювати і розфарбовувати прапорець. Функцію update викликати з якоюсь певною частотою. Вибачте що без коду, нема де компілювати))

Подякували: Replace2

5

Re: зробити рух прапору на сі

Bartash написав:

midnightcoldlove, а в чому ви бодай це компілюєте? Хіба що древній білдер епохи відродження спадає на думку...
З.І: зауваження тематичне: цей код треба перше скомпілювати. :)

компілюю в борланд сі
тому і бібліотеки не під білдер , а під дос

6

Re: зробити рух прапору на сі

cuhedg написав:

Нещодавно хотів побавитись графікою під ДОС)) Скачав собі компілятор Тurbo С тут: http://edn.embarcadero.com/museum/antiquesoftware На превеликий жаль, з-під досбоксу з графікою працювати не вийшло, тому закинув це діло.
По темі: якщо статичний прапор вже малюється, то зробити його рухомим нескладно. Потрібно написати функцію update (умовно кажучи), в якій розраховувати координати положення прапорця (наприклад, при русі прапора вгору координата Y повинна постійно зменшуватись), і по цим координатам малювати і розфарбовувати прапорець. Функцію update викликати з якоюсь певною частотою. Вибачте що без коду, нема де компілювати))

статичний вже є , код якраз виклав
проблема в тому , що коли я задаю рух фігур , то рухаються лише контури умовно кажучи , а заливка фігур не рухається з ними функція floodfill(x,y,color)
підкиньте якусь ідея як її організувати повністю

7

Re: зробити рух прапору на сі

truesupport написав:

Це звичайно не по темі але я б таких викладачів звільняв б.. який нафіг дос, який графікс.х

так а що саме в графікс.х і досі вас засмучує ???
стандартні бібліотеки для Борланд сі , це ж не білдер !

8

Re: зробити рух прапору на сі

Тим що вони абсолютно нікому не потрібні. Є набагато цікавіші речі такі як вебгл.

9

Re: зробити рух прапору на сі

@truesupport
Нічого ви не розумієте у графіці під дос. :p WebGL добра штука, але якщо людина хоче стати системним програмістом, то дос-платформа чудова знахідка через можливість безпосереднього доступу до обладнання. Я звісно розумію що дос залишився в бурситетах через невігластво викладачів, але сам він непогана штука.

Подякували: cuhedg1

10 Востаннє редагувалося Очі.завидющі (01.06.2013 21:22:00)

Re: зробити рух прапору на сі

@midnightcoldlove
Для плавної анімації в ДОСі потрібно перемикати сторінки відеопам'яті. Тобто спочатку ви малюєте на першій сторінці, а користувач бачить другу, а потім навпаки - готовий малюнок першої користувач бачить на екрані, а на другій сторінці ви тим часом малюєте. Стосовно прапору - я колись писав його - там треба використовувати просту синусоїду. На вашому місці я б малював те все вертикальними лініями, не використовуючи заливку.