首页 > 名字大全 > 微信名字 正文
【微信动态名字代码】c语言开发:如何用130行代码写一只“超火”微信游戏羊?

时间:2023-02-17 06:33:44 阅读: 评论: 作者:佚名

最近,一款名为“一只羊”的微信游戏轰动了整个网络。

简单的游戏和不寻常的关卡设置使三小游戏《羊了个羊》成为《合成大西瓜》 《召唤神龙》之后小微型游戏的新王毅。

“其实游戏很简单。收集3个相同的图案,就可以点击删除,3个整齐的图案先放在底部的7个选择字段,7个插槽都满了,游戏就失败了。”游戏的第一关其实是游戏教程,但当玩家到达第二关时,难度会急剧增加。据官方介绍,“一只羊”突破了非常困难的关卡,消除了小游戏,通关率不到0.1%。

当然,我们这次不是为了为“一只羊”开发游戏辅助之类的东西,我们作为学习编程的程序员,能用自己学到的知识开发《羊了个羊(仿制版)》吗?那就不要多说话了。反正我试过了。今天是节目源代码!(如果有大家伙,就不要怪他)

首先准备了几样东西。

编译器需要的插件:VS2022/2019、easyX图形库插件(推荐最新版本)注:VScode的朋友需要配置单独的环境。

需要准备的照片资料:

如果需要,可以在文章最后找到获取方法!

接下来我们来看源代码。

# includeea

# include

Const int WIDTH=400

Const int HEIGHT=760

Const int INTERVAL=48

IMAGE img _ bk

IMAGE img _ item[3];

Void loadImg()

{

Loadimage(img_bk,' image、宽度、高度);

Loadimage(img_item 0,' image,48,48);

Loadimage(img_item 1,' image、48、48);

Loadimage(img_item 2,' image、48、48);

}

Int main()

{

Initgraph(宽度、高度、ew _ show console);

罗德IMG();

int map[3][3]={ 0 };

//地图初始化

for(int r=0;r 3;r)

{

for(int c=0;c 3;c)

{

贴图[r][c]=r 1;//1 2 3

}

}

//打乱数组

for(int r=0;r 3;r)

{

for(int c=0;c 3;c)

{

int R1=rand()% 3;

int C1=rand()% 3;

Int t=贴图[R1][C1];

贴图[R1] [C1]=贴图[r][c];

贴图[r][c]=t;

}

}

int store[7]={ 0 };

Intoffsetx=(宽度-(2 *(48 interval)48))/2;

Intoffsety=(高度-(2 *(48 interval)48))/2;

While(真)

{

BeginBatchDraw();

//绘制地图

Putimage(0,0,img _ bk);

//导出图片

for(int r=0;r 3;r)

{

for(int c=0;c 3;c)

{

If(贴图[r] [c])

普蒂

mage(offsetX + c * (48 + INTERVAL), offsetY + r * (48 + INTERVAL), img_item + (map[r][c]-1)); } } //绘制下面 for (int i = 0; i < 7; i++) { if (store[i]) putimage((i * 50)+26, 620, img_item + (store[i]-1)); } EndBatchDraw(); ExMessage msg = { 0 }; if (peekmessage(&msg) && m == WM_LBUTTONDOWN) { //鼠标坐标判断 for (int r = 0; r < 3; r++) { for (int c = 0; c < 3; c++) { int x = offsetX + c * (48 + INTERVAL); int y = offsetY + r * (48 + INTERVAL); //printf("pos(%d,%d)\n", x, y); //判断鼠标是否点击了图片 if > x && m < x + 48 && m;y && m < y + 48) { //求出点击的图片对应的数组下标 int col = - offsetX) / (48 + INTERVAL); int row = (m - offsetY) / (48 + INTERVAL); //printf("row:%d col:%d\n", row, col); //把点击的图片添加到下面 for (int i = 0; i < 7; i++) { if (store[i] == 0) { store[i] = map[row][col]; break; } } //如果下面有三个一样的就消除 int cnt = 0; for (int i = 0; i < 7; i++) { if (store[i] == map[row][col]) { cnt++; } } if (cnt == 3) { for (int i = 0; i < 7; i++) { if (store[i] == map[row][col]) { store[i] = 0; } } } //把点击的图片从map中删除 map[row][col] = 0; } } } } } while (1); return 0; }

我可没有私藏哦,想要试试的小伙伴赶紧去拿着源码编译吧!如果遇到问题可以从下面来找我哦~

对啦对啦!另外的话为了帮助大家,轻松,高效学习C语言/C++,我给大家分享我收集的资源,从最零基础开始的,帮助大家在学习C语言的道路上披荆斩棘!可以来我粉丝群领取哦~

编程学习书籍分享:

编程学习视频分享:

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!

  • 评论列表

发表评论: