curses 类程序, 包含头文件为stdio.h 和 curses.h
/*******************************************************************************
* Program ID : 001
* Program Name : redfox
*
* File ID : fox_001
* File Name : fox.c
*
* Description :
* Output "fox" to your screen.
*
* Modify Record :
* 2005/02/19/ yangyu creat
* 2005/06/16/ yangyu fix (add curs_set(0))
*
* Comment :
* Compilation Method : gcc -lcurses -o redfox fox.c
* Runing Method : ./redfox
******************************************************************************/
#include
#include
#define FONTCOLOR COLOR_RED
/*******************************************************************************
* Function ID : F_001
* Function Name : F_Inital
*
* Function Description :
* Screen inital
*
* Parameters : void
*
* Return Value : int
* 0 : Success
* none of 0 : Failed
*
* Modify Record :
* 2005/02/19/ yangyu creat
******************************************************************************/
int F_Inital(void)
{
initscr();
cbreak();
nonl();
noecho();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);
curs_set(0);
refresh();
return 0;
}
/*******************************************************************************
* Function ID : F_002
* Function Name : F_OutPut_o
*
* Function Description :
* Write "O" to screen
*
* Parameters : void
*
* Return Value : void
*
* Modify Record :
* 2005/02/19/ yangyu creat
******************************************************************************/
void F_OutPut_o(void)
{
int iLine = LINES/2 -4;
int iCol = COLS/2;
int i = 0;
for(;i < 4; i++)
{
move(iLine, iCol-i);
addch('@');
refresh();
usleep(10);
}
for(i = 0; i < 4; i++)
{
move(iLine+i+1, iCol-4);
addch('@');
refresh();
usleep(10);
}
for(i = 4; i > 0; i--)
{
move(iLine+5, iCol-(i-1));
addch('@');
refresh();
usleep(10);
}
for(i = 4; i > 0; i--)
{
move(iLine+i, iCol+1);
addch('@');
refresh();
usleep(10);
}
}
/*******************************************************************************
* Function ID : F_003
* Function Name : F_OutPut_f
*
* Function Description :
* Write "F" to screen
*
* Parameters : void
*
* Return Value : void
*
* Modify Record :
* 2005/02/19/ yangyu creat
******************************************************************************/
void F_OutPut_f(void)
{
int iLine = 0;
int iCol = 0;
int i;
iLine = LINES/2;
iCol = COLS/4;
for(i = 0; i < 6; i++)
{
move(iLine-4, iCol+i);
addch('@');
refresh();
usleep(10);
}
for(i =4; i >= -1; i--)
{
move(iLine-i, iCol);
addch('@');
refresh();
usleep(10);
}
for(i = 0; i < 4; i++)
{
move(iLine-2, iCol+1+i);
addch('@');
refresh();
usleep(10);
}
}
/*******************************************************************************
* Function ID : F_004
* Function Name : F_OutPut_x
*
* Function Description :
* Write "X" to screen
*
* Parameters : void
*
* Return Value : void
*
* Modify Record :
* 2005/02/19/ yangyu creat
******************************************************************************/