C/C++项目源码——2048小游戏
这是小编自己做的一个2048的小游戏,然后图片素材需要大家自己找寻,也可以在下方评论处评论找我要素材
/************************************************
* stdio.h 标准C语言库
* #include 包含库
*
************************************************/
#define _CRT_SECURE_NO_WARNINGS //去掉编译器内扩增问题
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h> //报错--->baby 图形库插件安装就可以了
#include <conio.h>
#include <time.h>
/************************************************
* 数据成员
* 变量的声明
************************************************/
IMAGE img[12]; //存储12张照片
//图片的的名字的序号
//imgIndex[x].bmp;
int imgIndex[12] = {
0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 };
int i, j; //循环变量的遍历
int map[4][4] = {
0 };
/************************************************
* 子函数
* 加载资源
************************************************/
void loadResource()
{
for (i = 0; i < 12; i++)
{
//批量加载
char fileName[20] = "";
sprintf(fileName, "%d.bmp", imgIndex[i]);
loadimage(img + i, fileName);
//0 1 2
}
}
/************************************************
* 画地图
* 根据二维数组中的值去画地图
************************************************/
void drawMap()
{
setbkcolor(RGB(244, 215, 215));
cleardevice();
settextcolor(WHITE); //设置文字颜色
settextstyle(35, 0, "楷体"); //设置文字格式
outtextxy(50, 10, "2048游戏");
//根据二维数组中值去画图
int x, y, k;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
x = 60 * j;
y = 60 * i + 50;
for (k = 0; k < 12; k++)
{
//求出当前元素对应的图片序号
//赋值语句不要写成等于号
if (imgIndex[k]== map[i][j])
break;
}
//贴相应序号的图片
putimage(x, y, img + k);
}
}
}
/************************************************
* 随机产生2或者4 或者0
* 随机函数
************************************************/
int randIntNum()
{
srand((unsigned int)time(NULL)); //随机函数种子
for (i = 0; i