【技术贴】【IronyStudio】实现内存:论内存以链表实现的方式
scratch吧
全部回复
仅看楼主
level 10
初秋夜落 楼主
【前言】
(以一个老人的口气)
诸位!这链表哪,可真是个好东西。用它可以弄某克隆体位置侦测,还可当作对话框。年轻人啊,现在,有了个新技术,叫做链表内存!
(恢复正常)
那么,各位亲爱的吧友,请看下文!
(欲知后事如何,且听楼下分解)
先放一点乱七八糟的图。
2018年03月02日 08点03分 1
level 10
初秋夜落 楼主
[滑稽]二楼滑稽楼[滑稽]
2018年03月02日 08点03分 2
(度娘发神经病,发不了帖,请见谅)
2018年03月02日 08点03分
level 10
初秋夜落 楼主
三楼评论楼[喷]
2018年03月02日 08点03分 3
受我的系统教程的启发?我一说文件资源管理器便一下子起来了?
2018年03月02日 08点03分
回复 禹杨工作室º :额,内存不是文件资源管理器……
2018年03月02日 08点03分
回复 禹杨工作室º :至于某管理器,我以后也要去弄一弄的[滑稽]
2018年03月02日 08点03分
@初秋夜落 提到了内存
2018年03月02日 08点03分
level 10
初秋夜落 楼主
四楼拉人楼[勉强]
2018年03月02日 08点03分 4
level 10
初秋夜落 楼主
度娘吞我千百度,蓦然回首,帖子已刷到第二页[滑稽]
[滑稽]链表作为内[勉强]存,第一个要实现的功能是存[狂汗]储数据。首先建立一个链表,命名为内存。
在舞台的脚本处将它初始化到1000。
(建议使用开启不刷新屏幕的自定义函数来初始化,像上图一样[呵呵]
这是最开始的最简单的内存。当然,作为单个角色[勉强](无克隆体),这种内存够了。
(就是这样的:

然而,随着“建立针对不同角色的数据存储系统”这种更加高级的要求,内存的格式也必须复杂化。
不过先考虑简单的情况。现在,有两个角色,b[阴险]all1、ball2 。(球1、2)
球1在“内存”从102项一直到108项、111项存储了数据,球2在“内存”109、110、265项存储了数据。现在,我想让球1、球2分别复制一份也有1000项的链表,但是链表里只有自己的数据(球1的链表里没有球2的数据,球2的链表亦然)。计算机怎么分的清楚哪项数据是球1的,哪项数据是球2的呢?
办法就是,标注数据的来源。
新建一个链表,名称:内存索引。
在内存索引里的相应位置标注数据来源:
好,这个问题解决了。
这是我们向高级内存踏出的第一步。[玫瑰]
2018年03月02日 08点03分 8
level 10
初秋夜落 楼主
度娘吞我千百度,蓦然回首,帖子已刷到第二页[滑稽]
[滑稽]链表作为内[勉强]存,第一个要实现的功能是存[狂汗]储数据。首先建立一个链表,命名为内存。
在舞台的脚本处将它初始化到1000。
(建议使用开启不刷新屏幕的自定义函数来初始化,像上图一样[呵呵]
这是最开始的最简单的内存。当然,作为单个角色[勉强](无克隆体),这种内存够了。
(就是这样的:

然而,随着“建立针对不同角色的数据存储系统”这种更加高级的要求,内存的格式也必须复杂化。
不过先考虑简单的情况。现在,有两个角色,b[阴险]all1、ball2 。(球1、2)
球1在“内存”从102项一直到108项、111项存储了数据,球2在“内存”109、110、265项存储了数据。现在,我想让球1、球2分别复制一份也有1000项的链表,但是链表里只有自己的数据(球1的链表里没有球2的数据,球2的链表亦然)。计算机怎么分的清楚哪项数据是球1的,哪项数据是球2的呢?
办法就是,标注数据的来源。
新建一个链表,名称:内存索引。
在内存索引里的相应位置标注数据来源:
好,这个问题解决了。
这是我们向高级内存踏出的第一步。[玫瑰]
2018年03月03日 09点03分 14
level 10
初秋夜落 楼主

这几天楼主作业很多……可能过几天才更新[滑稽]多多自此[滑稽]
2018年03月06日 12点03分 17
我作业挺少,6点左右就写完了[开心]
2018年03月06日 12点03分
level 10
初秋夜落 楼主
【第二更】
在之前一更中,我所讲述的是在公共视角(也就是直接查看内存)的方式。
现在来了一个新问题:对于单个角色,你记住它用了第几号内存,那不是很麻烦吗?那么,我们就为角色单独创建“已用内存”。
创建链表:”已用内存“。在已用内存里添加角色所用的内存的编号,这样就简单多了[滑稽]
(这一更还没完,请待续(大概要过个几天))
2018年03月06日 13点03分 19
level 10
初秋夜落 楼主
难道技术贴没人看?
2018年03月08日 07点03分 20
[滑稽]
2018年03月08日 07点03分
[滑稽]
2018年03月08日 09点03分
level 10
初秋夜落 楼主
接十九楼的话题。
在按十九楼的方式改代码块之后,就变成下面这样了:
现在这是比较正式的代码了。
引用内存下面的是线性搜索的代码,搜索到了没占用的内存就使用。
好,现在比较完善的内存做完了,但是我们还要引用数据啊!不能只存不用啊!但是scratch又没有有返回值的函数,所以创建变量:数据。
所以再加上一个自定义函数:引用数据。
完工后的内存如下:
还有系统的脚本:
所有函数都设定为“不刷新屏幕”!
这一更完结了。这帖子,我也不会更新了。[滑稽]
接下来我会发一些高级数据结构的技术贴。[滑稽]
多多紫词!
2018年03月08日 12点03分 21
真理:技术贴没人关注。[阴险]
2018年03月09日 12点03分
@初秋夜落 你证明了我的观点[阴险]
2018年03月10日 13点03分
回复 ◆永恒的夏午◆ :[滑稽][大拇指]
2018年03月10日 13点03分
1