上海离婚流程哪里有学游戏程序的?

你好老师!我想问一下婚内出轨犯法吗吗

详细描述(遇到的问题、发生经过、想要得到怎样的帮助):

你好老师!我想问一下婚内出轨犯法吗?吗

  • 您好不犯法,如是賣淫嫖娼可能会涉及到行政治安处罚。另外出轨方存在一定过错,如离婚分割财产时法官可能会予以考量,给予过错方少一些财产

  • 你好,一般协议离婚不成只能诉讼解决

  • 离婚时夫妻共同财产还是平分,有证据证明出轨可以要求赔偿可搜索我手机号添加详谈

  • 有很哆很多的人结婚是因为爱情,结婚是因为自己的未来很多人结婚实惠了家族,有些人结婚是为了后代所以不痛的结婚方式也会出现不哃的婚姻问题,比如说出轨那么有人就在问婚内出轨算不算是犯法呢?下面华律网小编就为大家讲解一下相关的知识吧,希望能够

  • 步入婚姻的殿堂就是对对方一生的承诺,应该互相尊重应该共同遵守婚姻法的规定。在婚内出轨并生下孩子是违反了相关道德规范的,下媔请跟华律网小编一起来看看此行为是否犯法

  • 在婚姻生活中一些人为了追求刺激等等而出轨了,出轨是等于背叛婚姻、背叛感情在知噵对方有出轨的行为之后,另一半也无法忍受对的行为在这时候就想要去起诉对方出轨的行为,追究对方的法律责任华律网小编介绍叻相关内容。

  • 婚内出轨触一般犯法律吗重婚罪是什么意思呢,重婚罪的犯罪类型包括什么呢重婚罪的法律责任有些什么呢,重婚罪的刑事责任有些什么呢重婚罪的民事责任包括哪些呢,重婚罪的司法解释是什么呢华律网小编整理了“婚内出轨触一般犯法律吗”的内嫆为你答疑解惑。

  • “我妻子沉迷网络游戏在网络上与别人打情骂俏,多次与同一名网友‘网婚’对我和孩子则不管不顾,我们俩离婚她要负主要责任……”昨天家住李村西山一路的孙先生拿着妻子网络游戏的相关记录委托律师向妻子索赔10万元离婚补偿金。

  • 经常很多地區的学校都被爆出了老师打学生或过度体罚学生的情况,那老师打学生犯法吗,老师可以体罚学生吗接下来由华律网的小编为大家整理了一些关于这方面的知识,欢迎大家阅读!

年20 W专业律师在华律网

解决了 18亿 个问题

想法创意都有了就差一个程序員了?有没有想过:也许你配不上一个程序员

成为一个独立游戏开发者,我认为他自己首先应该成为半名程序员

这里是知乎专栏《自學游戏开发》,在上一篇文章中我们已经概览了一个大型游戏的开发过程。但是由于程序方面的内容不便可视化展示所以那篇文章主偠是展示了设计和美术制作流程。现在我们需要来讲一讲的程序方面的事情首先,我们需要认识到:

1、掌握编程技能的重要性

如果你想荿为一个独立游戏开发者不会编程几乎是不可能的事情。就像一个厨师不会用刀案锅铲 “电子游戏”是一个什么?我们这里不谈玩法設计它的物理本质就可以说是一个计算机应用程序(程序是一串CPU指令、指令是一串代表01的电磁信息集合;请勿再溯源)。开发游戏其实僦是开发一个程序(软件)而开发程序的过程,我们把它叫作 编程只有学会了编程、掌握了一款游戏引擎,我们才会真正明白:游戏作为一款软件来说 它的本质是怎样的,它是如何运作的你不知道汽车是如何工作的,你就制造不出一辆车了解程序,就是了解游戏茬电脑上工作的原理掌握这些知识,不单单是程序员的立身之本也应该是每一位游戏设计者的基本素养。再者如果你从未接触过游戲开发,现在开始学习任何其他游戏开发知识你是不可能在两个月之内自己动手制作出一款可玩的游戏的。但是你学习编程与游戏引擎的使用,你便能做到群友真实经历, 在我的引导下从职业厨师开始学做游戏经历两个月的学习之后已经能够独立做出“飞机大战”那样可玩的小游戏了。你若学习美术、或是“设计”这都不可能实现。这是编程的强大之处

作为一个专职的“游戏设计师”(游戏策劃),并不是只会拍脑袋出主意就行了我认为一个合格的“游戏设计师”至少应当能够编写逻辑脚本,把自己设想的主意用代码实现出來不要把任何细小的事情都塞到专业程序员的待办事项里。职业的程序员会为设计师提供底层的服务让设计师不用操心计算机底层的倳务,只要把精力放在游戏逻辑本身上事实上,现在各大游戏引擎的设计思路都是如此比如 Unreal Engine 4 强大的Blueprint系统和CryENGINE推出的Flowgraph和Schematyc系统,都是为设计師们服务的让他们不用敲任何代码就能编写出基本的游戏逻辑(基于可视化编程)。 为了让设计师们能够自己动手丰衣足食程序员们巳经做出了许多努力,想成为设计师的你有什么理由不学习一下基础编程呢?千万不要想:程序的事情就交给专业的人来做吧“我”僦不需要学了。这种人就是那种常常说“就差一个程序员了”的人;这种人,也常常是那种只会空想给团队制造试错成本的那种人。洇为他们不懂程序但要让别人来为他的想法买单。他们不知道他们临时冒出的一个“好主意”可能要让一整个团队忙活好几个月所以,我建议每一个想要成为游戏设计师的朋友,都接触学习一下编程

你只是想静静地画图,做一个安静的美术人员如果你只是想平静哋度过这一辈子,顺便在游戏制作领域出一些力贡献一些艺术力量,那么你只需要专注于升华自己的艺术上限就好了如果你想对这个領域搞点事情,比如说优化一下美术资源的制作流程提升游戏画面的行业标准,那么你就不能只是会用Photoshop画画图、用3Ds max建建模你需要知道Photoshop這款软件是怎么被开发出来的,它的每种图层混合模式采用了什么算法这些算法用代码如何实现,如果我要扩展它的调色盘功能应该从哪里开始编写一个能回答这些问题的艺术家,和一个只会用PS画画的艺术家对于工具的理解是完全不同的(假设他们的艺术修养一样高)。而前者更有可能推动整个数字绘画领域向前步进。为什么那些艺术创作软件都出自于国外的开发者呢开发一款艺术创作软件,不僅需要专业的程序员更需要具备编程素养的艺术家们来领导。而我国的艺术从业者们有几个具备扎实的编程能力? 而往往一说到这些那些“大师”们就会开始贬低工具的重要性,转而强调艺术本身从“从艺动机”层面,许多选择艺考的人其实就是因为文化成绩太差;从思想层面几乎少有艺术家会想去改进他们所用的工具。如果你不是这样的人如果你想要成为一个推动数字艺术领域进步的人,有機会的话你就应当认真了解一下计算机的世界。另外回到游戏美术本身,一个游戏最终如何展现你画的图、你做的模型这完全是由渲染管线和Shader脚本来控制的,这些都是代码写出来的所以你认为游戏美术只是画画?那只是其中的一个小环节当然了,说这些只是希望伱能对游戏美术具备更多的认识至于初学,我还是不会给你徒增痛苦让你去学编程的别紧张,从窗户上下来吧朋友

包括做音乐也是,现在编曲软件之强大无不是具备音乐素养的程序员们的功劳。奥巴马说每一个现代人都应该学一下编程不是随便说说的。写到这里我希望每一位读者都已经在心里提升了掌握编程能力的重要性。

在后文中我们开始来认识一下计算机与编程的世界,再之后是编程与遊戏制作的关系最后是编程学习路径。我会力图让每一个高中生看到下面的文字时也能够理解我在说什么你不用具备什么前置知识,嗑着瓜子顺序看下去便好

2、计算机与编程的世界

是先学C还是C#?还是JAVA还是Python?还是Unity还是OpenGL?首先你都知道这些是什么吗每一个想学游戏編程的人都经历过这样的问题:入门编程语言该学什么?我在知乎问答中明确说明了先学C#再学Unity但是仍然有无数人私信问我到底该先学C还昰C#。这不是因为他们没有认真看我的回答而是他们不知道为什么要这样安排,以及很多其他前辈建议他们要先学这样或那样道听途说,只言片语的回答是解决不了大家心中的困惑的因此在本篇文章中我想为大家介绍一下计算机和编程语言的世界,这可能会花费一些功夫因为从来没有人能够在一篇文章的篇幅内完整地介绍整个计算机的世界。我也只能尽力尝试让大家了解那些语言各是什么,之间是什么关系在此章节完成之后,我再会解释我们学习安排是如何设置的

请注意,我现在要开始装逼了:这件事情如果要溯源的话最早可鉯追溯到亚里士多德开创出“逻辑学”;19世纪的乔治·布尔(George Boole)在此基础上发展出“数理逻辑”(如果你已经开始学编程的话一定会知道关键芓:bool;3ds Max里也有“布尔”运算就是以此人之名。);20世纪克劳德·艾尔伍德·香农(Claude Shannon)在“数理逻辑”基础上发展出“逻辑电路”“逻辑电蕗”就包括了我们高中所学的:继电器、与门、或门、非门、异或门等等。利用这些工具我们就能够制造出会计算加法、减法的逻辑电蕗。(还有非常重要的“触发器”、“振荡器”等等后来的一系列发明,比如说:电子管、晶体管、集成电路可以统统看成是对前面技術的升级和替换)我们得到了会计算的逻辑电路,又经历了一系列的升级和优化那么现在我们的计算机是如何运作的呢?首先可以分為两个层一层是CPU&存储器的电路实现,一层是0与1的世界如果我在这里讲电路设计的问题,我想很多只是单纯想做游戏的人可能会疯掉(其实是我讲不来)有一本很好玩的书,叫《穿越计算机的迷雾》作者以闲谈扯淡的方式,从电与磁的发现一直讲到了CPU的实现作为计算机硬件入门是一本不错的兴趣书。关于硬件我们业余选手可以不用知道那么多,只要知道:CPU会执行我们的一些命令我们的命令是存茬“存储器”里的1001010…这样的数字来代表

作为常识我们知道计算机只认识0和1(至少你现在知道了),那么我们就来看一下它是如何运用0囷1来工作的

请注意为了方便讲解我就自己创造例子了,可能和实际情况有出入但是更容易帮助理解。先看一下这一行代码:

看不懂普通人类当然看不懂,但是机器看得懂而且机器就只能看懂这种形式的信息。这个叫做机器语言也是二进制码。二进制码是构成如今計算机世界的基础我们电脑里的任何文件、应用程序归根结底的都是以二进制码的形式存在的。比如:我们常常能够在电脑的文件夹里看到这样一个文件夹:

这其中“Bin”就是单词“Binary”的缩写意思是二进制文件。打开bin文件夹我们会看到各种.exe和.dll文件。对于我们来说.exe就是┅个应用程序嘛,比如说:QQ.exe、LOL.exe

大家难道没有好奇过:为什么应用程序的的后缀是“exe”呢?原因:“exe”是英文词组“Executable File”的缩写意思就是鈳执行文件。“可执行文件”的意思是:可以被CPU执行的文件我们前面说过,CPU只能执行0101001这样的指令所以“可执行文件”其实就是这种指囹的集合,也就是是一堆二进制码 “10 ……”所以它才会常常被放在bin(binary)文件夹里。(有没有发现那些曾经我们看不懂的文件夹结构、文件洺后缀,其实设计得都是有道理的)

我们玩的每一个游戏它们的本质都是这样的二进制文件。所以编写一个游戏其实最终最本质就是編写出这样的文件:……可是……

我知道这也太特么为难人了!鬼看得懂这些01是什么意思啊!(鬼:我也看不懂啊~)但没有办法,现代的計算机只能识别这种简单的机器语言(即便是量子计算机也是玩01这样的量子比特) 为了让这些机器语言更容易被我们人类所理解,先驱們发明了汇编语言(对,就是那个大家都说最难写的编程语言“汇编-Assembly Language”)但其实汇编语言很简单有了汇编,我就能跟你解释前面的0011是怎么回事了再来看之前的那行代码:

请注意这不是一串随便瞎写的0和1,它是有规律的!你们看以八个0或1为一组,每组中间有个空格這其中,每一组我们叫做一个“字节”(byte每一个0或者1,我们叫做一个“比特”(bit第一个字节:,假设我们规定它代表一个命令:加法(ADD)。我们再规定如果CPU遇到“加法”命令,它就把后面两个字节相加把结果存到前一个字节所在的地方。于是我们的CPU就能够计算加法了规则是给它这三个数:

第一个是表示加法命令的“”,第二个A和第三个B是两个加数每次都不同,所以我用x表示那些比特位哃样的道理我们能够制定出减法命令、乘法命令、复制命令等等。比如复制命令:我们规定“”代表复制命令如果CPU遇到“”,它就把后媔第二个字节的数据复制到后面第一个字节的数据所表示的位置上(注意这些字节里的二进制数不仅可以当数字用,也可以当命令用吔可以用来表示储存位置)。于是我们就有了复制数据的功能了

这些功能,都是CPU中的逻辑电路为我们提供的我们只需要发送规定好的指令便能使用这些功能。注意指令的本质是一串0和1代表的信息,但是我们很难去记忆和区分和这样的数字所以我们就用“ADD”代表(加法指令),用“COPY”代表(复制指令)Add和Copy在英文里本来就是加和复制的意思,这就很好记而“ADD”、“COPY”等这些指令集合起来就形成了汇編语言。它实际上就是把机器语言(一串0和1)直译成了英文单词一般CPU认识的指令不多,就那么十几个(加上变种一般也就几十个)所鉯汇编语言中的指令一一对应也不多,大致分为三种:

  1. 数据传输类:复制、加载、存储……
  2. 算数/逻辑类:布尔运算、加法运算、自加运算……
  3. 控制类:转移、停止……

就这么几个指令能干啥你别说,我还真有办法能让你亲自见证一下就这么几个指令,可以让CPU干些什么事首先,下载这个小游戏然后开始玩吧。我已经让群友们验证过了不管有没有学过编程都可以玩几下。而游戏的主体内容其实就是鉯一种有趣的方式在写汇编代码。在过关这个游戏之后你会发现你自己用这几个最简单的指令,让计算机实现了一些简单的功能诸如:比较两个数字的大小、判断一个数字的正负、让计算机数数、用加法实现了乘法运算、从一组数中找到最小的数……如果你在游戏里过伍关斩六将实现了这些功能,那么你就相当于解决了上个世纪计算机科学早期那些先驱们所面对的问题给自己一个奖励吧,点击文章末尾的“赏”就会看到编程学习大礼包!额你说你没有通关?没关系最后几关是比较难,而且这个游戏只是为了让你体验一下汇编编程嘚感觉

现在你会发现,汇编语言其实没有多复杂而且比起那些0011的代码,真是太好识别了但是那还不够,比如我要计算一个:

这个自嘫的表达式人人都能看懂吧但是用汇编语言写出来就不那么好看了:

一眼看上去不知道是在干嘛。而且汇编语言也不够“自然”比如峩要做一个赋值操作:

上面这种写法很自然,我们在学数学的时候就是这么写的但是在汇编语言中它是这么写的:

直译就是:把Y移动到X嘚存储位置(这是计算机硬件能够实现的操作)。再比如:

这几行命令我们用自然语言就能读懂它在干嘛:比较两个数的大小,然后把夶的数赋值给小的数用汇编语言写就是这样:

用自然语言写很简单的三行命令,用汇编写就需要这么多行才能实现

还记得当初我们为什么需要汇编吗?因为机器只能识别0和1构成的指令但是那种数字指令对我们人类来说很难识别和记忆,所以我们用英文单词来一一对应那些数字指令那些英文单词构成的指令集合就成为了汇编语言。新的知识点:当我们写出汇编代码后在真正交给CPU运行之前,我们得把彙编代码翻译成机器码因为CPU只认识0和1构成的机器语言。(因为机器指令和汇编指令是一一对应的所以翻译过程很简单,就像把简体字翻译成繁体字)

先驱们尝试把汇编语言简化的过程中,想到:既然要翻译那么我们能不能创造一种更简洁的语言,然后把它翻译成相對复杂的汇编呢就像把文言文翻译成语素成分更复杂的现代文。

"私见张良具告以事"———翻译为———>"私下会见张良,把事情详细地告诉了他"

从这个想法出发C语言诞生了。(实际上C语言是在B语言的基础发展出来B语言是在BCPL的基础上发展出来的,BCPL是在CPL的基础上发展出来嘚在CPL之前还有个十几种其他编程语言。不要管辣么多静静听我吹就好。)

(在这儿停顿看到这里,新手朋友们可能已经费尽了许多腦细胞了如果你已经阅读/思考疲劳的话,可以在这儿停顿起来走一走看看窗外。也许你并不能全部理解上文的内容那没有关系,那鈈会影响你学习编程但如果能理解的话,对今后学习将会有助益我能保证后面的内容将会越来越简单。你大可以带着疑问先阅读完全攵再回过来读一次。)

你们看汇编语言多复杂,因为它和机器硬件实现的指令一一对应所以光改造它而不改造机器指令的话毫无意義。所以我们不如创造一种新的语言然后把它翻译成汇编吧!C语言帮助我们实现了设想。C语言有许多强大的优点但是在此,(顶着老師和同行们的压力)我想让新手知道的是:函数

函数是什么?当我们在写代码的时候可以想象为我们写的每一行都是一个指令。我们寫十几行指令来实现一个乘法运算用二十几行写一个排序操作。程序猿是世界上最懒的物种他们不想每次要做乘法时都写十几行代码。能不能用一行指令代表十几行指令就像:

指令集A和指令集B所描述的就是完全同样的事情。但是A用了7个指令B用了5个指令。如果你要在這件事件上偷懒你是愿意以A的形式还是B的形式来写这个指令集呢。我不知道你的选择是什么但是作为世界上最懒的物种来说,程序猿茬编程的时候能少写一行就不会多写,能少敲一个字母就绝对不会敲两个所以在碰到上面这个问题时,采用B的写法无疑那么如何实現呢?假设指令集A中的每条指令都是计算机能够识别的指令指令集B中的第3条“把大象装进冰箱”是计算机不能识别的,是我们自己虚构嘚但是我们要使用这条指令,因为它对于我们来说很省事现在很简单,只要规定:我们每次写“把大象装进冰箱”这条虚构指令就洎动把它翻译成“打开冰箱、把大象塞进去、关上冰箱”这三条原生指令。翻译过程不用担心前人们已经写好了各种翻译器能够现实这種效果。

那么上面我们虚构出来的那条指令:把大象装进冰箱。其实就是我们所谓的函数!下面展示的是在C语言中创建一个函数的形式

把大象装进冰箱(大象x)
 

下次想干这件事件的时候,就只要写一句:把大象装进冰箱(大象巴拉)括号里写哪头大象,就装哪头 那麼把大象装进冰箱()就是一个函数。

有了函数这个东西世界上任何复杂的任务都可以被拆分成最简单的单个任务。当我们学C语言的时候一定要把函数的用法学好。我认为这也是新手学习C语言的主要任务

按照学院派的编程学习路线,计算机专业基本都是先学C语言然後学C++,(然后学数据结构)然后学C#/Java/Python/JS....,然后回去再学汇编呀、电路呀什么的想必大家都熟悉这套方案。

其实学习一个东西从根源开始了解接触,从底层学到顶层是一个自然的遵循逻辑的学习方式在计算机世界中,如果说从真正的根源开始学的话估计真得从逻辑电路开始叻,然后学到汇编语言再学到C语言,再学C++但是为什么学院们都选择从C语言开始呢?一是因为相比起汇编语言C语言更能够学以致用,使用起来更方便;二是因为现在许多流行的编程语言,比如C++、JAVA、C#、Python都是类C语言的首先是语法上都是仿照C语言的风格来设计的,其次它們的一些技术原理是建立在C语言的基础之上的它们之间的关系就好比“汉语”与“北京话”、“四川话”、“重庆话”、“广东话”之間的关系,其中C语言就是汉语所以C语言作为广大语言的根基,把它当做入门编程语言来学习是没有问题的再以它为中心,向高层语言囷底层原理来扩展学习往往计算机专业的同学到大三就能把整个计算机体系打通。

刚刚我们才讲到了C语言并且说了游戏领域中比较重偠的几种语言与C语言的关系。从这张图中我们应该能够更清晰看到这几种语言的发展脉络每一种新的语言诞生,都摒弃了一些前者的弊疒加入了自己优秀的特性。但无论怎样每一次编程语言的发展和进步都是在前人的基础之上进行改良和创造,很少有几个语言是凌空絀世的正因为这样,所以编程语言之间的差别并不是天差地别。并不是我选择了学习JAVA就意味着放弃了C#;也并不是我如果不先学C语言,我就学不懂C++编程语言之间都是触类旁通的,只要先掌握了其中一种那么其他的语言就能很快掌握。

再看一眼上面的图接下来我来講讲C、C++和C#、Java、JS、Python的关系。

首先经过我们上面一顿瞎BB已经知道了C语言是怎么来的,而且知道了C语言的语法比较接近我们的自然语言更容噫读懂了。C语言写的代码在被CPU运行之前,需要翻译成汇编代码再翻译成机器码。我们对这个设计很满意使用了好多年。后来在使用Φ特别是开发一些大型项目,比如用C语言开发一个计算机操作系统时发现有问题处理起来很麻烦,先辈就对C语言进行了改进有一次妀进后新增了一个叫“类(class)”的功能,这个功能很牛逼导致那个版本的C语言直接脱胎换骨。这种与众不同的牛逼需要在名字上体现出来所以他们学习iPhone的起名策略,在名字后面加了个“Plus”“C Plus”=“C++++”。)所以!C++是C的升级版多了一个核心功能:类。语法没有变本质的东西沒有变,还需要被翻译成汇编然后翻译成机器码,再交给CPU执行所以学校里安排先学C语言,再学C++其实这种说法是有点狗屎的,就好像昰说:我们先学习“浮水”再学习“游泳”。本来我们学习游泳的过程中就会学习浮水但是就要把学习“浮水”先说一遍,让人误解為这是两个差别很大的东西所以懂了吗?我再说明白一点:学习C++就是学习一个高级版本的C语言学C++的过程中,就会先把C语言的那些东西學到所以不存在:如果不学C语言打基础,就学不好C++如果再有人问这个问题,就把这一章节贴到他脸上去

另外补充:C++从C发展出来后,C語言也没有闲着自己还是在不断发展,比如后来发展出了Objective-C严格意义上来说,“学习C语言”和“学习C++”确实是不一样的因为要去研究咜们不同的语言特性。但是!对于没有学过任何编程的初学者来说最开始就是学习个语法认识几个关键字而已,根本到不了研究语言特性的程度所以两者说法对他们来说几乎没啥差别。

C#(和其他高级语言)

可是你们知道上世纪八九时年代计算机市场是繁花绽放,各种各样的硬件、操作系统充斥在硅谷整条小吃街那个年代的码农,随手写一个程序并不是写完就能到处用的啊。就算现在也不是啊原洇很多,可能CPU不一样操作系统不一样....那怎么办?先辈们想到了一个胆大包天的方法:我写一个软件这个软件去模拟CPU硬件,然后再写其怹的程序把这些程序编译成这个虚拟CPU能够执行的机器码,然后让虚拟CPU去执行程序(请再读三遍)

这样,只要所有的电脑都提前装好我這个虚拟CPU软件那么其他那些杂七杂八的软件统统都在我上面可以运行了!完美解决跨平台问题。

有了这个想法之后先辈们就开始动手詓写这个牛逼哄哄的虚拟CPU软件了。他们用C语言或C++来写这种后来被称作“虚拟机”的软件这种事情都能干得出来,他们就顺便又为自己的“虚拟机”发明了专门的编写程序的语言(真实因果关系是先发明语言从而开发对应虚拟机)。Java语言对应JVM(Java Virtual Machine)C#语言对应 NET

看到这里,聪奣的你已经看破了真相原来C#、Java、Python编写的程序都不是直接交给真正的CPU运行的,而是交给了一个模拟CPU的软件运行的!把我们的程序交给了另┅个程序来运行!把我们的程序交给了另一个程序运行!明白吗为什么那些程序猿都说C#没有C++快。因为C#写的程序交给了C++写的一个程序来运荇!Java写的程序也交给了C++写的程序来运行!Python写的程序也交给了C++写的程序来运行!再重复一遍就疯了……

到现在为止我们解开了一个新手十夶困惑之一:为什么C++比其他语言更快。现在我们还在章节“计算机与编程的世界”中接下来,我们要聊一聊那几种高级语言的不同点鉯帮助我们搞清楚新手十大困惑之首:我应该选哪个语言开始学编程

这么说吧,当年我才大二的时候只学过C++。从没有专门学过一天其怹语言在那个背景下,我能够用C#在Unity写小游戏我还用Java在Android Studio里写过一个贪吃蛇。我可是一天的C#和Java都没学过为什么我能做到呢?因为主流编程语言的语法基本都一毛一样根本就不用怎么学啊。那种差别就像东北话和天津话的差别一样大家都是从汉语出来的,谁听不懂啊為了证明几种语言语法上真的很像,我写了一段伪代码并翻译成不同语言版本,请找不同:

看这三份代码是在干同样一件事情,是用彡种语言所写的除了第6行比较特殊,其他部分你们能看出什么区别吗是不是真的很像?如果掌握了其中一中语法另外两种有什么难嘚呢?无非就是注意一些细节不同点总有些人问第一个编程语言学什么,我通常回答“都行都行”看看上面这张图,我不是瞎说的啊对于学习些基本语法,了解基本概念先学哪个真的都行(反正都一样)。如果把我们学做游戏比喻成学做饭语言呐、环境呐这些东覀,就可以看做是厨具厨房学做饭的时候,重要的是学习菜肴怎么做烹饪方法心得,厨具工具的用法是基本的也是次要的我们随便選个厨房开始学做饭,一旦学会了那么在另一个陌生的厨房里难道就做不出饭菜了吗?不会的就算是另一个厨房,就算那个厨房里的鍋、碗、灶、铲奇形怪状从未见过习惯习惯也不影响我们做饭呀,因为工具毕竟还是那些变其形式而不变其本质。

那么在这种情况下我们应该选那个语言开始学习呢?总要有一个选择这个选择就是C#。为什么是C#呢说一个很简单的理由,因为Unity是用C#写代码(不考虑JS)洏Unity是我最推荐新手学习的游戏引擎。所以学了C#就直接去用Unity咯如果有人问:“我想用Unreal4或CryENGINE,我能不能从C++开始学呢” 当然可以呀。你掌握了C++の后如果又转变想法想用Unity来开发,也能很快上手但是我不推荐这样,因为C++细节非常多更繁琐一点。学起来没有C#轻松而Unreal4和CryENGINE呢,用起來也更麻烦一点也不建议新手拿这两个引擎来考验自己的自信心。

作者并非职业程序猿也不是计算机科班出生,若文中有任何错误朢先辈们在留言中指出,以帮助我修正文章、传播正确有用的知识

这里是知乎专栏《自学游戏开发》第三篇文章:《自学游戏开发·程序篇一——了解计算机的世界》。我是 窦月汐 如果你是第一次看到本专栏,建议你跳转到进行了解如果这篇文章和本专栏对你所帮助,希望你在看到其他游戏人需要帮助时 也能把本专栏推荐给他向每一个游戏人致敬。

我公开了我的一个兴趣交流群群号为:。(为避免无聊人士设置了5元 群费)

我要回帖

更多关于 上海离婚流程 的文章

 

随机推荐