小型游戏是初学编程的最理想切入点。本书通过编写趣味游戏程序来引导读者学习Visual C++编程的方法和技巧,形式新颖活泼,别具一格,堪称是初学Visual C++编程入门与提高的最佳用书。\r\n 全书从Visual C++语言基础和编制简单的程序入手,将Visual C++编程和知识点有机地分散在“幸运52”、“速算24”、“拼图游戏”、“俄罗斯方块”、“流行歌曲实力大比拼”等多个趣味游戏的程序设计示例中,引导读者轻松学习Visual C++编程的相关知识、编程思想及技巧,其中包括Visual C++中消息处理、多媒体、图形图像、数据库处理以及网络编程等内容。\r\n 本书以示例教学方式来组织内容,集趣味性、直观性和可操作性于一体,适用于Visual C++初学者及对游戏程序感兴趣的电脑爱好者。
第1章 初识Visual C++\r\n 1.1 什么是Visual C++\r\n 1.2 C++的新特性\r\n 1.3 面向对象简介\r\n 1.3.1 基本概念\r\n 1.3.2 继承和多态\r\n 1.4 C++标准模板库简介\r\n 1.4.1 STL简介\r\n 1.4.2 算法\r\n 1.4.3 容器\r\n 1.4.4 迭代器\r\n 1.4.5 学习STL的一点建议\r\n 1.5 Visual C++集成开发环境简介\r\n 1.5.1 AppWizard工具\r\n 1.5.2 工程和工程工作区\r\n 1.5.3 Class Wizard工具\r\n 1.5.4 Wizard Bar工具栏\r\n 1.6 创建第一个工程\r\n 1.6.1 生成一个基于文档的工程文件\r\n 1.6.2 生成一个基于对话框的工程文件\r\n 1.7 运行工程文件\r\n 1.7.1 基于文档的程序\r\n 1.7.2 基于对话框的程序\r\n 1.8 Microsoft基本类库与应用程序框架\r\n 1.8.1 什么是Application Framework\r\n 1.8.2 为什么要用Application Framework\r\n 1.8.3 Microsoft基本类库(MFC)与Visual C++\r\n 1.8.4 纵观MFC\r\n 1.8.5 怎样才能学好MFC\r\n 1.8.6 用Application Wizard生成的程序的结构\r\n 1.9 本章知识点回顾\r\n第2章 “幸运52”游戏——Visual C++初步应用\r\n 2.1 “求最大公约数”简介\r\n 2.2 “求最大公约数”程序设计\r\n 2.3 程序说明\r\n 2.4 “幸运52”游戏简介\r\n 2.5 设计初始界面\r\n 2.5.1 生成基本的源代码框架\r\n 2.5.2 添加控件并设置其属性\r\n 2.5.3 生成管理对话框的类,定义成员变量\r\n 2.5.4 定义消息处理函数\r\n 2.5.5 引入图片资源\r\n 2.6 编写程序代码\r\n 2.7 完善游戏界面\r\n 2.7.1 焦点控制:SetFocus方法\r\n 2.7.2 对用户的意外操作进行响应\r\n 2.8 “速算24”游戏\r\n 2.9 设计初始界面\r\n 2.9.1 生成基本源代码框架\r\n 2.9.2 生成管理对话框的类,定义成员变量\r\n 2.9.3 定义消息处理函数\r\n 2.9.4 引入图片资源\r\n 2.10 编写程序代码\r\n 2.11 完善游戏界面\r\n 2.11.1 不同时期在按钮上显示不同文字\r\n 2.11.2 增加计时功能\r\n 2.12 本章知识点回顾\r\n第3章 拼图游戏——Visual C4++位图操作\r\n 3.1 相关知识概述\r\n 3.1.1 画点\r\n 3.1.2 画线\r\n 3.1.3 画形状\r\n 3.1.4 形状填充和翻转\r\n 3.1.5 滚动\r\n 3.1.6 绘制文本\r\n 3.2 一个简单的画图例程\r\n 3.2.1 生成程序框架\r\n 3.2.2 鼠标消息映射\r\n 3.2.3 记录曲线信息\r\n 3.2.4 小结\r\n 3.3 拼图游戏效果说明\r\n 3.4 创建初始界面\r\n 3.5 位图的读入\r\n 3.5.1 Windows位图的基本结构\r\n 3.5.2 位图资源的读入\r\n 3.5.3 自定义位图文件的读入\r\n 3.6 用Static控件显示位图\r\n 3.6.1 设置Static控件的初始位置\r\n 3.6.2 图格的显示\r\n 3.6.3 图格的移动\r\n 3.7 游戏的启动代码\r\n 3.8 判断游戏是否完成\r\n 3.9 游戏的进一步完善\r\n 3.9.1 添加帮助画面\r\n 3.9.2 用Status Bar显示提示信息\r\n 3.9.3 游戏计时器的加入\r\n 3.10 本章知识点回顾\r\n第4章 流行歌曲实力大比拼(上)——多媒体程序设计\r\n 4.1 游戏简介\r\n 4.1.1 游戏效果\r\n 4.1.2 游戏实现思路\r\n 4.2 各种媒体文件的播放和控制\r\n 4.2.1 MIDI文件的播放和控制\r\n 4.2.2 Wave文件的播放和控制\r\n 4.2.3 CD的播放和控制\r\n 4.2.4 AVI文件的播放和控制\r\n 4.2.5 其他媒体文件简介\r\n 4.3 录音机程序开发实例\r\n 4.3.1 录音机程序界面\r\n 4.3.2 创建录音机程序\r\n 4.3.3 完善录音机程序\r\n 4.4 “流行歌曲实力大比拼”多媒体程序设计\r\n 4.4.1 创建程序主界面\r\n 4.4.2 歌曲播放窗口的创建及控制按钮的添加\r\n 4.4.3 媒体播放类的创建\r\n 4.5 本章知识点回顾\r\n第5章 流行歌曲实力大比拼(下)——数据库编程基础\r\n 5.1 数据库基础知识\r\n 5.2 Visual C++数据库程序设计\r\n 5.2.1 ODBC技术\r\n 5.2.2 DAO\r\n 5.2.3 OLE DB\r\n 5.2.4 ADO\r\n 5.3 “流行歌曲实力大比拼”游戏的数据库编程\r\n 5.3.1 “流行歌曲实力大比拼”数据库编程介绍\r\n 5.3.2 使用Microsoft Access创建数据库\r\n 5.3.3 使用Visual C++建立数据库应用程序\r\n 5.3.4 记录集操作\r\n 5.3.5 用SELECT打开一个ODBC记录集\r\n 5.3.6 MFC基本控件的使用与系统完善\r\n 5.3.7 本游戏主要部分的源代码\r\n 5.3.8 “流行歌曲实力大比拼”游戏小结\r\n 5.4 本章知识点回顾\r\n第6章 用Visual C++开发动画小游戏\r\n 6.1 游戏设计基础\r\n 6.2 “贪食蛇”游戏设计\r\n 6.2.1 游戏说明\r\n 6.2.2 界面选择\r\n 6.2.3 “贪食蛇”数据结构和运动算法\r\n 6.2.4 输入控制\r\n 6.2.5 游戏显示和动画效果\r\n 6.2.6 计时器\r\n 6.2.7 设计总结\r\n 6.3 “俄罗斯方块”游戏\r\n 6.4 创建界面的主框架\r\n 6.4.1 用ClassWizard生成CPropertySheet\r\n 6.4.2 CPropertySheet类成员\r\n 6.4.3 成员函数\r\n 6.5 显示背景\r\n 6.6 方块的显示和控制\r\n 6.6.1 显示区域的创建\r\n 6.6.2 定义方块的数据结构\r\n 6.6.3 方块的显示\r\n 6.6.4 键盘控制\r\n 6.6.5 计时器\r\n 6.7 显示成绩和排名\r\n 6.8 制作带图标的按钮\r\n 6.9 数字的特殊效果显示\r\n 6.10 用ActiveX美化界面\r\n 6.11 游动字幕About Box和说明的制作\r\n 6.12 本章知识点回顾\r\n第7章 Visual C++网络编程\r\n 7.1 网络协议与WinSock编程简介\r\n 7.2 TCP通信趣味程序——远程控制程序\r\n 7.2.1 程序简介\r\n 7.2.2 建立支持WinSock的Windows程序\r\n 7.2.3 服务器端设计\r\n 7.2.4 客户端设计\r\n 7.3 创建我们自己的Socket通信类\r\n 7.3.1 Windows动态链接库(DLL)程序\r\n 7.3.2 创建CTCPSocket类\r\n 7.3.3 建立TCP连接\r\n 7.3.4 连接方连接函数\r\n 7.4 网络五子棋对战\r\n 7.4.1 用AppWizard建立工程\r\n 7.4.2 生成用户界面\r\n 7.4.3 编辑用户菜单\r\n 7.5 本章知识点回顾
许多编程初学者可能都会遇到以下问题:
·初学编程,面对复杂的开发语言、开发环境,感到无从下手
·在学习编程的过程中,觉得枯燥乏味
·在学习一段时间之后仍然觉得还没有真正入门、难于提升
本书通过趣味游戏示例,以月标式教学为主,使得你的学习不再是一件枯燥乏味、无从下手、难于入门与提升的事情。
Visual C++是目前PC机上最优秀的Windows应用程序开发环境之一,它把完全可视化与真正的面向对象及C++的高效率、高性能完美地结合起来。面向对象是C++的核心,面向对象的软件开发方法起源于20世纪80年代初,但自20世纪90年代以来,才得到迅猛发展,成为当前最重要的一种软件开发方法。目前世界上多数大学在讲授面向对象的课程时,一般都以C++语言作为基础。读者在阅读本书时,应紧紧抓住面向对象这一核心思想,只有真正理解了它,才能深刻领会Visual C++的编程思想,掌握其精华。
本书面向学习Visual C++程序开发的初、中级用户,通过若干个趣味游戏程序来引导读者学习Visual C++的编程技巧,全书共分为7章。
第1章主要介绍了面向对象的软件开发方法和Visual C++开发环境,并通过一个简单的对话框工程的创建和MFC类库的介绍,让读者初步掌握Visual C++开发环境的使用。
第2章通过编制一个模拟流行的电视节目“幸运52”的小游戏,介绍了Visual C++的初步应用,重点讲述了如何生成源代码基本框架及管理对话框的类、控件的添加、消息处理函数的定义、图片资源的引入、焦点控制及如何对用户的意外操作进行响应,让读者获取有关Visual C++程序设计的感性认识。
第3章编写的“拼图”游戏是和文曲星里的拼图一样的游戏。这一章讲述Visual C++中位图的基本结构、位图资源的读入和显示、图格的移动;游戏完成条件的判断、帮助画面的添加、提示信息的显示及游戏计时器的加入等内容。
第4章和第5章介绍了一个综合游戏“流行歌曲实力大比拼”的制作,从中讲解了Visual C++编程中最重要的两个部分——多媒体编程和数据库编程。
第4章通过“流行歌曲实力大比拼”游戏,讲述了Visual C++多媒体编程,内容包括MIDI文件、Wave文件、CD等多媒体文件格式的播放和控制,并讲解了游戏中多媒体播放类的创建,从而实现了游戏中多媒体部分的创建。
第5章通过“流行歌曲实力大比拼”的数据库实现,介绍了Visual C++编程中非常重要的一环——数据库编程。本章介绍了Visual C++数据库编程基础、数据库的创建、数据的添加、字段的定义、Visual C++与数据库的接口、用户DSN的设计、记录集的操作、MFC基本控件响应等内容,并最终完成整个游戏的设计制作。
第6章通过编写“贪食蛇”和“俄罗斯方块”游戏,综合介绍Visual C++语言编程。游戏设计过程中涉及到游戏框架、游戏界面的编写,背景的显示,方块的显示,以及控制如何截获键盘操作,如何显示成绩和排名,图形按钮和流动字幕的制作,数字的特殊效果显示等内容。通过这一章的介绍,读者可以领略到Visual C++的整体编程风格。
第7章讲述如何利用Visual C++创建网上聊天程序,主要介绍了网络的基本知识、动态链接库的生成、创建基于TCP协议的Socket类、在DLL中添加CTCPSocket、WinSock、连接的建立等内容,使读者初步掌握Visual C++网络编程。
本书配套光盘提供了书中大部分示例的源代码。
衷心希望本书能够对Visual C++的初学者提供一定的帮助。本书的错误和疏漏在所难免,欢迎广大读者批评指正。读者若有什么疑问或意见建议,请发电子邮件至:zhyang@vip.sina.com。