第2章:创建你的第一个游戏Pong

概览

这个章节讨论了设计和创建一个简单的Pong游戏。Pong曾经是第一个视频游戏,甚至在六十年代第一批Pong版本出现以前,就有一个能在示波镜oscilloscope上玩(2人网球,William A. Higinbotham,1958)的版本。这说明了实现一个基础版本的Pong有多么容易。一个叫做Ralph Baer 的TV工程师声称甚至早在1951年他就有实现Pong的想法,但是直到1966年他才出示了第一个原型。Atari在80年代得到Pong的授权许可,并且和另一个公司打了一场官司,该公司声明他们是第一个发明Pong的。如果你今天听到是为了这么简单的一个游戏而打官司简直是疯了。你能在www.pong-story.com,阅读到完整的Pong的故事。

实现一个非常简单的Pong的克隆不会花太多的时间,不过你也得学习本章关于XNA的Sprite相关类。你将从写游戏构思开始,然后经历一个完整的游戏项目设计阶段。在将来的工程项目中,你可以有同样的选择,不久之后,您再先不必首先撰写游戏构思的过程,因为在做第一次单元测试的时候您就已经能很自然地产生这些想法了。然后,您将学习一种有效的方法来管理和使用游戏的纹理,并修改调整您的游戏,让它更加有趣,加入双人对战的支持,甚至在Xbox 360控制台上测试。

虽然本章聚焦在Pong游戏,但这并不是您将要唯一学习的,Pong游戏更多的是用来学习我将在本章稍后提及的“敏捷方法学(Agile Methodology)”的。您将学习为什么首先写单元测试很重要,并且预先设计游戏,然后再一步一步地改进它。在接下来的几章中您也将针对其他的一些类来使用单元测试。对于这个游戏,您只需要一个简单的类,然后在末尾添加几个单元测试来测试绘图、碰撞和正确地定位每一样东西。

这一章使用的单元测试的种类归诸于静态单元测试(static unit tests),相应的在下一章中您将学习动态单元测试(dynamic unit tests)。其区别在于您要手动启动静态单元测试,并且要亲自根据屏幕的输出结果来检查是否正确。动态单元测试则是在一个单元测试框架,比如NUnit的帮助下自动执行。更多有关单元测试框架(Unit Testing Framework)的细节,参阅第三章。

转载于:https://www.cnblogs.com/AlexCheng/archive/2010/07/26/2120279.html

创建你的第一个游戏Pong——概览相关推荐

  1. 创建你的第一个游戏Pong——让我们编写Pong

    让我们编写Pong 游戏构思都解决了,并且所有你需要着手的文件也有了.是做实际编码的时候了.首先,注视SpriteBatch类,并且看看如何不费力地管理所有的sprite精灵.SpriteBatch类 ...

  2. UE5——创建你的第一个游戏

    文章目录 一.引言 二.游戏展示 三.整体大纲 四.内部实现 1.创建工程 2.创建游戏中的第一个资产(一个小盒子) 3.创建地形(地形工具,切换到地形模式) 4.创建地形中的植被(草.石头)并刷到场 ...

  3. sql2008带扣号字符串_带扣:在您的第一个游戏果酱中创建自己的卡丁车游戏

    sql2008带扣号字符串 The Karting Microgame video game template just got a serious makeover to help new user ...

  4. [翻译] 使用FXGL创建一个简单游戏 Pong (FXGL 11)

    在本文中,我们将复刻经典的Pong游戏.要完成本教程,你首先需要获取FXGL要么通过Maven / Gradle,要么作为uber-jar.确保你使用FXGL 11 (例如11.3). 本教程大部分是 ...

  5. apple id无法创建_我们如何使用Apple的学习框架来创建我们的第一个应用程序

    apple id无法创建 by Jonata Corrêa 由JonataCorrêa 我们如何使用Apple的学习框架来创建我们的第一个应用程序 (How we used Apple's learn ...

  6. Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏 即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的.实际上,Unity在2013年发布 ...

  7. iOS cocos2d 2游戏开发实战(第3版)---你的第一个游戏!

    2019独角兽企业重金招聘Python工程师标准>>> 随着苹果公司不断地创新与发展,新的iPhone 5.iPad 4以及iPad mini产品相继问世,包括iOS与Xcode在内 ...

  8. 【吼吼睡cocos2d学习笔记】第四章 - 第一个游戏

    来让我们开始第一个游戏的制作. 这个过程可能有点艰辛,但是只要坚持下来,第一个游戏往往能给我们带来巨大的收益(当然这个收益不是经济上的:-P) 先上截图: iPad中: 游戏构思 角色 在屏幕的上方, ...

  9. 我用unity开发的第一款游戏demo心得

    本人目前大一,双非一本,谨以此博客,记录日后的unity学习过程与算法训练.希望能同大家一起进步!也希望三年后回过头来能看到一个优秀而拼搏的自己! 话不多说,上我的第一个demo(虽然是跟着视频做的) ...

  10. jMonkeyEngine译文 FlagRush1——通过SimpleGame创建你的第一个应用程序

    今天在实验室忙了一下,趁着有空整理了jME的第一篇翻译,献给想在Java3D方面发展的人. 注:本系列教程全部翻译完之后可能会以PDF的形式发布. 如果有什么错误可以留言或EMAIL:kakashi9 ...

最新文章

  1. 用串口电缆实现双机互联(图)
  2. 【Breadth-first Search 】515. Find Largest Value in Each Tree Row
  3. VS2015+qt5.11入门(实现计算机的加法和登录操作)
  4. java文件格式转换
  5. Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务
  6. 三种主流快平台技术测评,你更青睐谁?
  7. eclipse如何导入一个项目_如何建立一个完美的 Python 项目
  8. PNP三极管限流电路分析
  9. python环境调用OpenModelica模型并进行仿真计算
  10. enum ordinal java_Java Enum ordinal()方法与示例
  11. PDF修改文字的步骤
  12. 合宙Air724 Luat 开发接入ThingsCloud 物联网云平台
  13. 通过adb操作安卓亮屏、设置背光亮度、解锁、打开app
  14. xgboost输出模型解释
  15. 2022-02-22:机器人大冒险。 力扣团队买了一个可编程机器人,机器人初始位置在原点(0, 0)。小伙伴事先给机器人输入一串指令command,机器人就会无限循环这条指令的步骤进行移动。指令有两种
  16. SwiftUI捕获键盘提交动作在iOS15之前和之后的兼容实现
  17. linux更改终端颜色_如何更改Linux终端的颜色
  18. Elasticsearch:Data streams(三)
  19. 【PTA-训练day14】L2-026 小字辈 + L1-054 福到了
  20. Math.ceil与Math.floor与Math.round

热门文章

  1. POJ3076 Sudoku 舞蹈链 DLX
  2. [转][中文/英文]VC6 sp6补丁下载|VS6 sp6补丁下载 [防VC6卡死]
  3. Codeforce842D Vitya and Strange Lesson
  4. Android View动画
  5. C#和C++中的float类型
  6. 转载--如何使用# ## ... _ _VA_ARGS_ _
  7. 偶像dd_engi 的学习之路《转》
  8. Hibernate 中 set 里的属性及定义
  9. Selenium2(WebDriver)总结(一)---启动浏览器、设置profile加载插件
  10. 43、剑指offer--左旋转字符串