Hi,
Have a look at this :
fxp://ftp.frontfree.net/Pub/DevTools/tcpp3.zip
I didnt download it but it seems to be fine.I used to write programs with tc++3.0 and now it is easier to write windows applications with borland c++ builder.By the way i would like to give an example on how to use graphich capabilities of tc++3.0 You can find how to init graph mode, draw 2d shapes and animate them.I downloaded this code from a web site but i can't remember the author.I'm sorry to write credits. I hope this will solve ur problems :
#include <stdlib.h>
#include <conio.h>
#include <graphics.h>
#include <dos.h>
#include <time.h>
// Macro to get a random integer within a specified range
#define getrandom(min, max) ((rand() % (int)(((max)+1) - (min))) + (min))
#define numflakes 300
void main(void)
{
unsigned int r;
unsigned int snow [numflakes+1] [2];
int gd=DETECT,gm;
initgraph(&gd,&gm,"");
setcolor(5);
outtextxy(120,200,"This is a demo for a snow-fall effect in TC30");
cleardevice;
setcolor(5);
moveto(10,300);
lineto(30,330);
moveto(10,301);
lineto(30,331);
moveto(35,340);
lineto(15,370);
moveto(35,341);
lineto(15,371);
setcolor(1);
//ellipse(_GBORDER, 175, 301, 225, 327);
circle(520, 275, 20);
setcolor(12);
rectangle(350, 250, 240, 300);
rectangle(351, 251, 241, 301);
setcolor(13);
moveto(450,310);
lineto(480,350);
lineto(420,350);
lineto(450,310);
moveto(419,350);
lineto(449,310);
/* Seed the random number generator with current time. */
srand((unsigned)time(NULL));
for (r=1; r<numflakes; r++) {
snow[r] [1] = getrandom(1, 639); // newone x
snow[r] [2] = getrandom(1, 479); // newone y
}
do {
for (r=1; r<numflakes; r++) {
(snow [r] [2])++;
if (getpixel(snow [r] [1], snow [r] [2]) != 0) {
if ((getpixel(snow [r] [1] + 1, snow [r] [2]) == 0) && (snow [r] [1] < 640)) {
(snow [r] [1])++;
setcolor(0);
putpixel(snow [r] [1] - 1, snow [r] [2] - 1,BLACK);
setcolor(15);
putpixel(snow [r] [1], snow [r] [2],WHITE);
goto nextloop;
} else
if ((getpixel(snow [r] [1] - 1, snow [r] [2]) == 0) && (snow [r] [1] > 0)) {
(snow [r] [1])--;
setcolor(0);
putpixel(snow [r] [1] + 1, snow [r] [2] - 1,BLACK);
setcolor(15);
putpixel(snow [r] [1], snow [r] [2],WHITE);
goto nextloop;
}
snow [r] [2] = getrandom(1, 10);
snow [r] [1] = getrandom(1, 639); // newone x
goto nextloop;
}
if (snow [r] [2] > 479) {
snow [r] [2] = getrandom(1, 10);
snow [r] [1] = getrandom(1, 639); // newone x
} else {
// setcolor(0);
putpixel(snow [r] [1], snow [r] [2] - 1,BLACK);
// setcolor(15);
putpixel(snow [r] [1], snow [r] [2],WHITE);
}
nextloop:;
}
delay(10);
} while (!(kbhit()));
closegraph();
exit(0);
}