基于c语言Easyx库的捕鱼达人小游戏

基于c语言Easyx库的捕鱼达人小游戏(一)

主菜单

(写在前面的话:使用EASY-X库一定要命名为.cpp文件,不然会报出一大堆错误,写程序可以选择全部用c语言或全部使用c++进行编写。切忌混用两种语言。)

1.窗口实例化: 主页面使用Easyx库自带的IMAGE函数,进行图片背景填充:

initgraph(1600, 900);//实例化一个1600*900的窗口

2.进行图片填充

IMAGE img_background;//创建一个IMAGE 对象
loadimage(&img_background, L"E:\img\bg01.png", 1600, 900);//使用加载图片的封装函数进行图片的加载
putimage(0, 0, &img_background);//展现图片

3.菜单栏的定制: 由于Easyx库没有直接的按钮对象,但我们可以通过鼠标监听实现按钮的功能

void mouseclicked()
{
          
   

	MOUSEMSG msg;
	//定义变量,保存鼠标信息
	FlushMouseMsgBuffer();
	//清空鼠标消息缓冲区,避免无效信息带入正式判断中

	while (1)           //主循环,循环监听鼠标信息;

	{
          
   
		while (MouseHit())//监听鼠标信息,当鼠标有消息的时候执行该函数,可以连续监听鼠标信息
		{
          
   
			msg = GetMouseMsg();//获取鼠标信息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息,当前鼠标左键被按下
			{
          
   
				if (msg.x >= 669 && msg.x <= 900 && msg.y >= 315 && msg.y <= 357)
				{
          
   
					game();

				}
				if (msg.x >= 669 && msg.x <= 900 && msg.y >= 376 && msg.y <= 413)
				{
          
   
					choosebackground();
				}
				if (msg.x >= 669 && msg.x <= 900 && msg.y >= 435 && msg.y <= 476)
				{
          
   
					showrules();
				}
			}
		}
	}
}

图中的文字需要自己用其他软件填充好.然后根据位置定好每个选项所在的举行的x,y轴的位置。 (Easyx鼠标监听返回的结构体中已经有鼠标的x,y的位置可以直接调用。) 4.更换背景的实现:

void choosebackground()
{
          
   
	IMAGE img_background;//创建一个IMAGE 对象
	loadimage(&img_background, L"E:\img\choice.png", 1600, 900);//使用加载图片的封装函数进行图片的加载

	putimage(0, 0, &img_background);//展现图片
	MOUSEMSG msg;
	while (1)           //主循环,循环监听鼠标信息;

	{
          
   
		while (MouseHit())//监听鼠标信息,当鼠标有消息的时候执行该函数,可以连续监听鼠标信息
		{
          
   
			msg = GetMouseMsg();//获取鼠标信息
			if (WM_LBUTTONDOWN == msg.uMsg)//判断鼠标信息,当前鼠标左键被按下
			{
          
   
				if (msg.x >= 0 && msg.x <= 800 && msg.y >= 0 && msg.y <= 450)
				{
          
   
					display(1);
			
				}
				if (msg.x >= 800 && msg.x <= 1600 && msg.y >= 0 && msg.y <= 450)
				{
          
   
					display(2);

				}
				if (msg.x >= 0 && msg.x <= 800 && msg.y >= 450 && msg.y <=900)
				{
          
   
					display(3);

				}
				if (msg.x >= 800 && msg.x <= 1600 && msg.y >= 450 && msg.y <= 900)
				{
          
   
					display(4);
				}

			}
		}
	}

这里有四种背景可以选择 同样根据像素坐标,通过鼠标监听,实现背景的变换。 游戏规则同样原理实现。 5.注意事项: 进入二级菜单后要回到以及菜单需要用一级菜单图片进行重覆盖,Easyx目前没有直接关闭当前图片的函数: 6.点击开始游戏进入游戏:

游戏实现

捕鱼计分 下一阶段

经验分享 程序员 微信小程序 职场和发展