<
帮助教程
当前位置 首页 > 文章 > 帮助教程

C/C 小游戏手把手教您开发:2048小游戏分享

发布时间:2024-04-05 13:25:35   来源:网站管理员   20736 阅读   0 评论

C/C++ 小游戏手把手教您开发:2048小游戏分享

前言2r9小星星网站目录

今天给大家带来了首篇C++小游戏开发分享,2048小游戏,应该大家都玩过的一款小游戏,废话不多说了,先看一段完成后效果图。2r9小星星网站目录

重播 2r9小星星网站目录

播放2r9小星星网站目录

00:00 / 00:00 直播 2r9小星星网站目录

00:002r9小星星网站目录

进入全2048小游戏屏2r9小星星网站目录

502r9小星星网站目录

点击按住可拖动视频2r9小星星网站目录

环境及工具2r9小星星网站目录

软件:VS2019 开发语言:C/C++ 工具:Easyx图形库2r9小星星网站目录

代码分享2r9小星星网站目录

1.初始化需要的参数:初始化4*4方格的位置信息,初始化每个方格显示的颜色和数字。2r9小星星网站目录

2.初始化显示界面,绘制幕布2r9小星星网站目录

3.显示初始化界面,绘制16个方格,以及显示初始的数字。2r9小星星网站目录

unsigned char UpdataShowWidows()2r9小星星网站目录

{2r9小星星网站目录

int i, j;2r9小星星网站目录

DWORD l_u32Color;2r9小星星网站目录

char l_u8ShowValue[5];2r9小星星网站目录

for (i = 0; i < ROW_NUM; i++)2r9小星星网站目录

{2r9小星星网站目录

for (j = 0; j < CLO_NUM; j++)2r9小星星网站目录

{2r9小星星网站目录

l_u32Color = g_u32Color[g_u32EveryBoxColor[i][j]];2r9小星星网站目录

//画方格2r9小星星网站目录

setfillcolor(l_u32Color);2r9小星星网站目录

solidroundrect(g_stEveryBoxAxis[i][j].m_u32BoxStartX, g_stEveryBoxAxis[i][j].m_u32BoxStartY, g_stEveryBoxAxis[i][j].m_u32BoxEndX, g_stEveryBoxAxis[i][j].m_u32BoxEndY, g_stEveryBoxAxis[i][j].m_u32BoxRoundHeight, g_stEveryBoxAxis[i][j].m_u32BoxRoundWidth);2r9小星星网站目录

//显示数字2r9小星星网站目录

if (g_u32EveryB2048小游戏oxValue[i][j] != 0)2r9小星星网站目录

{2r9小星星网站目录

sprintf_s(l_u8ShowVa2048小游戏lue, "%d", g_u32EveryBoxValue[i][j]);2r9小星星网站目录

setbkmode(TRANSPAREN2048小游戏T);2r9小星星网站目录

if (g_u32EveryBoxValue[i][j] <= 4)2r9小星星网站目录

settextcolor(RGB(119, 110, 101));2r9小星星网站目录

else2r9小星星网站目录

settextcolor(WHITE);2r9小星星网站目录

settextstyle(50, 0, "黑体");2r9小星星网站目录

outtextxy(g_stEveryBoxAxis[i][j].m_u32BoxStartX, g_stEveryBoxAxis[i][j].m_u32BoxStartY + 25, l_u8ShowValue);2r9小星星网站目录

}2r9小星星网站目录

}2r9小星星网站目录

}2r9小星星网站目录

return 0;2r9小星星网站目录

}2r9小星星网站目录

4.这时候最初的效果图就已经成型了如图所示:2r9小星星网站目录

这时候不能进行移动,接下来我们需要添加移动功能。2r9小星星网站目录

5.重点来了,当我们使用键盘方向键的时候,需要进行格子移动,移动算法分为上下左右四种,但是大体的逻辑是一样的,下面我给大家展示其中一个:2r9小星星网站目录

//向下移动2r9小星星网站目录

void MoveToDown()2r9小星星网站目录

{2r9小星星网站目录

int i, j;2r9小星星网站目录

int l_u32LastHaveDataIdx = 0;2r9小星星网站目录

for (i = 0; i < CLO_NUM; i++)2r9小星星网站目录

{2r9小星星网站目录

l_u32LastHaveDataIdx = ROW_NUM - 1;2r9小星星网站目录

for (j = ROW_NUM2048小游戏 - 2; j >= 0 ; j--)2r9小星星网站目录

{2r9小星星网站目录

if (g_u32EveryBoxValue[j][i] != 0)2r9小星星网站目录

{2r9小星星网站目录

if (g_u32EveryBoxValue[l_u32LastHaveDataIdx][i] == 0) //向下走2r9小星星网站目录

{2r9小星星网站目录

g_u32EveryBoxValue[l_u32LastHaveDataIdx][i] = g_u32EveryBoxValue[j][i];2r9小星星网站目录

g_u32EveryBoxColor[l_u32LastHaveDataIdx][i] = g_u32EveryBoxColor[j][i];2r9小星星网站目录

g_u32EveryBoxValue[j][i] = 0;2r9小星星网站目录

g_u32EveryBoxColor[j][i] = 0;2r9小星星网站目录

g_u8DataIsChangeFlag = 1;2r9小星星网站目录

}2r9小星星网站目录

else if (g_u32EveryBoxValue[l_u32LastHaveDataIdx][i] == g_u32EveryBoxValue[j][i])2r9小星星网站目录

{2r9小星星网站目录

g_u32EveryBoxValue[l_u32LastHaveDataIdx][i] += g_u32EveryBoxValue[j][i];2r9小星星网站目录

g_u32EveryBoxColor[l_u32LastHaveDataIdx][i] += 1; //颜色深度+12r9小星星网站目录

g_u32EveryBoxValue[j][i] = 0;2r9小星星网站目录

g_u32EveryBoxColor[j][i] = 0;2r9小星星网站目录

g_u8DataIsChangeFlag = 1;2r9小星星网站目录

}2r9小星星网站目录

else2r9小星星网站目录

{2r9小星星网站目录

l_u32LastHaveDataIdx--;2r9小星星网站目录

if (l_u32LastHaveDataIdx >= 0 && l_u32LastHaveDataIdx != j)2r9小星星网站目录

{2r9小星星网站目录

g_u32EveryBoxValue[l_u32LastHaveDataIdx][i] = g_u32EveryBoxValue[j][i];2r9小星星网站目录

g_u32EveryBoxColor[l_u32LastHaveDataIdx][i] = g_u32EveryBoxColor[j][i];2r9小星星网站目录

g_u32EveryBoxValue[j][i] = 0;2r9小星星网站目录

g_u32EveryBoxColor[j][i] = 0;2r9小星星网站目录

g_u8DataIsChangeFlag = 1;2r9小星星网站目录

}2r9小星星网站目录

}2r9小星星网站目录

}2r9小星星网站目录

}2r9小星星网站目录

}2r9小星星网站目录

}2r9小星星网站目录

6.主函数如下:2r9小星星网站目录

写在最后2r9小星星网站目录

至此,我们的2048小游戏就开发完成,效果图如最开始的小视频,实现非常简单,如果大家喜欢,麻烦点个关注吧。2r9小星星网站目录

如果大家想要自己玩一下我做的小游戏或者想要看一下源码就在下面留言吧,我发给大家。2r9小星星网站目录

0
下一篇:Kalvin在线工具
最新资讯
热门资讯