《Visual Basic游戏编程21天自学通》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Clayton Walnum著;王国春,施妍然译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2001
  • ISBN:790063732X
  • 页数:531 页
图书介绍:本书以三周的学习计划,21天的课时按排,教你学会使用Visual Basic编写自己的游戏程序的方法和技巧。全书从介绍游戏编程的基本知识和编制简单的游戏程序入手,通过丰富的示例和作者提供的示例源代码,学习游戏编程的艺术、Windows API调用,游戏屏幕绘制、文本绘制、编写游戏算法、图片显示、播放动画、声音效果以及游戏程序检测等一系列从设计到编制的全部工程;学习编制实时游戏,为RPG游戏创建编辑器等高级技术,从专家级的游戏编制经验中学会使用VB达到创建自己富有吸引力的作品。本书面向有一定VB基础的用户,从自学的特点来编写。你可以一章一章逐步学习也可以选择你最感兴趣的章节来学习。

第1周 概述 1

第1天 游戏编程的艺术 3

1.1 复杂、但不是太复杂 3

1.2 游戏编程的内在益处 3

1.3为何选择VB 4

1.4 最适合VB的游戏类型 4

1.4.1 直接使用VB的游戏 5

1.4.1 调用WindowsAPI的VB游戏 5

1.5 游戏编程的要素 5

1.5.1 游戏设计 6

1.5.2 图形设形 6

1.5.5 图像处理 7

1.5.3 声音制作 7

1.5.4 控制和界面 7

1.5.6 动画 8

1.5.7 算法 8

1.5.8 人工智能 9

1.5.9 游戏测试 9

1.6 总结 9

1.7 问与答 10

1.8 实验室 10

1.8.1测验 10

1.8.2 练习 10

2.1 在VB中使用颜色 11

2.1.1 颜色常数 11

第2天 用VB绘制图形 11

2.1.2 系统颜色 12

2.1.3 RGB函数 13

2.1.4 QBColor函数 14

2.1.5 十六进制数 14

2.2 绘制形状 15

2.2.1 Line方法 15

2.2.2 Circle方法 17

2.3 线条和填充属性 20

2.3.1 Draw Width属性 20

2.3.2 DrawMode属性 20

2.3.4 FillColor和FillStyle属性 21

2.3.3 DrawStyle属性 21

2.4 图形控件 22

2.4.1 线条和形状控件 22

2.4.2 图像框控件和图片框控件 22

2.5 Face Catch游戏 23

2.5.1 玩Face Catch 23

2.5.2 建立Face Catch游戏 24

2.5.3 理解Face Catch 30

2.6 总结 33

2.7 问与答 33

2.8 实验室 34

2.8.1 测验 34

2.8.2 练习 34

3.1.2 FontTransparent 属性 35

3.1.1 ForeColor属性 35

3.1 设置文体颜色 35

第3天 用字体和VB图形建游戏画面 35

3.2 应用字体 37

3.2.1 Font 属性 37

3.2.2 字体的属性 37

3.3 Nighshade文体冒险游戏 38

3.3.1 玩Nightshade 38

3.3.2 故事背景 39

3.3.3 进入游戏 39

3.3.4 Nightshade的暗示 40

3.3.5 Nightshade的帮助菜单 42

3.3.6 建立Nightshade 42

3.3.7 理解Nightshade 46

3.4 总结 64

3.5 问与答 65

3.6 实验室 65

3.6.1 测验 65

3.6.2 练习 65

第4天 开发程序代码 66

4.1 Life游戏的故事背景 66

4.2 “Life”的规则 66

4.3 “Life”的实现 67

4.4 速度问题 68

4.5 链表 69

4.6 面向对象的链表 73

4.7 探索List类 75

4.8 细胞链表 77

4.9 Life程序 79

4.9.1 玩“Life”游戏 79

4.9.2 建立“Life” 80

4.9.3 理解Life 90

4.10 总结 99

4.11 问与答 99

4.12 实验室 100

4.12.1 测验 100

4.12.2 练习 100

第5天 显示和操作图像 101

5.1 图像框控件的详细介绍 101

5.1.1 图像框控件的重要属性、方法和事件 101

5.1.2 在图像框控件中载入图片 102

5.1.3 用图像框控件改变图片大小 103

5.2 图片框控件的详细介绍 104

5.2.1 图片框控件的重要属性 104

5.2.2 在图片框控件中载入图片 106

5.2.3 用图片框控件改变图片大小 106

5.2.4 PaintPicture方法 107

5.3 Letter Tiles智力游戏 109

5.3.1 玩Letter Tiles 109

5.3.2 建立Letter Tiles游戏 110

5.3.3 理解Letter Tiles游戏 120

5.4 创建游戏作弊模式 126

5.5 总结 127

5.6 问与答 127

5.7.2 练习 128

5.7.1 测验 128

5.7 实验室 128

第6天 用WindowsAPI进行图形编程 129

6.1 调用WindowsAPI 129

6.1.1 声明WindowsAPI函数 129

6.1.2 提供WindowsAPI的类型声明 131

6.1.3 调用WindowsAPI函数 132

6.2 用WindowsAPI绘图 133

6.2.1 用WindowsAPI绘制线条 133

6.2.2 用WindowsAPI绘制形状 136

6.3 用WindowsAPI操作控件图片 139

6.3.1 获取位图信息 140

6.3.2 操作位图 143

6.3.3 理解像素格式 145

6.4 总结 148

6.5 问与答 148

6.6 实验室 148

6.6.1 测验 149

6.6.2问与答 149

第7天 编写实时游戏 150

7.1 玩Battle Bricks 150

7.2 建立Battle Bricks 151

7.2.1 建立Battle Bricks的用户界面 151

7.2.2 增加窗体处理器 153

7.2.3 增加初始化程序 154

7.2.4 增加常规的游戏子程序 155

7.2.5 增加FindBrick函数 161

7.2.6 完成游戏 163

7.2.7 理解Battle Bricks函数 165

7.2.8 执小球触发的动作 169

7.2.9 击中砖块 172

7.2.10 击毁砖块 175

7.2.11 获取键盘输入和移动挡板 176

7.2.12 摧毁城墙 178

7.3 总结 179

7.4 问与答 179

7.5 实验室 180

7.5.1 测验 180

7.5.2 练习 180

第1周 复习 181

第2周 概述 183

第8天 编制纸牌游戏 184

8.1 纸牌处理的函数 184

8.2 ClsCard类 184

8.3 clsDeck类 188

8.4 显示clCard 和clsDeck类 196

8.4.1 建立程序 196

8.4.2 运行演示程序 202

8.4.3 使用clsDeck类 204

8.5 21点,谁都会 205

8.5.1 建立21点游戏的用户界面 206

8.5.2 添加对象处理器 207

8.5.3 完成游戏 209

8.5.4 玩21点 211

8.5.5 编制21点 212

8.7 问与答 213

8.6 总结 213

8.8 实验室 214

8.8.1 测验 214

8.8.2 练习 214

第9天 Poker Squares 215

9.1 玩 Poker Squares 215

9.2 建立 Poker Squares 217

9.2.1 建立 Poker Squares的用户界面 218

9.2.2 添加对象处理器 219

9.2.3 完成游戏 222

9.2.4 理解 Poker Squares 233

9.4 总结 240

9.3 积分榜文件 240

9.5 问与答 241

9.6 实验室 241

9.6.1 测验 241

9.6.2 练习 241

第10天 编制电脑对手 242

10.1 人工智能简介 242

10.2 介绍水晶游戏 242

10.3 玩水晶 243

10.4 建立水晶 244

10.4.1 建立水晶的用户界面 244

10.4.2 添加对象处理器 246

10.4.3 完成游戏 247

10.4.4 理解水晶 259

10.5 总结 265

10.6 问与答 266

10.7 实验室 266

10.7.1 测验 266

第11天 为游戏添加声音 267

11.1 录制声音 267

11.1.1 编辑声音 268

11.1.2 制作声音效果 270

11.2 用VB播放声音效果 271

11.2.1 多媒体控件 271

11.2.2 WindowsAPL波形函数 273

11.3.1 在工程中添加DirectX 276

11.3 使用DirectSound 276

11.3.2 声明DirectSound变量 277

11.3.3 创建DirectSound对象 277

11.3.4 设置优先级 277

11.3.5 建立DirectSoundBuffer对象 277

11.3.6 播放声音 278

11.3.7 DirectSound程序 278

11.4 为Battle Bricks 添加声音效果 280

11.5 总结 283

11.6 问与答 283

11.7 实验室 284

11.7.1 测验 284

11.7.2 练习 284

12.1 什么是RPG 285

第12天 玩游戏:龙王RPG工程 285

12.2.1 购买装备 286

12.2 玩龙王游戏 286

12.2.2 在地牢中移动 289

12.2.3 在地牢中发现事物 289

12.2.4 随机创建地牢 294

12.2.5 载入地牢 294

12.3 建立地牢 294

12.3.1 创建龙王主窗体 295

12.4 为用户界面添加对话框 299

12.5 总结 307

12.7.1 测验 308

12.7.2 练习 308

12.6 问与答 308

12.7 实验室 308

第13天 编制简单 RPG 309

13.1 添加对象处理器 309

13.1.1 添加常规的游戏源代码 312

13.1.2 为数据类型和子程序添加一个模块 324

13.1.3 添加对话框源代码 328

13.1.4 最后的细节 334

13.1.5 理解龙王 335

13.1.6 地牢地图 336

13.1.7 初始化游戏 337

13.1.8 处理角色参数 338

13.1.9 移动玩家 338

13.1.10 与骷髅战斗 343

13.1.11 制作音效 345

13.2 总结 346

13.3 问与答 346

13.4 实验室 346

13.4.1 测验 346

13.4.2 练习 347

14.1 使用龙王地牢编辑器 348

第14天 制作游戏编辑器 348

14.2 建立龙王地牢编辑器 349

14.2.1 建立地牢编辑器的主窗体 349

14.3 创建菜单 355

14.4 添加“About” 对话框 355

14.4.1 添加对象处理器 356

14.4.2 添加常规源代码 360

14.1.3 理解DungeonEditor 364

14.1.4 工具箱 365

14.1.5 在地牢中置房间或事物 366

14.1.6 保存和载入地牢数据 368

14.7 实验室 369

14.7.1 测验 369

14.6 问与答 369

14.5 总结 369

14.7.2 练习 370

第2周 复习 371

第3周 概述 373

第15天 游戏赏玩和用户界面:Moonlord工程 374

15.1 故事背景 374

15.2 游戏规则 375

15.2.1 舰桥(Bridge) 376

15.2.2 巡航(Cruise) 377

15.2.3 状态(Status) 377

15.2.6 短距扫描仪 378

15.2.5 长距扫描仪 378

15.2.4 时空弯曲(Warp) 378

15.3 建立Moonlord的用户界面 381

15.4 添加“About”对话框 385

15.5 总结 388

15.6 问与答 388

15.7 实验室 388

15.7.1 测验 388

第16天 记录游戏信息:Moonlord工程 389

16.1 为Moonlord添加枚举量、常量和变量 389

16.1.1 添加声明 389

16.1.2 添加初始化代码 392

16.2.1 Moonlord的变量和常量 397

16.2 理解Moonlord的初始化 397

16.2.2 初始化程序变量 400

16.2.3 初始化游戏变量 401

16.2.4 初始化游戏面板 402

16.2.5 初始化短距扫描窗口的内容 403

16.3 总结 404

16.4 实验室 405

16.4.1 测验 405

16.4.2 练习 405

第17天 编制主屏幕:Moonlord工程 406

17.1 为主屏幕添加图形 406

17.2 更新对象处理器 409

17.3.1 按钮处理器 417

17.3 理解源代码 417

17.3.2 按扭帮助程序的子程序 419

17.3.3 获得鼠标单击 420

17.3.4 命令子程序 420

17.3.5 常规子程序 422

17.4 总结 426

第18天 编制短距扫描屏幕:Moonlord 工程 427

18.1 为按钮处理器添加代码 427

18.2 命令子程序 429

18.3 常规子程序 434

18.4 游戏函数 438

18.6 理解源代码 443

18.6.1 DoShortCruise子程序 443

18.6.2 DoRam子程序 444

18.6.3 TrackPhoton子程序 445

18.6.4 CheckShortCruise函数 447

18.8.1 测验 449

18.8 实验室 449

18.8.2 练习 449

18.7 总结 449

第19天 编制状态屏幕:Moonlord工程 450

19.1 更新按钮代码 450

19.2 添加子程序 451

19.3 添加函数 452

19.4 零星补充 453

19.5 总结 453

19.6 实验室 453

19.6.1 测验 453

19.6.2 练习 453

第20天 添加动画:Moonlord工程 454

20.1 主屏幕上的动画 454

20.2 在短距扫描窗口中的动画 456

20.3 添加新函数 460

20.4 总结 461

20.5 实验室 461

20.5.1 测验 461

20.5.2 练习 461

第21天 添加声音:Moonlord工程 462

21.1 添加:DirectSound代码 462

21.2 播放音响效果 465

21.4.1 测验 466

21.4 实验室 466

21.4.2 练习 466

21.3 总结 466

第3周 复习 467

A.1.1 测验 468

A.1 第1天答案 468

A.1.2 练习 468

附录A 测验答案 468

A.2.1 测验 469

A.2.2 练习 469

A.2 第2天答案 469

A.3 第3天答案 470

A.3.1 测验 470

A.4 第4天答案 471

A.4.1 测验 471

A.3.2 练习 471

A.4.2 练习 472

A.5 第5天答案 474

A.5.1 测验 474

A.6 第6天答案 475

A.6.1 测验 475

A.5.2 练习 475

A.6.2 练习 476

A.7.1 测验 478

A.7.2 练习 478

A.7 第7天答案 478

A.8 第8天答案 480

A.8.1 测验 480

A.8.2 练习 481

A.9 第9天答案 482

A.9.1 测验 482

A.9.2 练习 483

A.10 第10天答案 484

A.10.1 测验 484

A.11 第11天答案 485

A.11.1 测验 485

A.12 第12天答案 486

A.12.1 测验 486

A.11.2 练习 486

A.13 第13天答案 487

A.13.1 测验 487

A.13.2 练习 488

A.14 第14天答案 489

A.14.1 测验 489

A.16 第16天答案 490

A.15.1 测验 490

A.16.1 测验 490

A.15 第15天答案 490

A.17 第18天答案 491

A.17.1 测验 491

A.19.第20天答案 492

A.18.1 测验 492

A.19.1 测验 492

A.18 第19天答案 492

A.20 第21天答案 493

A.20.1 测验 493

附B 设计电脑游戏图形 494

B.1 简单3D制作 494

B.2 如何使2D方形变成3D立方体 495

B.3 偏离压印法来制作3D效果 497

B.4 专业提示和窍门 498

B.4.2 设计图标 499

B.4.3 绘制金属 499

B.4.1 选择可确认对象 499

B.4.4 绘制玻璃 500

B.4.5 绘制发光对象 501

B.4.6 绘制垂落阴影 501

B.4.7 光滑图形 502

B.5 总结 502

附录C 游戏程序员使用的WindowsAPI函数 503

附录D DirectX初步 509

D.1 为何游戏程序员需要快速的图形处理 509

D.2 进入DirectX 510

D.3 DirectX组件 510

D.4 安装DirectX7 SDK 511

D.5 用DirectDraw编程 511

D.6 创建DirectX应用程序 512

D.7 初始化DirectDraw 519

D.7.1 创建DirectDraw对象 519

D.7.2 请求合作级 520

D.7.3 创建DirectDrawSurface对象 520

D.7.4 剪裁和透明度 522

D.7.5 演示动画 524

D.8 总结 527

附录E 游戏编程资源 528

E.1 VB游戏编程网站 528

E.2 高级游戏编程网站 529

18.5 剩余工作及结束 4432