计算机学院职权清单,院系:计算机学院.DOC

院系:计算机学院.DOC

院 系:计 算 机 学 院

实验课程:操作系统

实验项目:天才Go Go Go 游戏制作

指导老师:尹传勇

开课时间: 2006 ~ 2007 年度第 1 学期

专 业:软件工程

班 级:2004级

陈华葵(20042104038)

华南师范大学教务处

一. 实验名称

天才Go Go Go 游戏制作

二. 实验目的

1、通过对Windows内核的相关实验,进一步深入了解Windows的原理和运行机制,为日后更加熟练地使用Windows和利用Windows进行项目开发打下坚实基础。

2、了解并掌握Windows系统的程序运行机制以及程序开发手段,熟悉Windows应用程序特有的设计模式,并能进行简单的Windows应有程序的开发。

3、熟悉Windows应用程序的事件驱动机制,并能在程序设计中有所运用,达到学以致用的目的。

4、了解动态链接库(DLL)的概念和原理,理解DLL在Windows应用程序中所发挥的作用,并掌握使用DLL技术来进行Windows应用程序开发的方法。

5、能清楚分析出主应用程序和动态链接库(DLL)之间的关系,能合理的分配主程序和DLL各自实现的功能

6、.制作紧张和刺激的游戏,体验游戏的美感。

三. 实验内容与设计思路

1、基于MFC下的对话框程序,利用Visual C++6.0来作为Window应用程序的开发工具,实现Window的窗口式的应用程序架构。

2、利用VC++ 6.0来进行动态链接库的开发,可以用Win32 Dynamic Link Library来创建一个DLL工程。DLL其实就是一个可执行程序模块,模块中包含了可以被其它应用程序或其它DLL共享的程序代码和资源。本次实验将通过动态链接实现背景音乐的播放。

3、在显示对话框的同时,随机抽取的一组数组(密码),按倒序的形式动态输出,伴随着的有背景音乐。对话框的入口是WM_Instance(),对话框显示时,主程序调用该函数对系统的变量进行初始化。同时在函数WM_ONCREATE(),设置了系统的计时器,用SetTime()函数来启动计时器,实现了数组元素的动态输出。

在对话框的初始函数中,调用了VC++6.0的函数PlaySound(),来播放音乐。音乐的播放,运用了动态链接DLL:创建一个Win32 Dynamic Link Library工程后,就为工程可以添加头文件和源文件了。头文件必须显式地显示的声明DLL的导出函数。

4、密码输出完毕一段时间,密码被屏蔽,允许用户输入。输入的值与密码比较,如果符合,则进入下一关,否则,再次出现密码,如此循环,直到游戏结束(在这个过程中,有一定的时间限制,操作必须在规定的时间内,如果时间到,则游戏停止)。

四、程序流程图

五、源代码主要分析

1、设置系统的计算器,循环调用默认函数

int SecDialog::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

if (CDialog::OnCreate(lpCreateStruct) == -1)

return -1;

SetTimer(1,1000,NULL);//设置系统计算器,

return 0;

}

2、启动系统的计算器,定时响应,以带动动态输出的效果

void SecDialog::OnTimer(UINT nIDEvent)

{

// TODO: Add your message handler code here and/or call default

CDialog::OnTimer(nIDEvent);

char str2[15];

if(LeftTime>=0)//还剩下时间

{

if(length>0)

{

itoa(key[i][length-1],mystr,10);

strcat(str,mystr);

m_key.SetWindowText(CString(str));//显示内容

length--;

}

else

{

、、、、、、//屏蔽密码的实现

}

itoa(LeftTime,str2,10);

m_time.SetWindowText(CString(str2));//动态输出时间

LeftTime--;

}

else

{

、、、、、、、//时间到的提示 的实现

}

}

3、对话框初始化设计

BOOL SecDialog::OnInitDialog()

{

CDialog::OnInitDialog();

srand((unsigned)time(NULL));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值