在Turbo C 2.0下的鼠标控制程序
来源:互联网 发布:mac os 引导修复 盘 编辑:程序博客网 时间:2024/06/06 21:41
http://www.sql163.com/a/2009/0224/291850224.html
程序很短,不过效果还可以。
#include<stdio.h>
#include<graphics.h>
#include<dos.h>
#include<conio.h>
#define TIMER 0x1c
#ifdef __cplusplus
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
int TimerCounter=0;
void interrupt ( *oldhandler)(__CPPARGS);
void interrupt newhandler(__CPPARGS){
TimerCounter++;
oldhandler();
}
void SetTimer(void interrupt (*IntProc)(__CPPARGS)){
oldhandler=getvect(TIMER);
disable();
setvect(TIMER,IntProc);
enable();
}
void CloseTimer(){
disable();
setvect(TIMER,oldhandler); sql163.com
enable();
}
void mshow(){
union REGS ireg,oreg;
ireg.x.ax=1;
int86(0x33,&ireg,&oreg);
}
void getmxy(double *x,double *y){
union REGS ireg,oreg;
ireg.x.ax=3;
int86(0x33,&ireg,&oreg);
*x=oreg.x.cx*1.0;
*y=oreg.x.dx*1.0;
}
resetp(int x,int y,int a,int b){
cleardevice();
setcolor(1);
rectangle(10,10,629,339);
line(x,y,a,b);
setcolor(4);
rectangle(a-5,b-5,a+5,b+5);
setcolor(2);
pieslice(x,y,0,360,10);
setcolor(1);
}
void main(void){
int gdriver=EGA,gmode=EGAHI,key;
double ax,ay,vx,vy,px,py,mx,my;
int curpage=0;
initgraph(&gdriver,&gmode,"d://software//turboc2");
vx=0.0,vy=0.0,px=getmaxx()/2.0,py=getmaxy()/2.0,ax=ay=0;
mshow();
getmxy(&mx,&my);
setbkcolor(15);
setfillstyle(SOLID_FILL,2);
setactivepage(curpage);
resetp((int)px,(int)py,(int)mx,(int)my);
setvisualpage(curpage);
SetTimer(newhandler);
while(1){
if(kbhit())break;
if(TimerCounter>1){
TimerCounter=0;
getmxy(&mx,&my);
px=px+vx;
py=py+vy;
if(px>=629 px<=10)vx=-vx;
if(py>=339 py<=10)vy=-vy;
copyright sql163
vx=vx*0.97+ax;
vy=vy*0.97+ay;
ax=(mx-px)*0.01;
ay=(my-py)*0.01;
curpage=curpage==0?1:0;
setactivepage(curpage);
resetp((int)px,(int)py,(int)mx,(int)my);
setvisualpage(curpage);
}
}
CloseTimer();
- 在Turbo C 2.0下的鼠标控制程序
- Turbo C下的寄存器变量
- turbo C 下的打字游戏
- Turbo C使用的汇编函数 -- 鼠标管理函数
- Turbo C使用的汇编函数 -- 鼠标管理函数
- C的整形变量在Turbo C、VC++、Linux下的大小
- Turbo C 2.0的下载地址
- Turbo C 2.0的安装和启动
- Turbo C的配置
- Turbo C 2.0 使用指南
- Turbo C 2.0 认识
- Turbo C 2.0
- Turbo C 2.0 典藏
- Turbo C 2.0 使用指南
- Turbo C 2.0 使用指南
- turbo c安装在其它盘的设置
- libjpeg-turbo在Windows VS2010下的编译
- turbo c 2.0使用方法及在editplus中的配置
- strive for findind a job
- 一个男人关心的东西 决定了他的层次
- Bat 文件语法
- 珠海邀请赛个人解题报告 Problem I: Hanoi Tower Once More
- 每天读一遍,不久你就会变
- 在Turbo C 2.0下的鼠标控制程序
- eclipse启动报错
- 傅里叶总结(一)
- C++学习--2010.10.30
- 穷人为什么穷?富人为什么富?
- 绿色打印 健康生活
- TurboC 1024×768 真彩图形分步演示 八皇后(图)
- Emacs Shell命令
- 珠海邀请赛个人解题报告 Problem B: Magic Matrix