本游戏用到了图形界面库graphics.h,图形界面库下载安装:
下载链接:https://easyx.cn/download
游戏截图:
首先是玩家的定义,使用结构体,这个名字是可以自己改变的
struct gamerole{
char name[20]; //玩家名字
int HP; //血量
int MP; //魔法
int DEF; //防御
int ATT; //攻击
int Lv; //等级
int Exp; //经验
int Num_Blue_Key; //蓝钥匙数量
int Num_Yellow_Key; //黄钥匙数量
int x, y; //坐标
}player;
int exp_need = 100; //升级所需经验
怪物属性的定义
struct monster{
char name[20]; //怪物名字
int HP; //血量
int ATT; //攻击
int DEF; //防御
int Exp; //经验
}monsters[15];
初始化玩家属性
void initPlayer(){
//输入用户名
printf("Input role name: ");
scanf("%s", player.name);
//初始化游戏角色信息
player.Lv = 0;
player.ATT = 50;
player.DEF = 50;
player.Num_Blue_Key = 0;
player.Num_Yellow_Key = 0;
player.HP = 500;
player.MP = 250;
player.Exp = 0;
player.x = -1;
player.y = -1;
}
初始化怪物属性
void initMonsters() {
monsters[2] = { "绿史莱姆", 50, 10, 12, 100 }; //绿史莱姆属性
monsters[3] = { "红史莱姆", 100, 50, 12, 500 }; //红史莱姆属性
monsters[11] = { "小蝙蝠", 20, 10, 9, 50 }; //小蝙蝠属性
monsters[12] = { "小巫师", 100, 30, 9, 400 };//小巫师属性
monsters[13] = { "小骷髅", 30, 20, 10, 200 }; //小骷髅属性
monsters[14] = { "大骷髅", 60, 50, 25, 300 }; //大骷髅属性
}
加载游戏资源图片
右键打开项目属性,添加 -> 现有项,添加资源图片进项目·。
资源图片链接:https://pan.baidu.com/s/1NZN7yDFAzBbHDHrxBiWEJApwd=c685
提取码:c685
IMAGE img[19], playerInfoBox; //素材图片
void initgamePicture(){
//加载游戏角色信息框
loadimage(&playerInfoBox, "info.jpg");
//加载地图资源
//60 * 60 固定尺寸
loadimage(&img[0], "墙.jpg", 60, 60);
loadimage(&img[1], "地板.jpg", 60, 60);
loadimage(&img[2], "绿史莱姆.jpg", 60, 60);
loadimage(&img[3], "红史莱姆.jpg", 60, 60);
loadimage(&img[4], "蓝水晶.jpg", 60, 60);
loadimage(&img[5], "红水晶.jpg", 60, 60);
loadimage(&img[6], "蓝钥匙.jpg", 60, 60);
loadimage(&img[7], "黄钥匙.jpg", 60, 60);
loadimage(&img[8], "小红药水.jpg", 60, 60);
loadimage(&img[9], "小蓝药水.jpg", 60, 60);
loadimage(&img[10], "梯子.jpg", 60, 60);
loadimage(&img[11], "小蝙蝠.jpg", 60, 60);
loadimage(&img[12], "小巫师.jpg", 60, 60);
loadimage(&img[13], "骷髅兵.jpg", 60, 60);
loadimage(&img[14], "大骷髅兵.jpg", 60, 60);
loadimage(&img[15], "蓝门.jpg", 60, 60);
loadimage(&img[16], "黄门.jpg", 60, 60);
loadimage(&img[17], "人.jpg", 60, 60);
}
设置地图,用数字来决定地图的每一个方块是什么类型(与img数组的索引对应)。
int map[13][13] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,
0,10,6,2,3,2,1,1,1,1,1,1,0,
0,0,0,0,0,0,0,0,0,0,0,1,0,
0,8,1,1,15,1,0,0,1,1,1,1,0,
0,1,14,1,0,1,0,0,5,0,0,1,0,
0,0,15,0,0,1,15,11,12,11,0,1,0,
0,6,1,1,0,1,0,0,0,0,0,1,0,
0,1,14,1,0,1,0,0,0,0,0,1,0,
0,0,15,0