ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:1.25MB ,
资源ID:18633221      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18633221.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c++俄罗斯方块报告推荐文档Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c++俄罗斯方块报告推荐文档Word格式文档下载.docx

1、4void CMyDlgDlg:OnBnClickedHp() /说明按钮命令响应5void CMyDlgDlg:OnBnClickedPause() /暂停按钮命令响应6void CMyDlgDlg:OnClose() /关闭7void CMyDlgDlg:OnGameDe() /说明8void CMyDlgDlg:OnLoad() /载入游戏9void CMyDlgDlg:OnPaint() /背景画面添加10void CMyDlgDlg:OnPause()/暂停11void CMyDlgDlg:OnRange()/等级12void CMyDlgDlg:OnRestart() /重新开始1

2、3void CMyDlgDlg:OnSave()/保存14void CMyDlgDlg:OnSound() /声音15BOOL CMyDlgDlg:PreTranslateMessage(MSG* pMsg) 16void CMyDlgDlg:OnTimer(UINT nIDEvent) 17void CMyDlgDlg:OnSysCommand(UINT nID, LPARAM lParam)18void CMyDlgDlg:DoDataExchange(CDataExchange* pDX)(2)CManager /管理整个游戏区1void InitGame(int Level,int r

3、esult,int lineNumber);/初始化游戏 2void DrawScene();/画整个界面 3Void OnTimer(UINT &nIDEvent);4void OnKeyDown(UINT &nChar);5void OnKeyUp(UINT &6bool WhetherLoss();/判断游戏是否结束 7void SetFree();/重新开始 8void HeroWrite();(3)CBlock /用于画游戏障碍物void AddBlock();void DrawBlock(CDC *pDC);bool BlockPanel3080;COLORREF BlockCol

4、or;(4)CMill /用于产生和画出下一个将要出现的方块void MadeDiamond();/用于随机生成游戏方块 void DrawPrepare(CDC* pDC); int PreDiamondType;/7种方块类型 int PreDiamondState;/每种方块的4个状态 RECT MillRect;/用显示下一个方块的矩形 CSize GridSize;/格子的大小 COLORREF MillColor;/显示下一个方块的矩形颜色 COLORREF PreColor;/下一个方块的颜色 int probabilityCake;/田子 int probabilityHook

5、;/钩子 int probabilitySeven;/七的形状 int probabilityHeave;/凸起 int probabilityBar;/一条 int probabilityTwo;/2字 int probabilitySpade;/铲子(5)CPanel /画游戏区和的得分区void DrawPanel(CDC* pDC);void PanelPosToPos(POINT &PanelPos);void PosToPanelPos(POINT &Pos); public:RECT PanelRect;/游戏区的矩形COLORREF PanelColor;/游戏区的背景颜色 i

6、nt nHGridNum;/列数 int nVGridNum;/行数 CRect TextRect;/输出得分的矩形(6)Diamond /用于下落的方块bool MoveDiamondLeft();/方块向左移 bool MoveDiamondRight();/方块向右移 bool MoveDiamondDown();/方块加速下 bool RollDiamond();/方块变状态 void DrawDiamond(CDC* pDC);void DimDiamond();/初始化方块的类型,bool DiamondStruct7444; /第一维:方块类型,第二维:状态,第三、四维:方 块结

7、构;POINT DiamondPos;/游戏中方块的坐标 COLORREF DiamondColor;/游戏中方块的颜色 int DiamondType;/方块的7种类型 int DiamondState;/每种类型的4种状态 bool FullLine();/满了一行 bool overlap();/判断左边,右边或者到到底下了详细设计建立一个一对话框为基础的MFC.项目,添加菜单和菜单项给对话框添加时钟,即添加消息响应函数OnTimer()。重写函数PreTranslateMessage(MSG* pMsg);为各个菜单项添加响应的事件响应处理函数为对话框添加四个控件按钮,并分别添加事件处

8、理函数声明一个bool 型的变量,用于判断是否暂停游戏接着添加几个对话框,分别是游戏设置对话框,游戏结束对话框和英雄榜对话框第一个对话框,游戏设计对话框,Caption为“游戏设置”,ID为“IDD_NAME”,为对话框添加相应的控件 编辑控件的ID为IDC_NAME,三个单选钮的ID分别为:简单(IDC_LEVEL),一般(IDC_LEVEL2),困难(IDC_LEVEL3)给编辑控件添加CString类型的变量,变量名为:m_Name, 给第一个单选钮添加变量int level; 添加消息响应函数OnPaint(),给确定按钮添加事件处理函数void CMyDlgDlg:OnPaint()

9、 if (IsIconic() CPaintDC dc(this); / device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); / Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width()

10、- cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; / Draw the icon dc.DrawIcon(x, y, m_hIcon); elseCPaintDC dc(this);CRect rect;GetClientRect(&CDC dcMem;dcMem.CreateCompatibleDC(&dc);CBitmap bmpBackground;bmpBackground.LoadBitmap(IDB_BJ1); /IDB_BITMAP是你自己的图对应的ID BITMAP bitmap;bmpBackground

11、.GetBitmap(&bitmap);CBitmap*pbmpOld=dcMem.SelectObject(&bmpBackground);dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); /CDialog:OnPaint();游戏结束,添加消息响应函数void CGameV: CPaintDC dc(this); CRect rect; GetClientRect(& CDC dcMem; dcMem.CreateCompatibleDC(& CB

12、itmap bmpBackground; bmpBackground.LoadBitmap(IDB_GV); BITMAP bitmap; bmpBackground.GetBitmap(& CBitmap *pbmpOld=dcMem.SelectObject(& dc.StretchBlt(0,0,rect.Width(),rect.Height(),&第三个对话框,排行榜,ID为“IDD_HERO”,添加控件IDC_NAME_EDIT IDC_SCORE_EDIT IDC_LEVEL_EDIT,并把三个编辑控件的Read Only 属性选为“true”。为对话框添加类,类名为CHeroD

13、lg,基类为CDialog。为三个编辑控件分别添加变量,变量名为m_name,m_level,m_score;手动添加一个void SetWriteFlg(BOOL bflg);函数,用于写如英雄榜,添加重写型OnInitDialog()和DoModal(),添加消息响应函数OnPaint(),再手动添加一个BOOL m_bWriteflg,用于判断是否是写入英雄榜,在构造函数中初始化为m_bWriteflg = FALSE;接下来添加类第一个类名为“CManager”,用于管理整个游戏区,第二个类是“CBlock”,用于画游戏障碍物,也就是已经落下的俄罗斯方块;第三个类是“CMill”,是“

14、工场”是用于产生和画出下一个将要下落的方块,第四个类是“CPanel”,用于在游戏区域画游戏区和得分区,第五个类是“Diamond”,用于下落的方块。CManager:void DrawScene();/画整个界面void OnTimer(UINT &void OnKeyDown(UINT &void OnKeyUp(UINT?&?bool WhetherLoss();/判断游戏是否结束void SetFree();/重新开始void HeroWrite();private:void PassLevel();/升级bool KeyLeft,KeyDown,KeyRight,KeySpace;/

15、几个游戏操作public:CRect ClientRect;/客户区矩形UINTTimer1;/为什么要设两个时钟?一个用来控制左右移动的速度,一个用来控制下落的速度UINT Timer2;/是下落的速度UINT FallTimer;int Level;/等级int Result;/得分int m_nHighScore;/当前游戏最高分int m_nHighLevel;/当前游戏最高级?int LineNumber;/消灭的总行数int SeriesLine;/每一次消灭的行数bool Sound;/音效CString Name;/玩家名字;/定义的方块的7种类型const int DIAMO

16、NDCAKE=0;const int DIAMONDHOOK =1;const int DIAMONDSEVEN =2;const int DIAMONDHEAVE =3;const int DIAMONDBAR =4;const int DIAMONDTWO=5;const int DIAMONDSPADE =6;CDiamond:class CDiamond CDiamond(); virtual CDiamond(); bool MoveDiamondLeft(); bool MoveDiamondRight(); bool MoveDiamondDown(); bool RollDia

17、mond(); void DrawDiamond(CDC* pDC); private: void DimDiamond();/初始化方块的类型,状态 bool DiamondStruct7444; POINT DiamondPos; COLORREF DiamondColor; int DiamondType; int DiamondState; bool FullLine(); bool overlap();/判断左边,右边或者到到底下了 ;CBlock:class CBlock CBlock();virtual CBlock();CMill:class CMill CMill(); vi

18、rtual CMill(); void MadeDiamond(); void DrawPrepare(CDC* pDC); int PreDiamondType;/7种方块类型 int PreDiamondState; RECT MillRect;/铲子 CPanel: CPanel CPanel(); virtual CPanel(); void DrawPanel(CDC* pDC); void PanelPosToPos(POINT & void PosToPanelPos(POINT & RECT PanelRect;/输出得分的矩形 功能测试1.进入游戏,输入姓名并选择难度2.图形的变换3.图形的移动4.载入游戏,保存游戏,重新开始,关闭游戏5.游戏设置6.游戏规则7.排行榜8游戏结束实验小结(出现问题,解决方案,收获和体会,不少于300字)附:完成的代码(打印版无需此部分,电子版报告必须包括此部分,要求代码具有良好的编程规范和适当注释)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1