1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 游戏程序员编程原则有哪些 你们说DNA是一种编程语言吗 – 游戏开发 – 前端

游戏程序员编程原则有哪些 你们说DNA是一种编程语言吗 – 游戏开发 – 前端

时间:2024-03-01 22:03:21

相关推荐

游戏程序员编程原则有哪些 你们说DNA是一种编程语言吗 – 游戏开发 – 前端

如何理解DNA是一种信息存储介质?

存储介质是用于存放信息的物质,在计算机领域,存储介质很明确地指磁盘、光盘、RAM、闪存等等。而在生物领域的信息存储介质除了DNA(脱氧核糖核酸)之外,还有RNA(核糖核酸)、蛋白质等等。这些分子能够以序列的方式组合,从而实现存储信息的功能。这就像磁盘上的小磁畴的序列可以用于存储二进制信息一样。介质,是实现信息存储的物质,符合此定义的还有人类用于书写和印刷的纸张、墨水,用于作画的画布和颜料等等。

上图:磁盘介质是如何记录信息的。

上图:DNA是如何记录信息的。

如何理解DNA上存储的程序语言?

DNA是一种序列性的存储介质,其信息的读取是采用序列化的方式来实现的。胞嘧啶(C)对鸟嘌呤(G),胸腺嘧啶(T)对腺嘌呤(A),通过正反链匹配的方式确保的信息一定的保真性(好歹有个备份,这非常类似现代计算机存储技术当中的卷影副本)。

在单条DNA链上的碱基序列存储着复杂的信息,其存储模式是以三个碱基为一个编码单位,其全部排列方式有4的3次方=64种,虽然生物在实际使用的时候64种密码子只对应了20种氨基酸。这相当于一个四进制数据存储体系,且数据宽度为“3位”,相较于计算机采用的二进制,而数据宽度可以采用16位、32位和64位。

上图:不同宽度的数据示意。二进制数据的每一位只有两个状态,0或者1。

下图是DNA转录为RNA之后对应的密码子(胸腺嘧啶T被替换为尿嘧啶U)。

上图:DNA密码子的编码规则。DNA密码子数据的每一位的数据有ATCG四个状态。

DNA的单链记录的数据就是一个四进制数据序列,这些数据需要先通过转录,被分片复制到RNA上,然后才能交给细胞内的核糖体翻译为对应的肽链。这些肽链再相互作用,根据DNA的设定的程序组装和折叠——某些肽链是负责组装其他肽链的,使得复杂的蛋白质的形成成为可能,这个过程及其复杂,以至于人类至今未能完全搞清楚所有这些生化过程——这就像是人类要看懂DNA记录的全部程序的源代码以及这些源代码如何被编译为蛋白质的过程。

读者必需了解的是:程序实际上就是一段数据,当这些数据被用于执行并产生其他数据的时候,这些数据就被称为程序。但程序离不开执行过程,一段不能执行的数据就不能叫程序了。

实际上DNA上也有不少区域无法执行,只不过是单纯的“数据”而已。

注意语言的涵义

语言是对于人而言的,是人表意的逻辑工具,是一种约定。而语言对于机器来说,则应该叫做“协议”或者“指令”可能更为恰当。所以题主称DNA为一种语言,在人类没有找到操纵DNA的生物技术之前是不妥当的,在此时期DNA可能只能称为某种“细胞指令”。

然而,当人类掌握了操纵DNA,根据自己的意图来设计DNA的技术时,例如时下流行的CRISPR/Cas9基因编辑技术,大家就可以将DNA上所包含的编码称为“语言”了——一种描述生命构成和运作方式的语言。

上图:CRISPR/Cas9是如何工作的。

作为人类可以操作的编程语言,DNA内的各种序列具备了类似人类自然语言语法的各种成分,从名词、代词到动词乃至各种虚词等都有。就有学者提出生物语法理论,诸如洽加夫的生物语法(Chargaff’s grammar of biology)就以斐波那契数列及碎形理论来研究DNA的序列构成。也有人以语言学的理论来研究DNA的构成,下面这篇就是1999年发表的一篇以自然语言的语言学将自然语言与DNA语言进行比较的研究文章,很有意思。

总结

大家需要明确存储介质、数据,语言的概念,从而更精确地理解DNA的哲学涵义。在哲学上,DNA与计算机领域的编程语言有非常类似的特征。在学界也有学者以这种角度去研究DNA。

程序代码到应用软件是怎么一步一步过来的?

相信这个问题,是很多非计算机相关专业的人,共同好奇的一个问题。一个软件到底是怎样产生的呢?大家按照两种开发模式来说明这个问题。

瀑布模型

瀑布模型,应该是软件行业最早采取的开发模式。涵盖的过程从项目立项、需求调研、需求分析、概要设计、详细设计、代码开发、集成测试、验收测试到上线运营。

瀑布模型一般应用在需求比较明确的软件开发,多指一些信息化管理系统。例如:OA系统、CRM系统、ERP系统等。还有一类就是客户提出明确需求的项目。

瀑布模型项目立项后,首先,要做的事就是需求调研工作,通过专家座谈或者调查问卷的形式,搞清楚各类用户对系统的要求和使用习惯等问题。

调研完成后,把客户需求整理成需求规格说明书,交给客户做签字确认。需求确认后,正式进入开发环节。

需求分析师和架构师,通过对需求的分析,确定软件采取的架构及技术线路,形成包含功能清单及架构说明的概要设计文档。再交给开发工程师做详细设计。

详细设计阶段,开发工程师需要确定软件的具体实现方式。例如:包、模块、接口、采取的设计模式及数据存储结构等。

下来就开始编码了。编码基本完成后,测试工程师搭建测试环境,进行测试工作,测试通过后形成测试报告。

这个时候软件就有了软件的形态。这个时候要把软件部署到客户的生产服务器,再做验收测试。用户验收通过,这个软件就算正式上线使用了。

敏捷开发

敏捷开发一般用在需求不明确的互联网项目,开发的原则是“快速迭代、小步快跑”。例如:微信、今日头条这样的开发。在开发时,谁也不知道用户喜欢什么样的具体功能,只是大概觉得用户需要。采取这种开发模式的另外一个原因是,产品要快速投放市场,做试错运营。

从开发流程上来说,敏捷开发一个小版本的开发流程与瀑布模型没有任何差异,都要经过需求阶段、设计阶段和开发、测试、上线等阶段。但这类平台型的互联网系统是没有终点的开发。只要项目在运营,就一直在开发。例如:淘宝的平台,开发了了,还在不停地开发、优化。

希望偶的回答,对你了解软件开发有帮助。

防沉迷是什么意思?

一、开发意义和原则

1.1开发意义

针对未成年人过度沉迷于网络游戏,并对身心健康造成不利影响的情况,制定《网络游戏防沉迷系统开发标准》,让未成年人无法依赖长时间的在线来获得游戏内个人能力的增长,报偿值的增加,有效控制未成年人使用者的在线时间,改变不利于未成年人身心健康的不良游戏习惯。

根据目前国内多数网络游戏采用“经验报偿模式”,实施网络游戏防沉迷系统,在一定程度上解决了以下几方面的问题:

1.1.1向未成年人普及健康游戏时间概念;

1.1.2对不健康游戏时间内的游戏收益进行削减;

1.1.3科学控制游戏的间隔时间,使未成年人获得充分的休息、学习时间;

1.1.4使未成年人不再依赖于“长时间在线”来获取收益,促进他们养成健康的游戏习惯;

1.1.5以信息提示、警示方式提醒未成年人健康使用游戏。

1.2开发原则

开发网络游戏防沉迷系统,应坚持以下原则:

1.2.1坚持以人为本的原则,必须充分考虑有利于未成年人的身心健康,有利于他们合理安排学习、生活、锻炼身体和休闲娱乐时间,正确引导未成年人健康文明上网。

1.2.2坚持适度游戏原则,要通过网络游戏防沉迷系统,使未成年人树立正确的上网观念——“适度游戏益脑,沉迷游戏伤身”。

1.2.3坚持监护人责任原则,要有利于家长为保护未成年子女的健康成长依法行使监护人的权力。

二、开发标准

2.1健康游戏时间标准

2.1.1 定义未成年人累计在线游戏时间3小时以内的为“健康”游戏时间。

说明:根据青少年的身心发育状况、网络游戏的基本特点,以及对未成年人的调查分析,累计3小时以内的在线游戏时间既无损于未成年人的身心健康,又能使他们适当享受到游戏的乐趣。如下一盘围棋的时间一般也需2-3小时。

2.1.2 定义未成年人累计在线游戏3小时之后,再持续下去的2小时游戏时间为“疲劳”游戏时间。

说明:未成年人的累计在线游戏时间超过3小时,不可避免地会带来一定程度的身心疲劳,此时未成年人应当停止游戏,下线做充分的休息。因此,将未成年人累计在线游戏时间超过3小时的第4、5个小时定义为“疲劳”游戏时间。

2.1.3定义未成年人累计在线游戏时间超过5小时的为“不健康”游戏时间。

健康时间 疲劳时间 不健康时间

0 1 2 3 4 5 6 ……

2.2促进未成年人养成健康游戏习惯

2.2.1要促进未成年人养成健康游戏习惯,使他们能够健康适度地享受游戏乐趣,活跃思维,健脑益智,必须在游戏收益上进行以下的限制和引导:

由于网络游戏使用者最为注重游戏中的收益,这也是导致未成年人长时间沉迷网络游戏的重要原因之一。如果未成年人无法靠长时间在线获得收益,则会失去持续在线的乐趣。因此,需要根据在线时间的不同对未成年人的收益进行限制,超过健康游戏时间后持续在线时间越长则收益越少,直至降为零。

2.2.2 为保障未成年人适度使用网络游戏并有足够的时间休息学习,对未成年人使用网络游戏的间隔时间、收益进行限制和引导。

2.2.2.1 根据以上考虑,不同累计在线时间的游戏收益处理如下:

累计在线时间

游戏收益

0-3小时内

正常

超过3小时后,5小时内

降为正常值的50%

5小时以上

降为0

2.2.2.2由于不同的游戏有不同范畴,游戏收益定义为:“游戏收益=游戏中与游戏角色成长升级相关的所有数据(包括但不限于经验值、荣誉值、声望值、称号等)的提升+获得的包括道具、装备、虚拟货币等在内的虚拟财产”。

收益为50%,指游戏中与游戏角色成长升级相关的所有数据和获得的包括道具、装备、虚拟货币等在内的虚拟财产均减半。

收益为0,指无法获得游戏中与游戏角色成长升级相关的所有数据和包括道具、装备、虚拟货币等在内的虚拟财产。

2.2.3由于未成年人上下线的行为比较复杂,会出现以下多种情况,因此限时与提示的实现方法如下:

2.2.3.1未成年人上线后,其在线时间将累计计算,称为“累计在线时间”。

2.2.3.2未成年人下线后,其不在线时间也将累计计算,称为“累计下线时间”。

2.2.3.3未成年人累计在线时间3小时以内的,游戏收益正常。每累计在线时间满1小时时,应提醒一次:“您累计在线时间已满1小时。”至累计在线时间满3小时,应提醒:“您累计在线时间已满3小时,请您下线休息,做适当身体活动。”

2.2.3.4如果累计在线时间超过3小时进入第4-5个小时,在开始进入时应在画面显著位置做出警示:“您已经进入疲劳游戏时间,您的游戏收益将降为正常值的50%,为了您的健康,请尽快下线休息,做适当身体活动,合理安排学习生活。”此后,应每30分钟警示一次。

2.2.3.5如果累计在线时间超过5小时进入第6个小时,在开始进入时就应做出警示:“您已进入不健康游戏时间,为了您的健康,请您立即下线休息。如不下线,您的身体将受到损害,您的收益已降为零,直到您的累计下线时间满5小时后,才能恢复正常”。此后,应每15分钟警示一次。

2.2.3.6如果未成年人的累计下线时间已满5小时,则累计在线时间清零,如再上线则重新累计在线时间。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。