下载 App

递归调用的实现

修改于2021/04/20274 浏览游戏开发攻略
最近写代码无意中发现到一个递归调用的实现方案,成功突破蓝耗子的限制(狂喜),实现一些算法也更为容易了(不需要自己写栈)
使用零件-调用方法实现递归
TapTap
用图中例子的效果
TapTap
和预期效果一致,递归成功
TapTap
调用堆,可以看到递归了两层
最后希望程序员大大手下留情,不要一棍子打死所有递归
(会写递归的真没那么容易爆栈除非是故意的)
另外就是有意要闪退或者卡死的效果,也有的是其他办法... 禁了真没必要
测试了一下用递归撑爆内存,17~18层的递归(调用自身两次)足以占满内存(总调用次数大约2^20)且没有立即释放,只有退出地图再次进入,内存才释放
游戏底层的内存是根据调用堆栈分配的,即一个方法从不同地方调用不共用内存,首次调用即分配内存,但再次调用此函数不会重新分配,类似静态变量(也可以理解为所有变量都是静态而通过不同的堆栈调用到的同一个方法当做不同方法),所以递归在这是真的不好用,除非加入动态和静态变量的区别,尽量不要用了
哈希值算法截图
哈希值算法
参照DJB算法制作了一个哈希值算法 输入任意长度仅含英文字母或符号的字符串,得到一个长度为32的十六进制字符串,用于判定是否被修改和校验完整性 修改了部分生成方式以增大破解难度 图为测试效果 即使输入的数值仅差1,结果也是有很大差别的
1 赞
2 回复
寻路功能拓展截图
寻路功能拓展
写了一个自定义的BFS寻路 在官方提供的底层方法以外,添加了多种策略 允许水平循环:将把最右侧的节点和最左侧的节点视为相互连接,要求宽是偶数 允许竖直循环:同上(上下连接,但要求高是偶数) 模式0完全不可走斜边,只能走上下左右相邻节点 模式1完全可走斜边,可以走对角线 模式2可走左右一侧斜边,用于制作六边形格子的地图 模式3可走上下一侧斜边,同上,制作另一种的六边形格子的地图 更新:新增了距离计算
1 赞
3 回复
军团之战 开发日志1 地形截图
军团之战 开发日志1 地形
(图为开发中版本,不代表实际效果) 本篇开发日志当中,我将会简单介绍一下地形和与地形相关的一些功能 就像真实的世界那样,在军团之战当中的地形也包含了平原丘陵山地海洋等类别 军团之战的地图由一系列六边形格子拼接成,有两个因素决定了一个格子是什么类型:海拔和气候 地形类型 在低于海平面的地方的格子通常是河流,湖泊,或是海洋 而在其他的地方则是陆地,陆地也分为多种类型的格子,低海拔地区往往覆盖着大片的平
12 赞
未命名的游戏教程截图
未命名的游戏教程
我制作了一款简易的战棋游戏 以下是关于此游戏操作方法的简单介绍 进入双人模式或单人模式(仅体验操作,无AI) 进入房间后会进行匹配,请耐心等待其他玩家加入房间 加入房间后,在我方回合内,可以点击地图上的建筑和单位来选中,黄色边框的是友方单位或建筑,红色边框的是敌方的单位或建筑 如果一个格子上同时有单位和建筑,则可再次点击这个格子上的任意物体,包括单位和建筑以及下面的格子来在两者间切换,无论上面的单
5 赞
01:22
这是沙盒玩家的乐园,这也是编程玩家的必玩之作!截图
这是沙盒玩家的乐园,这也是编程玩家的必玩之作!
游戏下载:https://apps.apple.com/cn/app/id1441725240 游戏的可玩性还是很高的,主要是可以自由自在的编程,这真是喜欢创造游戏玩家的必玩之作!
17 赞
3 回复
01:03
航母战斗群解禁资料截图
航母战斗群解禁资料
我的银河2.0航母先导预告
官方
17 赞
4 回复
星空隐形(不是真镜面,弄不了)截图
星空隐形(不是真镜面,弄不了)
星空隐形军用航天器、定向散热器 图中星空不限于天然光源,有人造光源。 星空隐形军用航天器,定向散热器、耗电制冷凸多面体镜面装甲(镜甲)等。镜甲航天器在星系(例:银河系)内最明显破绽,在有、无星系内天球高亮区(高亮区;例:银河)的背景中,镜面反射无、有高亮区。 激光炮的扩束镜和天文望远镜共用部分零件(反射镜、透镜、部分反射镜等); 武器兼推进器兼观测器; 弹头兼工质兼装甲(尝试弱化推进特征的舰队大概