《菜单:大学计算机c语言课程设计(调用鼠标)》由会员分享,可在线阅读,更多相关《菜单:大学计算机c语言课程设计(调用鼠标)(4页珍藏版)》请在金锄头文库上搜索。
1、菜单:大学计算机菜单:大学计算机 C C 语言课程设计语言课程设计( (调用鼠标调用鼠标) )#include #include #include #include #include#include/*下为五子棋所需宏定义及全局变量和菜单主函数书无关*/*编译预处理,定义按键码*/#define LEFT 0x4b00 /*左移-方向键 left*/#define RIGHT 0x4d00 /*右移-方向键 right*/#define DOWN 0x5000 /*下移-方向键 down*/ #define UP 0x4800 /*上移-方向键 up*/#define ENTER 0x1c0d
2、 /*ENTER 键表示落子*/*若想在游戏中途退出, 可按 Esc 键*/#define ESC 0x011b /*设置偏移量*/#define OFFSET 20#define OFFSET_x 4#define OFFSET_y 3/*定义数组大小*/#define N 16/*定义全局变量*/int statusNN; /*定义的数组,保存状态*/int step_x,step_y;/*行走的坐标*/int key ; /*获取按下的键盘的键*/int flag; /*玩家标志*/int wzq;/*上为五子棋所需宏定义及全局变量*/int MouseX; int MouseY; /*
3、全局变量(MouseX,MouseY)为鼠标顶尖点坐标*/*up1616与 down1616两数组为中间变量。mouse_draw1616描述鼠标的各点像素。pixel_save1616为记录下被鼠标遮挡部分的像素*/int up1616,down1616,mouse_draw1616,pixel_save1616; /*下为调用鼠标需要的函数*/void MouseMath()/*为 mouse_draw1616赋值,储存鼠标样子*/ int i,j,jj,k; long UpNum16= 0x3fff,0x1fff,0x0fff,0x07ff, 0x03ff,0x01ff,0x00ff,0
4、x007f, 0x003f,0x00ff,0x01ff,0x10ff, 0x30ff,0xf87f,0xf87f,0xfc3f ; long DownNum16= 0x0000,0x7c00,0x6000,0x7000, 0x7800,0x7c00,0x7e00,0x7f00, 0x7f80,0x7e00,0x7c00,0x4600, 0x0600,0x0300,0x0300,0x0180 ; for(i=0;i=0;k-) upik=0; for(k=jj;k=0;k-) downik=0; for(k=0;k 16;k+)/*四种组合方式*/ if(upik=0 else if(upik=0 else if(upik=1 else mouse_drawik=3; mouse_draw12=4;/*特殊点*/ /*鼠标光标显示。其作用有两个。1.记录被以(x,y)为顶点的鼠标遮挡下的像素;2.以(x,y)为顶点画鼠标*/ void MouseOn(int x,int y) int i,j; int color; for(i=0;i16;i+)/*画鼠标*/ for(j=0;j16;j+) pixel_saveij=getpixel(x+j,y+i);/*保存原来的颜色*/ if(mouse_drawij=0|mouse_drawij=15)