1、集中上机实习报告集中上机实习报告 一、需求分析一、需求分析 1.选题选题 接到课程设计任务后, 我们对曾经非常感兴趣的几款经典小游戏作了分析并 筛选,然后根据老是给的推荐题目以及自己的编程能力做了选择,决定了编写在 dos 化境下的打字游戏,锻炼在自己对函数,指针,类的综合运用,以及对颜色 控制函数的使用。 2.功能功能 在 windows 窗口环境下实现打字游戏的运行,正确与错误字符的统计,以 及时间的统计。游戏开始后,屏幕上方同时有四个数字分四列下落,每个数字由 三位组成(随机生成,但首位不可相同) 。玩家用键盘依次输入数字,如果输入 的数字序列与某一列正在下落的数字三位全部相同,则给玩家
2、加 10 分,该列数 字消失,该列新产生数字并下落;如果输入的数字某一位不相同,则输入的数字 序列全部作废,重新接收输入。某一列数字到达屏幕底部则游戏结束 二、二、总体设计说明总体设计说明 1.设计思路设计思路 用结构体存储每组数字,然后利用 MFC 里面的 Timer 作为时间流程,并 重写对话框类里面的 OnPaint()函数实现图形的绘制 2.程序框图程序框图 操作控制:如图 1 所示 三、代码实现三、代码实现 本程序 MFC 主要代码 / 打字游戏 Dlg.cpp : implementation file / / 打字游戏 Dlg.h : header file / #if !def
3、ined(AFX_DLG_H_C9D22D72_CFA5_4621_8784_36A4BE47F2E5_INCLUDED_) #define AFX_DLG_H_C9D22D72_CFA5_4621_8784_36A4BE47F2E5_INCLUDED_ #if _MSC_VER 1000 #pragma once #endif / _MSC_VER 1000 / / CMyDlg dialog struct Number int n3; int x; int y; int color3;/判断是否被键入 ; class CMyDlg : public CDialog / Constructi
4、on public: CMyDlg(CWnd* pParent = NULL); / standard constructor 打字游戏 开 始 游 戏 判 断 正 误 结 束 输 入 / Dialog Data /AFX_DA TA(CMyDlg) enum IDD = IDD_MY_DIALOG ; / NOTE: the ClassWizard will add data members here /AFX_DA TA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CMyDlg) public: virtual BOOL PreTranslateMessage(MSG* pMsg); protected: virtual void DoDataExchange(CDataExc