Ncurses
How to work with NCURSES in Linux...
NCURSES is a clone of the
original system V curses. It’s a free attributable library; fully capable with
older version of curses. In short it’s a library of functions that manages an
application’s display on character cell terminals.
In c++ we cannot get different shapes to the
screen because standard c++ does not provide enough functionalities in order to
manipulate the text screen outputs.To overcome this problem NCURSES was developed. Ncurses library provides a set of calls that enable the programmer to do various screen
and keyboard manipulations in the linux environment.
In order to work with
ncurses you should define ncurses.h header file.
Simple ncurses program :
#include<ncurses.h>
Int main()
{
initscr();
printw(“Hello world”);
getch();
endwin();
}
NCURSES MOST USEFULL SHAPES
CODE:
void triangle(int
row,int col,int height)
{
for(int i=0;i<=height;i++)
{
for(int
j=(col-i);j<=(col+i);j++)
{
move(row+i,j);
printw(“*”);
}
}
}
CODE:
void triangle(int
row,int col,int height)
{
for(int i=0;i<=height;i++)
{
for(int
j=(col-i);j<=(col+i);j++)
{
move(row-i,j);
printw(“*”);
}
}
}
CODE:
void triangle(int
row,int col,int height)
{
for(int i=0;i<=height;i++)
{
for(int
j=(col-i);j<=(col+i);j++)
{
move(j,row-i);
printw(“*”);
}
}
}
CODE:
void triangle(int
row,int col,int height)
{
for(int i=0;i<=height;i++)
{
for(int
j=(col-i);j<=(col+i);j++)
{
move(j,row+i);
printw(“*”);
}
}
}
CODE:
void Rec(int row,int
col,int height,int width)
{
for(int i=row;i<=row+height;i++)
{
for(int j=col;j<=col+width;j++)
{
move(i,j);
printw(“*”);
}
}
}
CODE:
void Trap(int row,int
col,int height,int width)
{
for(int i=row;i<=row+height;i++)
{
for(int j=col;j<=col+width+i;j++)
{
move(i,j);
printw(“*”);
}
}
}
CODE:
void Romb(int row,int
col,int height,int width)
{
for(int i=row;i<=row+height;i++)
{
for(int j=(col+i);j<=col+width+i;j++)
{
move(j,i);
printw(“*”);
}
}
}
CODE:
void Romb(int row,int
col,int height,int width)
{
for(int i=row;i<=row+height;i++)
{
for(int j=(col+i);j<=col+width+i;j++)
{
move(i,j);
printw(“*”);
}
}
}
CODE:
void Romb(int row,int col,int height,int width)
{
for(int i=row;i<=row+height;i++)
{
for(int j=(col-i);j<=col+width-i;j++)
{
move(row+i,col+j);
printw(“*”);
}
}
}
Moving asterisks(*)
in ncurses
Here arrow shows the
direction.
Code:
void moving(int row,int col,int size)
{
for(int i=0;i<size;i++)
{
refresh();
move(row,col+i);
printw(“*”);
for(int r=0;r<3000000;r++);
refresh();
}
}
Code:
void moving(int row,int col,int size)
{
for(int i=0;i<size;i++)
{
refresh();
move(row,col-i);
printw(“*”);
for(int r=0;r<3000000;r++);
refresh();
}
}
Code:
void moving(int row,int col,int size)
{
for(int i=0;i<size;i++)
{
refresh();
move(row-i,col);
printw(“*”);
for(int r=0;r<3000000;r++);
refresh();
}
}
Code:
void moving(int row,int col,int size)
{
for(int i=0;i<size;i++)
{
refresh();
move(row+i,col);
printw(“*”);
for(int r=0;r<3000000;r++);
refresh();
}
}
Code:
void moving(int row,int col,int size)
{
for(int i=0;i<size;i++)
{
refresh();
move(row+i,col+i);
printw(“*”);
for(int r=0;r<3000000;r++);
refresh();
}
}
Code:
void moving(int row,int col,int size)
{
for(int i=0;i<size;i++)
{
refresh();
move(row+i,col-i);
printw(“*”);
for(int r=0;r<3000000;r++);
refresh();
}
}
Code:
void moving(int row,int col,int size)
{
for(int i=0;i<size;i++)
{
refresh();
move(row-i,col-i);
printw(“*”);
for(int r=0;r<3000000;r++);
refresh();
}
}
Code:
void moving(int row,int col,int size)
{
for(int i=0;i<size;i++)
{
refresh();
move(row-i,col+i);
printw(“*”);
for(int r=0;r<3000000;r++);
refresh();
}
Good post Ravi. It's great to see you blogging. Best of luck machan!
ReplyDeleteThanks machoo...
Delete