Banner Ad

    A    L    W    A    Y    S           D    E    S    I    R    E           T    O           L    E    A    R    N           S    O    M    E    T    H    I    N    G           U    S    E    F    U    L   

Monday, May 9, 2011

2009 IPE-1a question 1

#include <ncurses.h>
void printrow(int r, int c, int colour);
void printcol(int r, int c, int colour);
int main()
{
initscr();
int rr,rc,cr,cc,ch,colour;
keypad(stdscr, TRUE);
noecho();
ch = getch();
while(ch!='q' && ch!='Q')
{
while(ch!=KEY_RIGHT && ch!=KEY_UP && ch!=KEY_LEFT && ch!=KEY_DOWN)
{
move(5,20);
printw("Wrong key: press Arrow Keys");
ch=getch();
clear();
}

if (ch==KEY_RIGHT)
{
colour=1;
rr=5;
cr=3;
rc=20;
cc=28;
}

else if (ch==KEY_UP)
{
colour=2;
rr=5;
                        cr=5;
                        rc=20;
                        cc=24;
}
else if(ch==KEY_LEFT)
{
colour=3;
rr=7;
                        cr=5;
                        rc=20;
                        cc=20;
}
else if(ch==KEY_DOWN)
{
colour=4;
rr=9;
                        cr=5;
                        rc=16;
                        cc=20;
}
printrow(rr,rc,colour);
printcol(cr,cc,colour);
ch=getch();
clear();
}
endwin();
return 0;

}

void printrow(int r, int c, int colour)
{
start_color();
         init_pair(1,COLOR_RED,COLOR_BLUE);
         init_pair(2,COLOR_YELLOW, COLOR_GREEN);
         init_pair(3,COLOR_WHITE,COLOR_MAGENTA);
         init_pair(4,COLOR_YELLOW,COLOR_BLACK);
for(int i=0; i<10; i++)
{
attrset(COLOR_PAIR(colour));
move(r,c+i);
printw("*");
move(r+1,c+i);
printw("*");
}
}

void printcol(int r, int c,int colour)
{
start_color();
         init_pair(1,COLOR_RED,COLOR_BLUE);
         init_pair(2,COLOR_YELLOW, COLOR_GREEN);
         init_pair(3,COLOR_WHITE,COLOR_MAGENTA);
         init_pair(4,COLOR_YELLOW,COLOR_BLACK);
for (int i=0; i<6; i++)
{
attrset(COLOR_PAIR(colour));
move(r+i,c);
printw("*");
move(r+i,c+1);
printw("*");
}
}


0 comments:

Related Posts Plugin for WordPress, Blogger...

your comments