欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年游戏编程的语言 .pdf

    • 资源ID:39707738       资源大小:82.90KB        全文页数:12页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年游戏编程的语言 .pdf

    这是每个游戏编程FAQ 里都有的问题。这个问题每星期都会在游戏开发论坛上被问上好几次。这是个很好的问题,但是,没人能给出简单的答案。在某些应用程序中,总有一些计算机语言优于其他语言。下面是几种用于编写游戏的主要编程语言的介绍及其优缺点。希望这篇文章能帮助你做出决定。1、C 语言如果说 FORTRAN 和 COBOL 是第一代高级编译语言,那么 C 语言就是它们的孙子辈。C 语言是 Dennis Ritchie 在七十年代创建的,它功能更强大且与 ALGOL 保持更连续的继承性,而ALGOL 则是 COBOL 和 FORTRAN 的结构化继承者。C 语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。在此之前,操作系统是使用汇编语言编写的,而且不可移植。C 语言是第一个使得系统级代码移植成为可能的编程语言。C 语言支持结构化编程,也就是说C 的程序被编写成一些分离的函数呼叫(调用)的集合,这些呼叫是自上而下运行,而不像一个单独的集成块的代码使用 GOTO 语句控制流程。因此,C 程序比起集成性的 FORTRAN 及COBOL 的“空心粉式代码”代码要简单得多。事实上,C 仍然具有 GOTO 语句,不过它的功能被限制了,仅当结构化方案非常复杂时才建议使用。正由于它的系统编程根源,将C 和汇编语言进行结合是相当容易的。函数调用接口非常简单,而且汇编语言指令还能内嵌到C 代码中,所以,不需要连接独立的汇编模块。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 12 页 -优点:有益于编写小而快的程序。很容易与汇编语言结合。具有很高的标准化,因此其他平台上的各版本非常相似。缺点:不容易支持面向对象技术。语法有时会非常难以理解,并造成滥用。移植性:C 语言的核心以及 ANSI 函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。其他的东西都跟平台有关。比如说,为Windows 和 Mac 开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。用 C 语言编写的游戏:非常非常多。资料:C 语言的经典著作是 The C Programming Language,它经过多次修改,已经扩展到最初的三倍大,但它仍然是介绍C 的优秀书本。一本极好的教程是 The Waite Groups C Primer Plus。2、C+C+语言是具有面向对象特性的C语言的继承者。面向对象编程,或称 OOP是结构化编程的下一步。OO 程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样)。比如说,有很多的GUI 和数据库的库实现为对象的集合。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 12 页 -C+总是辩论的主题,尤其是在游戏开发论坛里。有几项C+的功能,比如虚拟函数,为函数呼叫的决策制定增加了一个额外层次,批评家很快指出C+程序将变得比相同功能的C 程序来得大和慢。C+的拥护者则认为,用C 写出与虚拟函数等价的代码同样会增加开支。这将是一个还在进行,而且不可能很快得出结论的争论。我认为,C+的额外开支只是使用更好的语言的小付出。同样的争论发生在六十年代高级程序语言如COBOL 和 FORTRAN 开始取代汇编成为语言所选的时候。批评家正确的指出使用高级语言编写的程序天生就比手写的汇编语言来得慢,而且必然如此。而高级语言支持者认为这么点小小的性能损失是值得的,因为 COBOL 和 FORTRAN 程序更容易编写和维护。优点:组织大型程序时比C 语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。缺点:非常大而复杂。与 C 语言一样存在语法滥用问题。比C 慢。大多数编译器没有把整个语言正确的实现。移植性:比 C 语言好多了,但依然不是很乐观。因为它具有与C 语言相同的缺点,大多数可移植性用户界面库都使用C+对象实现。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 12 页 -使用 C+编写的游戏:非常非常多。大多数的商业游戏是使用C 或 C+编写的。资料:最新版的The C+Programming Language 非常好。作为教程,有两个阵营,一个假定你知道C,另外一个假定你不知道。到目前为止,最好的 C+教程是Whos Afraid of C+,如果你已经熟知 C,那么试一下Teach Yourself C+。3、我该学习 C+或是该从 C 开始(Should I learn C+,or should I start with C)我不喜欢这种说法,但它是继“我该使用哪门语言”之后最经常被问及的问题。很不幸,不存在标准答案。你可以自学C 并使用它来写程序,从而节省一大堆的时间,不过使用这种方法有两个弊端:你将错过那些面向对象的知识,因为它可能在你的游戏中使得数据建模更有效率的东西。最大的商业游戏,包括第一人称射击游戏很多并没有使用C+。但是,这些程序的作者即使使用老的C的格式,他们通常坚持使用面向对象编程技术。如果你只想学 C,至少要自学 OO(面向对象)编程技术。OO是仿真(游戏)的完美方法,如果你不学习OO,你将不得不“辛苦”的工作。4、汇编语言(Assembly)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 12 页 -显然,汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。如果你要找的是类英语且有相关的自我说明的语言,这不是你想要的。确切的说,任何你能在其他语言里做到的事情,汇编都能做,只是不那么简单 这是当然,就像说你既可以开车到某个地方,也可以走路去,只是难易之分。话虽不错,但是新技术让东西变得更易于使用。总的来说,汇编语言不会在游戏中单独应用。游戏使用汇编主要是使用它那些能提高性能的零零碎碎的部分。比如说,毁灭战士整体使用C 来编写,有几段绘图程序使用汇编。这些程序每秒钟要调用数千次,因此,尽可能的简洁将有助于提高游戏的性能。而从C 里调用汇编写的函数是相当简单的,因此同时使用两种语言不成问题。特别注意:语言的名字叫“汇编”。把汇编语言翻译成真实的机器码的工具叫“汇编程序”。把这门语言叫做“汇编程序”这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出发。优点:最小、最快的语言。汇编高手能编写出比任何其他语言能实现的快得多的程序。你将是利用处理器最新功能的第一人,因为你能直接使用它们。缺点:难学、语法晦涩、坚持效率,造成大量额外代码 不适于心脏虚弱者。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 12 页 -移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。如果使用了某个特殊处理器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如,AMD 的 3DNow 指令是无法移植到其它奔腾系列的处理器上的)。使用汇编编写的游戏:我不知道有什么商业游戏是完全用汇编开发的。不过有些游戏使用汇编完成多数对时间要求苛刻的部分。资料:如果你正在找一门汇编语言的文档,你主要要找芯片的文档。网络上如 Intel、AMD、Motorola 等有一些关于它们的处理器的资料。对于书籍而言,Assembly Language:Step-By-Step是很值得学习的。5、Pascal 语言Pascal 语言是由 Nicolas Wirth 在七十年代早期设计的,因为他对于FORTRAN 和 COBOL 没有强制训练学生的结构化编程感到很失望,“空心粉式代码”变成了规范,而当时的语言又不反对它。Pascal 被设计来强行使用结构化编程。最初的 Pascal 被严格设计成教学之用,最终,大量的拥护者促使它闯入了商业编程中。当 Borland 发布 IBM PC 上的 Turbo Pascal 时,Pascal辉煌一时。集成的编辑器,闪电般的编译器加上低廉的价格使之变得不可抵抗,Pascal 编程了为 MS-DOS 编写小程序的首选语言。然而时日不久,C 编译器变得更快,并具有优秀的内置编辑器和调试器。Pascal 在 1990 年 Windows 开始流行时走到了尽头,Borland 放弃了 Pascal而把目光转向了为 Windows 编写程序的 C+。Turbo Pascal 很快被人遗忘。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 12 页 -最后,在 1996 年,Borland 发布了它的“Visual Basic 杀手”Delphi。它是一种快速的带华丽用户界面的Pascal 编译器。由于不懈努力,它很快赢得了一大群爱好者。基本上,Pascal 比 C 简单。虽然语法类似,它缺乏很多 C 有的简洁操作符。这既是好事又是坏事。虽然很难写出难以理解的“聪明”代码,它同时也使得一些低级操作,如位操作变得困难起来。优点:易学、平台相关的运行(Dephi)非常好。缺点:“世界潮流”面向对象的 Pascal 继承者(Modula、Oberon)尚未成功。语言标准不被编译器开发者认同。专利权。移植性:很差。语言的功能由于平台的转变而转变,没有移植性工具包来处理平台相关的功能。使用 Pascal 编写的游戏:几个。DirectX 的 Delphi 组件使得游戏场所变大了。资料:查找跟 Delphi 有关的资料,请访问:Inprise Delphi page。6、Visual Basic 哈,BASIC。回到八十年代的石器时代,它是程序初学者的第一个语言。最初的 BASIC 形式,虽然易于学习,却是可怕的无组织化,它义无返顾的使名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 12 页 -用了 GOTO 充斥的“空心粉式代码”。当回忆起 BASIC 的行号和 GOSUB 命令,没有几个人能止住眼角的泪水。快速前进到九十年代早期,虽然不是苹果公司所希望的巨人,HyperCard仍然是一个在 Windows 下无法比拟的吸引人的小型编程环境。Windows 下的 HyperCard 克隆品如 ToolBook 又慢又笨又昂贵。为了与 HyperCard 一决高下,微软取得了一个小巧的名为Thunder 编程环境的许可权,并把它作为Visual Basci 1.0 发布,其用户界面在当时非常具有新意。这门语言虽然还叫做 Basic(不再是全部大写),但更加结构化了,行号也被去除。实际上,这门语言与那些内置于TRS-80、Apple II 及 Atari 里的旧的 ROM BASIC 相比,更像是带 Basic 风格动词的 Pascal。经过六个版本,Visual Basic 变得非常漂亮。用户界面发生了许多变化,但依然保留着“把代码关联到用户界面”的主旨。这使得它在与即时编译结合时变成了一个快速原型的优异环境。优点:整洁的编辑环境。易学、即时编译导致简单、迅速的原型。大量可用的插件。虽然有第三方的 DirectX 插件,DirectX 7 已准备提供 Visual Basic的支持。缺点:程序很大,而且运行时需要几个巨大的运行时动态连接库。虽然表单型和对话框型的程序很容易完成,要编写好的图形程序却比较难。调用Windows 的 API程序非常笨拙,因为 VB的数据结构没能很好的映射到C中。有 OO 功能,但却不是完全的面向对象。专利权。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 12 页 -移植性:非常差。因为 Visual Basic 是微软的产品,你自然就被局限在他们实现它的平台上。也就是说,你能得到的选择是:Windows,Windows 或Widnows。当然,有一些工具能将VB 程序转变成 Java。使用 Visual Basic 编写的游戏:一些。有很多使用VB 编写的共享游戏,还有一些是商业性的。资料:微软的 VB 页面有一些信息。7、Java Java 是由 Sun 最初设计用于嵌入程序的可移植性“小 C+”。在网页上运行小程序的想法着实吸引了不少人的目光,于是,这门语言迅速崛起。事实证明,Java 不仅仅适于在网页上内嵌动画 它是一门极好的完全的软件编程的小语言。“虚拟机”机制、垃圾回收以及没有指针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。虽然不是 C+的正式续篇,Java 从 C+中借用了大量的语法。它丢弃了很多 C+的复杂功能,从而形成一门紧凑而易学的语言。不像C+,Java强制面向对象编程,要在Java 里写非面向对象的程序就像要在Pascal 里写“空心粉式代码”一样困难。优点:二进制码可移植到其他平台。程序可以在网页中运行。内含的类库非常标准且极其健壮。自动分配合垃圾回收避免程序中资源泄漏。网上数量巨大的代码例程。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 12 页 -缺点:使用一个“虚拟机”来运行可移植的字节码而非本地机器码,程序将比真正编译器慢。有很多技术(例如“即时”编译器)很大的提高了 Java 的速度,不过速度永远比不过机器码方案。早期的功能,如 AWT 没经过慎重考虑,虽然被正式废除,但为了保持向后兼容不得不保留。越高级的技术,造成处理低级的机器功能越困难,Sun 为这门语言增加新的“受祝福”功能的速度实在太慢。移植性:最好的,但仍未达到它本应达到的水平。低级代码具有非常高的可移植性,但是,很多UI 及新功能在某些平台上不稳定。使用 Java 编写的游戏:网页上有大量小的 Applet,但仅有一些是商业性的。有几个商业游戏使用Java 作为内部脚本语言。资料:Sun 的官方 Java 页面有一些好的信息。IBM 也有一个非常好的 Java页面。JavaLobby 是一个关于 Java 新闻的最好去处。8、创作工具上面所提及的编程语言涵盖了大多数的商业游戏。但是也有一个例外,这个大游戏由于它的缺席而变得突出。“神秘岛”。没错,卖得最好的商业游戏不是使用以上任何一门语言编的,虽然有人说“神秘岛”99%是使用 3D 建模工具制作的,其根本的编程逻辑是在HyperCard 里完成的。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 12 页 -多数创作工具有点像 Visual Basic,只是它们工作在更高的层次上。大多数工具使用一些拖拉式的流程图来模拟流程控制。很多内置解释的程序语言,但是这些语言都无法像上面所说的单独的语言那样健壮。优点:快速原型 如果你的游戏符合工具制作的主旨,你或许能使你的游戏跑得比使用其他语言快。在很多情况下,你可以创造一个不需要任何代码的简单游戏。使用插件程序,如Shockware 及 IconAuthor 播放器,你可以在网页上发布很多创作工具生成的程序。缺点:专利权,至于将增加什么功能,你将受到工具制造者的支配。你必须考虑这些工具是否能满足你游戏的需要,因为有很多事情是那些创作工具无法完成的。某些工具会产生臃肿得可怕的程序。移植性:因为创作工具是具有专利权的,你的移植性以他们提供的功能息息相关。有些系统,如Director 可以在几种平台上创作和运行,有些工具则在某一平台上创作,在多种平台上运行,还有的是仅能在单一平台上创作和运行。使用创作工具编写的游戏:“神秘岛”和其他一些同类型的探险游戏。所有的Shockwave 游戏都在网络上。资料:Director、HyperCard、SuperCard、IconAuthor、Authorware。名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 12 页 -9、结论(Conclusion)你可能希望得到一个关于“我该使用哪种语言”这个问题的更标准的结论。非常不幸,没有一个对所有应用程序都最佳的解决方案。C 适于快而小的程序,但不支持面向对象的编程。C+完全支持面向对象,但是非常复杂。Visual Basic 与 Delphi 易学,但不可移植且有专利权。Java 有很多简洁的功能,但是慢。创作工具可以以最快的速度产生你的程序,但是仅对某一些类型的程序起作用。最好的方法是决定你要写什么样的游戏,并选择对你的游戏支持最好的语言。“试用三十天”的做法成为工业标准是件好事情。自己的观点:如果你的能力足够强的话,建议使用c+语言,因为 c+有很大的自由度,并且支持面向对象编程。如果你很喜欢新生事务的话,你可以选择使用 c#语言或 VB.net,它们比 c+要容易掌握,并且编写出来的游戏也不差。而且用 c#或 也是大势所趋。不过 c#与 的可移植性不好,目前只能在微软的操作系统上使用的说名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 12 页 -

    注意事项

    本文(2022年游戏编程的语言 .pdf)为本站会员(H****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开