赞
踩
easyx的下载:EasyX Graphics Library for C++
点击连接,然后点击下载easyx
然后根据安装指示一路下载就行:
点击下一步,会出现你安装的visual studio code 的信息
点击安装即可。
显示安装成功就可以开始用easyx的图形库了呢。
使用easyx只能在cpp环境哦,还要添加几个头文件
- #include<easyx.h>
- #include<graphics.h>
还有其他的头文件这里就不一一列举了。
下面是用easyx写的一个扫雷小游戏,大家可以复制试玩一下。
记得在项目,属性页里面,把字符集改成多字节字符集。
- #include<stdio.h>
- #include<stdlib.h>
- #include<time.h>
- #include<easyx.h>
- #include<graphics.h>
- #include <mmsystem.h>
- #define row 10
- #define col 10
- #define lei 10
- IMAGE pt[12];
-
- void tpjz()
- {
- int i;
-
- for (i = 0; i < 12; i++)
- {
- char sz[1000];
- sprintf_s(sz,"./image/%d.jpg",i);
- loadimage(&pt[i],sz,35,35);
- putimage(i*35,0,&pt[i]);
- }
-
- }
- void show(int sz[][col]);
- void csh(int map[][col]);
- void draw(int map[][col]);
- void sbcz(ExMessage*, int[][col]);
- void boom(int [][col], int , int );
- int pd(int [][col],int ,int );
- int main(void)
- {
- //数组扫雷地图 10*10
- initgraph(350,350);
- tpjz();
- srand((unsigned)time(NULL));
- int map[row][col] = { 0 };
- csh(map);
- show(map);
- while (1)
- {
- //消息处理
- ExMessage msg;
- int zhi = 0;
- while (peekmessage(&msg, EM_MOUSE))
- {
- switch (msg.message)
- {
- case WM_LBUTTONDOWN:
- case WM_RBUTTONDOWN:
- sbcz(&msg, map);
- //pd(map,msg.y/35,msg.x/35);
- if (pd(map, msg.y / 35, msg.x / 35) == -1)
- {
- zhi =MessageBox(GetHWnd(),"输了吧,不要灰心","我是大帅比",MB_OKCANCEL);
- if (zhi)
- {
-
- }
- }
- else if(pd(map, msg.y / 35, msg.x / 35)==1)
- {
-
- int zhi = MessageBox(GetHWnd(), "大佬,太强了", "我是大帅比", MB_OKCANCEL);
- if (zhi)
- {
-
- }
- }
- break;
- }
- }
- draw(map);
- if (zhi)
- {
- return 0;
- }
- //Sleep(16);
- }
- //getchar();
- return 0;
- }
-
- void show(int sz[][col])
- {
- int i, j;
- for (i=0;i<row;i++)
- {
- for (j=0;j<col;j++)
- {
- printf("%2d ",sz[i][j]);
- }
- putchar('\n');
- }
- }
-
- void csh(int map[][col])
- {
- tpjz();
- int i,j;
- for (i=0;i<lei;)
- {
- int r = rand() % 10;
- int t = rand() % 10;
- if (map[r][t] == 0)
- {
- map[r][t] = -1;
- i++;
- }
-
- }
-
- for (i = 0; i < row; i++)
- {
- for (j = 0; j < col; j++)
- {
- if (map[i][j] == -1)
- {
- for (int r = i - 1; r <= i + 1; r++)
- {
- for (int t = j - 1; t <= j + 1; t++)
- {
- if ((r>=0&&r<row&&t>=0&&t<col)&&map[r][t] != -1)
- {
- map[r][t]++;
- }
- }
- }
- }
- }
- }
-
- //加密
- for (int i = 0 ;i<row;i++)
- {
- for (int j = 0;j<col;j++)
- {
- map[i][j] += 20;
- }
- }
- }
-
- void draw(int map[][col])
- {
- int i, k;
- for (i=0; i < row; i++)
- {
- for (k=0; k < col; k++)
- {
- if (map[i][k] >= 0 && map[i][k] <= 8)
- {
- putimage(k*35,i*35,&pt[map[i][k]]);
- }
- else if(map[i][k]==-1)
- {
- putimage(k * 35, i * 35, &pt[9]);
- }
- else if(map[i][k] >= 19 && map[i][k] <= 28)
- {
- putimage(k * 35, i * 35, &pt[10]);
- }
- else if (map[i][k]>=39)
- {
- putimage(k * 35, i * 35, &pt[11]);
- }
- }
- }
- }
-
- void sbcz(ExMessage *msg,int map[row][col])
- {
- int c = msg->x/35;
- int r = msg->y/35;
- if (msg->message == WM_LBUTTONDOWN)
- {
- if (map[r][c]>=19&&map[r][c]<=28)
- {
- map[r][c] -= 20;
- boom(map,r,c);
- }
-
- }
- if (msg->message == WM_RBUTTONDOWN)
- {
- //能否标记
- if (map[r][c] >= 19 && map[r][c] <= 28)
- {
- map[r][c] += 20;
- }
- else
- {
- map[r][c] -= 20;
- }
- }
- }
-
- void boom(int map[row][col],int xbx,int xby)
- {
- if (map[xbx][xby] == 0)
- {
- for (int i = xbx-1; i <= xbx+1; i++)
- {
- for (int j = xby-1; j <= xby+1; j++)
- {
- if (i>=0&&i<row&&j>=0&&j<col&&map[i][j] >= 19&&map[i][j]<=28)
- {
- map[i][j] -= 20;
- boom(map,i,j);
- }
- }
- }
- }
- }
-
- int pd(int map[row][col],int x,int y)
- {
- if (map[x][y] == -1||map[x][y] == 19)
- {
- return -1;
- }
- int i, j,cnt = 0;
- for (int i = 0; i < row; i++)
- {
- for (int j = 0; j < col; j++)
- {
- if (map[i][j] >=0&& map[i][j]< 8)
- {
- cnt++;
- }
- }
- }
- if (cnt == 90)
- {
- return 1;
- }
-
- return 0;
- }
接下来是成品展示:
如果大家感兴趣,记得点个赞哦,我会出easyx有关的教程哦
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。