本人编写的上下移动的光条的源码 希望大家给点意见
#include "stdio.h"#include "conio.h"
#include "dos.h"
#define UP 0x4800 /*宏定义上方向键*/
#define DOWN 0x5000/*宏定义下方向键*/
#define ESC 0x011b
#define ENTER 0x1c0d
main()
{
int key,y;
char ch[20],*put[3]={"1. ","2. ","3. "};
window(1,1,10,5);
textbackground(BLUE);
textcolor(RED);
clrscr(); /*定义个文本窗口*/
for(y=2;y<=4;y++)
{
gotoxy(1,y);
cprintf("%s",put[y-2]);
}
gettext(1,2,10,2,ch);
textbackground(RED);
textcolor(BLUE);
gotoxy(1,2);
cprintf("%s",put[0]);
y=2;
while(1)
{
key=bioskey(0);
puttext(1,y,10,y,ch);/*使上一次操作的区域复原*/
if(key==UP||key==DOWN||key==ESC)
{
if(key==UP)
y=y==2?4:y-1;
if(key==DOWN)
y=y==4?2:y+1;
if(key==ESC)
exit(0); /*如果键入ESC结束程序*/
}
gettext(1,y,10,y,ch);/*拷贝该区域的文本到ch[20]中*/
textbackground(RED);
textcolor(BLUE);/*改变被拷贝区域的背景与字体颜色*/
gotoxy(1,y);
cprintf("%s",put[y-2]);
}
}
YDDGT.rar
(4.79 KB)
效果 [ 本帖最后由 风之上位 于 2009-12-26 16:22 编辑 ]