Monday, 4 November 2013

Sun animation in C++

Program:

#include<graphics.h>
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<dos.h>
void home(int x,int y);
void mountains();
void sun(int x,int y);

static int sx=150,sy=250;
void main()
{
int gm,gd=DETECT,i,j;
initgraph(&gd,&gm,"C:\\tc\\bgi");
while(!kbhit())
{
sun(sx++,sy--);

mountains();
setcolor(15);
home(120,300);

setcolor(11);
home(290,220);

setcolor(5);
home(450,380);
delay(1000);
cleardevice();
sun(sx++,sy--);

mountains();
setcolor(15);
home(120,300);

setcolor(11);
home(290,220);

setcolor(5);
home(450,380);
}
closegraph();
getch();
}
void home(int x,int y)
{
line(x,y,x+100,y);
line(x+20,y+50,x+120,y+50);
line(x,y,x+20,y+50);
line(x+100,y,x+120,y+50);
line(x,y,x-20,y+50);
line(x-15,y+40,x-15,y+80);
line(x+15,y+40,x+15,y+90);
line(x+115,y+50,x+115,y+90);
line(x+15,y+90,x+115,y+90);
line(x-15,y+80,x+15,y+90);
line(x-5,y+45,x-5,y+83);
line(x+5,y+47,x+5,y+87);
line(x-5,y+45,x+5,y+47);
line(x+45,y+60,x+85,y+60);
line(x+45,y+80,x+85,y+80);
line(x+45,y+60,x+45,y+80);
line(x+85,y+60,x+85,y+80);
}

void sun(int x,int y)
{
setcolor(14);
setfillstyle(1,14);
fillellipse(x,y,15,15);
}
void mountains()
{
//Mountains................
setcolor(8);
line(0,300,100,250);
line(110,250,250,300);
line(260,300,285,302);
line(405,300,getmaxx(),250);
}

Output:







Train animation in C++

Program:

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

void main()
{
 clrscr();
 int gdriver = DETECT, gmode, errorcode;
 initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
 int i,yc=400;
 for(i=100;i>=-400;i=i-2)
 {
  //Engine
  rectangle(425+i,370,515+i,400);
  circle(450+i,yc,10);
  circle(490+i,yc,10);

  rectangle(470+i,350,515+i,370); //Driver's cabin
  rectangle(440+i,362,450+i,370); //Smoke pipe

  setcolor(BLACK);
  line(470+i,370,515+i,370);
  setcolor(WHITE);

  //First car
  rectangle(535+i,350,625+i,400);
  circle(560+i,yc,10);
  circle(600+i,yc,10);

  line(515+i,382,535+i,382);     //Connector between engine and car....
  line(0,410,700,410); //track
  delay(10);

  //Compromising for line in between wheels...
  setcolor(BLACK);
  line(440+i,yc,460+i,yc);
  line(480+i,yc,500+i,yc);
  line(550+i,yc,570+i,yc);
  line(590+i,yc,610+i,yc);
  setcolor(WHITE);

  clearviewport();
 }
 getch();
}

Output:


Sunday, 3 November 2013

Car animation program in C++

//Program:

#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>
void floodfill(int x, int y, int oldColor, int newColor)
{
if(getpixel(x, y)==oldColor)
{
putpixel(x, y, newColor);
floodfill(x+1, y, oldColor, newColor);
floodfill(x-1, y, oldColor, newColor);
floodfill(x, y+1, oldColor, newColor);
floodfill(x, y-1, oldColor, newColor);
}
}

void main()
{
clrscr();
int gd=DETECT,gm;
initgraph(&gd,&gm,"..//bgi");

for(int i=1; i<=getmaxx()-200; i++)
{
delay(30);
cleardevice();

line(620, 20, 620, 90);
circle(627, 30, 7);
circle(627, 44, 7);
circle(627, 58, 7);
line(60+i, 10, 110+i, 10);
line(10+i, 40, 30+i, 40);
line(30+i, 40, 60+i, 10);
line(140+i, 40, 160+i, 40);
line(110+i, 10, 140+i, 40);
line(10+i, 40, 10+i, 65);
line(160+i, 40, 160+i, 65);
line(65+i, 15, 105+i, 15);
line(40+i, 40, 130+i, 40);
line(65+i, 15, 40+i, 40);
line(105+i, 15, 130+i, 40);
line(10+i, 65, 35+i, 65);
line(160+i, 65, 135+i, 65);
line(60+i, 65, 110+i, 65);
arc(47.5+i, 65, 0, 180, 12.5);
arc(122.5+i, 65, 0, 180, 12.5);
circle(47.5+i, 65, 9);
circle(122.5+i, 65, 9);
if(i>=1 && i<=getmaxx()-270)
{
floodfill(627, 31, BLACK, GREEN);
}
else if(i>=getmaxx()-271 && i<=getmaxx()-250)
{
floodfill(627, 45, BLACK, YELLOW);
}
else
{
floodfill(627, 59, BLACK, RED);
}
}
getch();
closegraph();
}


//Output: