用Visual C++编写属于自己的游戏.docx

上传人:b****2 文档编号:1602663 上传时间:2023-05-01 格式:DOCX 页数:6 大小:100.42KB
下载 相关 举报
用Visual C++编写属于自己的游戏.docx_第1页
第1页 / 共6页
用Visual C++编写属于自己的游戏.docx_第2页
第2页 / 共6页
用Visual C++编写属于自己的游戏.docx_第3页
第3页 / 共6页
用Visual C++编写属于自己的游戏.docx_第4页
第4页 / 共6页
用Visual C++编写属于自己的游戏.docx_第5页
第5页 / 共6页
用Visual C++编写属于自己的游戏.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

用Visual C++编写属于自己的游戏.docx

《用Visual C++编写属于自己的游戏.docx》由会员分享,可在线阅读,更多相关《用Visual C++编写属于自己的游戏.docx(6页珍藏版)》请在冰点文库上搜索。

用Visual C++编写属于自己的游戏.docx

用VisualC++编写属于自己的游戏

用VisualC++编写属于自己的游戏

用VisualC++编写属于自己的游戏

 

  

我的地盘我做主,编写属于自己的游戏永远是玩家的最高境界。

这期程序谷带给大家的是辽宁肖占龙朋友编写的麻将对对碰小游戏,连小编我都爱不释手,欲罢不能。

为了节约宝贵的版面,杂志内的文章有部分删节,完整文章的电子版以及VisualC++项目文件可以在C++朋友按部就班,跟着文章一步步操作。

如果你想一睹为快,可以直接下载编译完成的游戏,地址是      ——程序谷栏目编辑 东渐

在这篇文章中我将向大家介绍麻将对对碰游戏的完整制作过程。

这个游戏有点类似于早期街机上四川麻将的玩法,从四周找起,找到两个一样的就可以用鼠标左键确认消除。

每人每次有60秒的时间去完成。

此外,按下F1键可以重新开始,ESC退出游戏。

我把游戏做成可以允许两个玩家轮流游戏的竞赛方式,这样你就可以和你的女朋友一起玩,省的她总是埋怨你忙着玩游戏而忽略了她的存在(见图)。

本游戏是用VisualC++6.0、DirectXSDK7.0编写的。

1.DirectXSDK

首先介绍一下DirectXSDK。

DirectXSDK是微软推出的一套在Windows中开发多媒体程序的API函数集,可以在

在DirectXSDK的帮助下,程序员可以专注开发游戏本身,涉及到2D、3D、声音以及网络等的功能,只要直接调用相应组件即可。

我们的麻将对对碰只用了其中的图像功能。

2.在VC中配置DirectXSDK

首先安装DirectXSDK。

之后,需要在VisualC++中配置一下,指定它的路径:

依次选择“工具”、“选择”菜单,在“目录”页中的Includefiles中添加DirectXSDK的Include目录,然后在Libraryfiles中添加DirectXSDK的Lib目录。

3.编写游戏

首先在VisualC++中建立一个空的Win32Appllcation工程。

接着,往工程中加入stdafx.h文件,并且在stdafx.h文件中加入#include,表示将要使用DirectDraw组件。

在向工程中加入资源文件后,使用Alt+F7调出设置对话框,在General下的MicrosoftFoundationClasses选择useMFCinaStaticLibarary。

然后加入Dxguid.lib和ddraw.lib。

之后为工程建立一个窗口类,在窗口类的头文件中把构造函数声明修改为public。

接下来我们还要定义一些函数和变量,其中DXInit()为DirectDraw的初始化函数,它是DirectX编程的核心,所有的绘图初始化都在其中。

当然,DXInit()只是建立了主绘图页、实现后缓冲区和主绘图页的连接,并没有建立幕后内存区。

函数loabmp()中实现了建立幕后内存区和显示位图的功能。

如何使用这三个绘图页呢?

为了避免闪烁现象,我们首先把位图贴到幕后内存区中,然后在贴到后缓冲区,再利用翻页的方式绘出要显示的位图内容。

以上操作分别由BitFast()贴图函数和Filp()翻页函数完成。

具体的使用方法,请参阅有关资料。

为了方便以后的游戏操作,我就麻将图像排成序号:

1-9代表1-9万、10-18代表1-9条、19-29代表1-9饼、28-34分别代表东、南、西、北、中、发、白。

这样作的好处是简化了判断条件成立的条件,因为麻将每张都有四个,所以在麻将信息中加入了n用来判断该张发出的次数,h是用来存放麻将的类型。

接着使用“插入”、“新建类”建立应用程序类,在Classtype对话框中选择GenericClass,在Name中输入类名CMajiangApp,在Baseclass(es)中的DerivedFrom中输入CWinApp。

然后分别为工程添加WM_CREATE、WM_TIMER消息并填写相应代码,从而可以在屏幕上显示LOGO和麻将图像了。

游戏的主要功能是在play()中完成的,代码非常简单,核心问题就是如果判断所选两个麻将是否相同。

这个过程请参见2004年18期程序谷刊登的《用VC作的一个扑克游戏》一文中的方法。

为了响应快捷键,向工程加入WM_KEYDOWN消息;为了实现右键取消功能,为工程加入WM_RBUTTONDOWN消息;为了实现左键选择功能,为工程加入WM_LBUTTONDOWN消息。

最后加入fp()发牌函数、Scoreshow()和timeshow()函数,这样就可以实现游戏的功能了。

4.小结

这个游戏主要应用了当前比较流行的DirectX技术。

如果你有兴趣,可以把它改成网络版,或者可以加上音效。

欢迎到我的主页交流,网址是:

[YY19]

笔者第一次接触到多媒体,是上学时买的一套多媒体光盘,它集成了图像、动画、声音、文字等多种元素,使得学习的过程有声有色,比如:

在学语文时,有配乐朗诵;学化学时,只要动动鼠标就可以做氧气燃烧等各种化学试验;做数学题时它能帮我判断对错并提示出错原因等。

当时就想,编制多媒体光盘的程序员们,真的是太神奇了。

直到后来学会了Authorware,才发现不会编程也能制作多媒体光盘,其实我也可以这么牛的!

(注:

本文涉及到的程序、素材可在

整装待发,简简单单做准备

实例描述:

我用Authorware制作的第一个完整的软件,是一本多媒体相册,别看它小,功能却很完备,可以通过鼠标点击或使用热键的方式自由浏览照片,照片切换的时候能显示多个又酷又炫的过渡效果,浏览的过程中还有优美的音乐一路伴随呢。

希望这个实例也能成为你学习Authorware的一个好起点。

如图1所示,是这个多媒体相册最终效果的截图。

首先为本项目建立一个文件夹(本例中为“D:

\dzxc”),在其下再建两个子文件夹Photo和Other,子文件夹分别存放将要显示的照片和主界面素材。

1.准备背景图片和音乐

用Photoshop之类的图像处理软件制作一幅640像素×480像素大小的图片,将其命名为bj.jpg;准备一个MP3格式的音乐文件,将其命名为yy.mp3。

将这些素材都复制到“D:

\dzxc\other”文件夹中。

2.按钮图片的制作

找三张尺寸相同、形态稍有差异的图片(建议用PhotoImpact制作,其中带有大量按钮模板),分别命名为First.jpg、First_down.jpg和First_over.jpg(见图2),该组图片将用于显示“第一张”按钮的三种不同状态。

用同样方法制作另外四组图片:

Prv.jpg、Prv_down.jpg和Prv_over.jpg对应于按钮“上一张”;Next.jpg、Next_down.jpg和Next_over.jpg对应于“下一张”;Last.jpg、Last_down.jpg和Last_over.jpg对应于“末一张”;Exit.jpg、Exit_down.jpg和Exit_over.jpg对应于“退出”。

将这五组按钮图片全部复制到“D:

\dzxc\other”中。

3.把你的照片放进相关文件夹

准备好你的照片,以JPG格式保存于“D:

\dzxc\Photo”文件夹中。

本例以五张花卉图片为例,分别命名为Pic01.jpg、Pic02.jpg、Pic03.jpg、Pic04.jpg和Pic05.jpg。

实战操作,轻轻松松做软件

第一步:

启动Authorware7.0中文版后会弹出新建对话框,点击“不选”按钮新建一个空白的文件。

再单击菜单命令“文件→保存”将新建文件保存为dzxc.a7p(保存于上面所建立的“D:

\dzxc”文件夹中)。

在其属性面板(如果属性面板没有显示,可按Ctrl+I键将其调出)的“回放”选项卡中,将大小设置为“640x480(VGA,Mac13")”,单击勾选“屏幕居中”项,并清除掉其他选项(见图3)。

第二步:

用鼠标按住声音图标(图标工具箱右侧第五个)不放并拖动到设计窗口的主流程线上,放开鼠标键时则主流程线上会增加一个声音图标。

默认图标名称为“未命名”,双击图标名称可以输入新的名字,本例将其改名为“背景音乐”(见图4)。

点选“背景音乐”图标,在其属性面板中单击“导入”按钮,在打开的浏览窗口中点选“链接到文件”项,再选中上面已准备好的声音文件(D:

\dzxc\other\yy.mp3),单击“导入”按钮返回设计窗口。

单击声音属性面板上的“计时”选项卡,选择执行方式为“永久”,将播放设置为“直到为真”,并在条件框中输入“FALSE”(不含引号)。

第三步:

在主流程线上拖放一个显示图标,命名为“背景图片”。

双击这个图标打开演示窗口,接着单击菜单命令“插入→图像”,在弹出的图像属性窗口中单击“导入”按钮,然后以“链接到文件”的方式导入前面已准备好的背景图片bj.jpg。

按“确定”返回后,再拖动图片调整其位置,让它恰好覆盖整个演示窗口。

按Ctrl+B键返回设计窗口。

第四步:

拖放一个框架图标到主流程线上,命名为“影集”,接着在“影集”图标右侧拖放五个群组图标(根据照片数目而定),分别命名为“照片1”、“照片2”、“照片3”、“照片4”和“照片5”。

至此,本例主流程线上的图标设置完毕。

第五步:

双击“照片1”图标,打开二级流程线设计窗口,并拖入一个显示图标,命名为“照片”(见图5)。

双击“照片”图标,在演示窗口中导入前面准备好的图片Pic01.jpg。

拖动图片可移动它的位置,点选图片后它的四周会显示八个锚点,拖动锚点可调整图片的大小。

双击主流程线上的“背景图片”图标显示出背景图片,然后用鼠标点击设计窗口的标题条返回(不要按Ctrl+B键返回),再按Shift键不放并双击二级流程线上的“照片”图标,这样可使照片与背景图片同时显示在演示窗口中,此时即可以背景图片为参照,调整照片的大小及位置,使其正好填充在背景图片中的像框内。

以同样的方法为“照片2”、“照片3”、“照片4”和“照片5”上也插入对应的照片(Pic02.jpg、Pic03.jpg、Pic04.jpg、Pic05.jpg)。

第六步:

Authorware中预置了好几十种转场效果供选择,合理使用能让多媒体相册更富有情趣。

双击“照片1”中的“照片”显示图标打开该照片,在其属性面板中单击“特效”右侧的按钮打开一个窗口,选择某一特效后单击“应用”按钮可即时预览效果。

如对所选的效果感到满意的话,单击“确定”返回即可。

以同样的方法为其他显示照片设置转场效果。

第七步:

双击“影集”图标打开框架内部的导航设计窗口,点选其流程线上的“灰色导航面板”图标并按Del键删除它;将交互图标“导航超链接”改名为“播放控制”,并删除其中的“返回”(Goback)、“最近页”(Recentpages)和“查找”(Find)三个分支;在退出流程线上添加一个计算图标,将其命名为“结束”(见图6)。

第八步:

单击“第一页”(Firstpage)分支图标上方的小椭圆形(即按钮交互标志),在其属性面板的“按钮”选项卡的“鼠标”中设置“鼠标指针”为“鼠标指针(6)”(手型),并在“快捷键”框中输入“Home”;单击“按钮”进入按钮对话框,再单击“添加”打开按钮编辑对话框,分别点选“未按”、“按下”和“在上”,并通过右下方的“导入”按钮分别导入与三种状态相对应的图标文件(即上面我们制作的按钮图片First.jpg、First_down.jpg和First_over.jpg),然后单击两次“确定”返回,并拖动新按钮到合适的位置。

用同样的方法设置“上一页”(Previouspage)、“下一页”(Nextpage)、“最后页”(Lastpage)和“退出框架”(Exitframework)分支的交互属性,将其快捷键分别定义为“PageUP”、“PageDown”、“End”和“Esc”。

最后双击“结束”图标,在打开的编辑窗口中输入一行表示退出程序的代码“Quit()”(不含引号),一个功能完备的多媒体相册便制作完成了。

按下Ctrl+R键,欣赏一下自己的多媒体佳作吧。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2