#include<stdio.h>
#include<conio.h>
#include<graphics.h>
void titanic(int,int);
void titanics(int,int);
void iceberg();
int poly[]={0,300,640,300,640,480,0,480,0,300};
int ix=1,iy=1;
void main()
{
  int gdriver = DETECT, gmode, errorcode;
  int maxx, maxy;
  int xincr=1,yincr=1,i;
  int tempx=400,tempy=300;
  int sink=0;
  initgraph(&gdriver, &gmode, "c:/tc/bgi");
  errorcode = graphresult();
  if (errorcode != grOk)
  {
   printf("Graphics error: %s\n", grapherrormsg(errorcode));
   printf("Press any key to halt:");
   getch();
   exit(1);
  }
  while(1)
  {
    delay(30);
    cleardevice();
    iceberg();
    if(sink==1)
    {
      tempy+=yincr;
    }
    else
    {
      tempx-=xincr;
    }
    if(tempx<=120)
    {
      sink=1;
      titanics(tempx,tempy);
    }
    else
    {
      titanic(tempx,tempy);
    }
    if(tempy>=600)
 break;
  }
  getch();
}
void titanic(int x,int y)
{
  setcolor(15);
  line(x,y,x+100,y);
  line(x,y,x-20,y-20);
  line(x-20,y-20,x+120,y-20);
  line(x+120,y-20,x+100,y);
  rectangle(x+10,y-30,x+90,y-20);
  rectangle(x+20,y-40,x+80,y-30);
  rectangle(x+60,y-70,x+70,y-40);
}
void titanics(int x,int y)
{
  setcolor(15);
  line(x,y,x+100,y-10);
  line(x,y,x-20,y-30);
  line(x-20,y-20,x+120,y-30);
  line(x+120,y-20,x+100,y-10);
  rectangle(x+10,y-30,x+90,y-10);
  rectangle(x+20,y-40,x+80,y-10);
  rectangle(x+60,y-70,x+70,y-10);
}
void iceberg()
{
  setcolor(BLUE);
  setfillstyle(1,BLUE);
  fillpoly(4,poly);
  setfillstyle(1,WHITE);
  fillellipse(0,300,100,100);
}
0 Comments