我的创业项目steam游戏王子斗恶龙(含技术透露)

这是一个冒险类RPG游戏,王子在大陆冒险,降妖除魔,可以使用咒文,道具,还能买装备,剧情是很好的。是王子拯救世界的故事,通过不断变强,打倒最终Boss。我很喜欢这部游戏,希望大家喜欢,这是我做的。我是用C++做的,由于这是个技术类文章,我可以透露下我怎么做的,这样能让开发者新手有个借鉴。首先运用到类,我用类运行所有内容,类当中包含很多函数,有移动的,有剧情的,有怪物攻击模式的。比如,由于是2D平面地图,那么在地图上移动就要运用到字符二维数组,那么如果我要移动人物,那么就要把二维数组当中代表人物值的位置改变,操作上用w上a左s下d右,代码就命令输入这些字母时,人物的值移动相应的二维数组位置,函数的形参是一个字符二维数组,然后把需要改变的二维数组赋值给形参,这样调用函数,字符数组中人物的位置就改变了。每一个场景用一个函数,这个函数里面有个循环,当人物移动时就循环改变二维数组人物值的位置,然后重新输出整个二维数组出来。这样一个函数。当切换场景就跳出循环,进入下一个场景函数。然后用一个总的函数设置条件语句,代码指令满足哪个条件就进入到哪个场景函数,然后就是前文跳出循环再找下一个场景函数的流程。这里游戏重点运用文件操作,文件操作涉及到道具,我会把道具写入到磁盘文件中,通过调用C++函数对道具实现文件的增删,这样实现道具的使用,比如我使用了草药,那么一个草药消失,文件中少一个草药。武器防具装备中有装备和非装备两个切换,这个状态也要保存起来,同时状态要显示出来,这样明白是否装备了这个道具。咒文,存档也用到了文件操作。为什么道具和咒文要用文件操作呢,其实用链表操作更方便,但是这样是保存不了的,因为指针指向虚拟地址,再运行程序时虚拟地址指向的物理地址就改变了,找不到了,那么实际道具和咒文就搜索不到了。战斗系统我用了界面,也是二维数组和文件操作的结合,如菜单用二维数组,选项中出来的东西用别的。战斗动画用字符输出函数显示,用时间延迟函数延迟动画时间,实现有节奏的感官。怪物函数就包含了怪物的攻击方式,这个函数是插入到战斗系统中的,攻击方式有多种,用随机数来进行攻击,也就是概率,然后对成员变量,如王子也就是主人公的血量进行增减。成员函数主要就是能力值,血,魔,攻击力,经验这些。还有瞬移咒文,也就是突然飞到另一个地点,也是切换场景函数做成的,并切换主人公二维数组元素值的二维数组位置。每个怪物的攻击方式多姿多彩,不单只是废血,这就运用到对王子能力值的改变

Save 50% on 王子斗恶龙(The prince fights the Dragon) on Steam (steampowered.com

steam游戏王子斗恶龙介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值