mouse.c
来自「坦克大战,实现基本的游戏功能」· C语言 代码 · 共 77 行
C
77 行
/*
mouse.c
鼠标操作相关的函数实现
最后修改: 2007-06-19
*/
#include "mouse.h"
#include <dos.h>
char InstallMouse(int nMinX, int nMinY, int nMaxX, int nMaxY)
{
union REGS r;
int retcode;
r.x.ax=0;
int86(0x33, &r, &r);
retcode=r.x.ax;
if(retcode==0) /* 鼠标初始化失败 */
{
return 0;
}
r.x.ax=7;
r.x.cx=nMinX;
r.x.dx=nMaxX;
int86(0x33, &r, &r); /* 设置水平范围 */
r.x.ax=8;
r.x.cx=nMinY;
r.x.dx=nMaxY;
int86(0x33, &r, &r); /* 设置垂直范围 */
return retcode;
}
char GetButtonState(char byButton) /* 取鼠标按键状态 */
{
unsigned char res;
union REGS r;
r.x.ax=3;
int86(0x33, &r, &r);
res=r.x.bx;
if(byButton==RBUTTON)
{
res=(res>>1);
}
res&=0x01;
switch(res)
{
case 0: return RELEASED;
case 1: return PRESSED;
}
}
void GetMousePosition(int *pnX, int *pnY) /* 取鼠标指针位置 */
{
union REGS r;
r.x.ax=3;
int86(0x33, &r, &r);
*pnX=r.x.cx;
*pnY=r.x.dx;
}
void SetMousePosition(int nX, int nY) /* 重设鼠标位置 */
{
union REGS r;
r.x.ax=4;
r.x.cx=nX;
r.x.dx=nY;
int86(0x33, &r, &r);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?