很早就很想写这个,今天终于写完了。
游戏截图:
编译环境: VS2017
游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。觉得麻烦的直接下载C-mota_jb51.rar
解压后点击sln文件直接可以运行
下面我来介绍一下游戏的主要功能和实现方式
首先是玩家的定义,使用结构体,这个名字是可以自己改变的
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; }player;
在游戏的右边显示任务的各项属性
函数:
void SetPlayer() { putimage(60 * 13, 0, &Message); outtextxy(60 * 13 + 12, 100, player.name); outtextxy(60 * 13 + 12, 180, intToString(player.Lv)); outtextxy(60 * 13 + 12, 235, intToString(player.Exp)); outtextxy(60 * 13 + 12, 362, intToString(player.HP)); outtextxy(60 * 13 + 12, 425, intToString(player.MP)); outtextxy(60 * 13 + 12, 517, intToString(player.ATT)); outtextxy(60 * 13 + 12, 567, intToString(player.DEF)); outtextxy(60 * 13 + 12, 689, intToString(player.Num_Yellow_Key)); outtextxy(60 * 13 + 12, 759, intToString(player.Num_Blue_Key)); }
由于这个函数要求属性必须是字符串,所以我写了一个把数字转化成字符串的函数
//整数转换为字符 char *intToString(int Number) { int len = 0; if (Number == 0) { str[0] = '0'; len++; } while (Number) { str[len++] = Number % 10+'0'; Number /= 10; } for (int i = 0; i < len/2; i++) { char t = str[i]; str[i] = str[len - i - 1]; str[len - i - 1] = t; } str[len] = '