iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++基于EasyX库如何实现拼图小游戏
  • 349
分享到

C++基于EasyX库如何实现拼图小游戏

2023-06-19 13:06:13 349人浏览 泡泡鱼
摘要

这篇“c++基于EasyX库如何实现拼图小游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++基于EasyX库如何实现拼

这篇“c++基于EasyX库如何实现拼图小游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++基于EasyX库如何实现拼图小游戏”文章吧。

具体代码如下:

#pragma once#include <iOStream>#include <graphics.h>#include <windows.h>#include <alGorithm>#include <easyx.h>#include <cstdlib>#include <random>#include <cmath>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"); loadimage(&img_blank, L"0.png"); 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++) {  //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 < level * level; i++)  random[i] = i; random_device rd; mt19937 g(rd());         // 随机数引擎 shuffle(random, random + level * level, g);   // 打乱顺序 int cnt = 0; for (int i = 0; i < level; i++) {  for (int j = 0; j < level; j++)  {   map[j][i] = random[cnt];     //逆转赋值1   cnt++;  } }}void Get_mouse(){ MOUSEMSG msg = GetMouseMsg(); if (msg.uMsg == WM_LBUTTONDOWN) {  mousei = msg.x / width_temp;  mousej = msg.y / height_temp;  if ((mousei + 1 == flagi && mousej == flagj) ||   (mousei == flagi && mousej + 1 == flagj) ||   (mousei - 1 == flagi && mousej == flagj) ||   (mousei == flagi && mousej - 1 == flagj))  {   //交换图片分块   swap(map[mousej][mousei], map[flagj][flagi]);  } }}void Judge_graphics(){ int cnt = 0; for (int i = 0; i < level; i++) {  for (int j = 0; j < level; j++)  {   if (map[i][j] == check[i][j])    cnt++;  } } if (cnt == level * level) {  MessageBox(GetHWnd(), _T("过关了."), _T("消息提示."), MB_OK);  FLAG = 1;  exit(0); }}inline void Show_graphics()         //显示分块图片{ for (int i = 0; i < level; i++) {  for (int j = 0; j < level; j++)  {   if (map[j][i] == level * level - 1)    //逆转赋值2   {    flagi = i;    flagj = j;    putimage(i * width_temp, j * height_temp, &img_blank);   }   else   {    int countj = map[j][i] % level;    int counti = map[j][i] / level;    putimage(i * width_temp, j * height_temp, &img[countj][counti]);   }  } } Line_flush();}int main(){ Get_graphics(); Set_graphics(); Rand_array(); Show_graphics(); while (1) {  BeginBatchDraw();   //双缓冲防止闪烁  Get_mouse();  Show_graphics();  EndBatchDraw();    //双缓冲防止闪烁  Judge_graphics();  } if (FLAG) {  putimage(0, 0, &img_total);  FLAG = 0; } system("pause"); return 0;}

以上就是关于“C++基于EasyX库如何实现拼图小游戏”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网其他教程频道。

--结束END--

本文标题: C++基于EasyX库如何实现拼图小游戏

本文链接: https://www.lsjlt.com/news/296256.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++基于EasyX库实现拼图小游戏
    用C++的EasyX库做的拼图小游戏,供大家参考,具体内容如下   记录一下自己做的第一个项目,还有一些改进空间QWQ,可以支持难度升级,但是通关判断似乎有点...
    99+
    2024-04-02
  • C++基于EasyX库如何实现拼图小游戏
    这篇“C++基于EasyX库如何实现拼图小游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++基于EasyX库如何实现拼...
    99+
    2023-06-19
  • C++基于easyx图形库实现打砖块游戏
    本文实例为大家分享了C++基于easyx实现打砖块的具体代码,供大家参考,具体内容如下 代码: #include <graphics.h> #include <c...
    99+
    2024-04-02
  • C++基于easyx实现迷宫游戏
    本文实例为大家分享了C++基于easyx实现迷宫游戏的具体代码,供大家参考,具体内容如下 #define _CRT_SECURE_NO_DEPRECATEd #define _C...
    99+
    2024-04-02
  • 基于Python实现自制拼图小游戏
    咱们Python 集中营有一个专题就是分享一些有意思的东西,今天大概看了一下pygame的这个非标准库就想着使用它来做个小游戏-拼图。 通过加入自己定义的图片,对这个图片完成一定数...
    99+
    2022-11-13
    Python拼图游戏 Python拼图
  • C++基于EasyX框架实现飞机大战小游戏
    正式使用Easyx之前,你需要先安装他!! EasyX 2022 版 (2022-9-1 更新) - EasyX 选择合适的版本安装 安装结束后就可以开始敲代码啦! 这里作者使用的...
    99+
    2023-01-06
    C++ EasyX飞机大战游戏 C++ 飞机大战游戏 C++ EasyX游戏
  • C语言基于EasyX如何实现贪吃蛇游戏
    本篇内容主要讲解“C语言基于EasyX如何实现贪吃蛇游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言基于EasyX如何实现贪吃蛇游戏”吧!成品展示:实现思路:贪吃蛇的实现思路并不复杂,由...
    99+
    2023-07-02
  • C++基于easyx怎么实现迷宫游戏
    本篇内容介绍了“C++基于easyx怎么实现迷宫游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果:#define _CRT_...
    99+
    2023-06-30
  • jQuery如何实现拼图小游戏
    这篇文章给大家分享的是有关jQuery如何实现拼图小游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。小熊维尼拼图jQuery代码实现拼图小游戏,鼠标选中拼块,用上下左右键移动拼...
    99+
    2024-04-02
  • C#实现拼图游戏
    本文实例为大家分享了C#实现拼图游戏的具体代码,供大家参考,具体内容如下 (一)需求:(这个需求书写较为简单) 图片:有图 切割:拼图不是一个图,我们需要把一个整图...
    99+
    2024-04-02
  • iOS实现拼图小游戏
    本文实例为大家分享了iOS实现拼图小游戏的具体代码,供大家参考,具体内容如下 首先找到这8张图片,还需要一张空白的图片,自己随便剪一张吧。 定义三个属性:button可变数组,图片...
    99+
    2024-04-02
  • C语言如何实现拼图游戏
    本篇内容介绍了“C语言如何实现拼图游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!制作一款拼图小游戏#include <g...
    99+
    2023-06-08
  • C++怎么利用easyx图形库实现天天酷跑小游戏
    这篇文章主要介绍“C++怎么利用easyx图形库实现天天酷跑小游戏”,在日常操作中,相信很多人在C++怎么利用easyx图形库实现天天酷跑小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++怎么利用ea...
    99+
    2023-07-05
  • C++利用easyx图形库实现创意天天酷跑小游戏
    目录天天酷跑开发日志代码实现天天酷跑 这是siren第一次编写基于 “easyx”图形库 的小游戏(需下载easyx)。如果你想学习如何使用各种图形库或者其他...
    99+
    2023-03-03
    C++ easyx实现酷跑游戏 C++ easyx 酷跑 C++ easyx游戏
  • 用js实现拼图小游戏
    本文实例为大家分享了js实现拼图小游戏的具体代码,供大家参考,具体内容如下 一、js拼图是什么? 用js做得小游戏 二、使用步骤 1、先创建div盒子 <style>...
    99+
    2024-04-02
  • C#怎么实现拼图游戏
    这篇文章主要介绍“C#怎么实现拼图游戏”,在日常操作中,相信很多人在C#怎么实现拼图游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么实现拼图游戏”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!本文...
    99+
    2023-06-20
  • 如何用js代码实现拼图小游戏
    这篇文章主要讲解了“如何用js代码实现拼图小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用js代码实现拼图小游戏”吧!一、js拼图是什么?用js做得小游戏二、使用步骤先创建div盒...
    99+
    2023-06-14
  • 微信小程序如何实现拼图游戏
    这篇文章给大家分享的是有关微信小程序如何实现拼图游戏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下页面展示项目链接微信小程序实现拼图游戏项目设计首页面wxml<!--index.wxml--&g...
    99+
    2023-06-20
  • 基于C++实现五子棋小游戏
    本文实例为大家分享了C++实现五子棋小游戏的具体代码,供大家参考,具体内容如下  (这是一个颜色会变化的呦) #include <iostream> usi...
    99+
    2024-04-02
  • js实现简单拼图小游戏
    本文实例为大家分享了js实现简单拼图小游戏的具体代码,供大家参考,具体内容如下 游戏很简单,拼拼图,鼠标拖动一块去和另一块互换。语言是HTML+js,注释写的有不明白的可以留言问一下...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作