这篇文章主要为大家详细介绍了C++基于EasyX库实现拼图小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
用C++的EasyX库做的拼图小游戏,供大家参考,具体内容如下
记录一下自己做的第一个项目,还有一些改进空间QWQ,可以支持难度升级,但是通关判断似乎有点小问题肯定不是我菜通不了关 。
#pragma once #include #include #include #include #include #include #include #include using namespace std; static const int MAX_MAP = 30; //定义最大行或者列分块常量 int check[MAX_MAP][MAX_MAP]; //检查数组 int map[MAX_MAP][MAX_MAP]; //序号储存 int random[MAX_MAP * MAX_MAP]; //随机化数组 IMAGE img_total; //原图片 IMAGE img_blank; //白底 IMAGE img[MAX_MAP][MAX_MAP]; //储存分块图片 int level = 3; //关卡难度 int width_temp = 0; //分块宽度 int height_temp = 0; //分块高度 int flagi = 0; //标记块行位置 int flagj = 0; //标记块列位置 int mousei = 0; //标记鼠标位置 int mousej = 0; //标记鼠标位置 int FLAG = 0; //胜利标记 void Get_graphics(); //读取图片并预载到原图中 void Set_graphics(); //设置好图片位置及对应关系 void Line_flush(); //画线条分割图片 void Rand_array(); //初始化随机数组 void Get_mouse(); //获取鼠标操作 void Judge_graphics(); //判定是否通关并选择是否下一关 void Show_graphics(); //显示分块图片 inline void Get_graphics() //读取图片并预载到原图中 { loadimage(&img_total, L"1.png-600"); loadimage(&img_blank, L"0.png-600"); initgraph(img_total.getwidth(), img_total.getheight()); } inline void Set_graphics() //设置好图片位置及对应关系 { width_temp = img_total.getwidth() / level; height_temp = img_total.getheight() / level; //载入各分块的图片 SetWorkingImage(&img_total); for (int i = 0; i <level; i++) { for (int j = 0; j <level; j++) getimage(&img[i][j], i * width_temp, j * height_temp, width_temp, height_temp); } SetWorkingImage(); //校验数组初始化 int cnt = 0; for (int i = 0; i <level; i++) { for (int j = 0; j <level; j++) { check[i][j] = cnt; cnt++; } } } inline void Line_flush() //画线条分割图片 { for (int i = 0; i <level; i++) { 来源gao.dai.ma.com搞@代*码网//setlinecolor(RED); //可以更改线条颜色 默认白色 line(i * width_temp, 0, i * width_temp, img_total.getheight()); line(0, i * height_temp, img_total.getwidth(), i * height_temp); } } inline void Rand_array() //初始化随机数组 { for (int i = 0; i
以上就是C++基于EasyX库实现拼图小游戏的详细内容,更多请关注gaodaima搞代码网其它相关文章!