skyblu操作俄罗斯方块Word文件下载.docx
- 文档编号:15765784
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:64
- 大小:86.12KB
skyblu操作俄罗斯方块Word文件下载.docx
《skyblu操作俄罗斯方块Word文件下载.docx》由会员分享,可在线阅读,更多相关《skyblu操作俄罗斯方块Word文件下载.docx(64页珍藏版)》请在冰豆网上搜索。
方块样式选择:
游戏区域大小组合框:
组合框
IDC_COMBO_AREA
数据选项卡:
12行10列
18行15列
24行20列
30行25列
游戏级别选择组合框:
IDC_COMBO_LEVEL
数据选项卡
第一级:
入门级
第二级:
初级
第三级:
中级
第四级:
中高级
第五级:
高级
第六级:
顶级
IDC_COMBO_BLOCK_SYTLE
深蓝
兰白条纹
绿白块纹
兰百条纹
紫色
网格背景
复选框
IDC_CHECK_GRID
背景音乐
IDC_CHECK_MUSIC
把“确定”,“取消”按钮移至下方。
对话框改为“游戏设置”。
.编辑游戏菜单:
1.标明:
游戏(G):
标明:
&
S.开始游戏ID:
ID_GAME_START
P.游戏暂停ID:
ID_GAME_PAUSH
E.游戏结束ID:
ID_GAME_END
O.游戏设置ID:
ID_GAME_OPTION
X.退出系统ID:
ID_GAME_EXIT
2.标明:
选项(&
O):
标明:
I.游戏级别,选择弹出复选框
M.音乐ID:
ID_OPTION_MUSIC
3.帮助菜单:
H.帮助ID:
ID_HELP_HELP
A.关于设计者ID:
ID_HELP_ABOUT
三.在类视图中编辑CSkyblue_RectView中申明变量,函数,并添加函数代码。
.申明变量,函数,头文件在CSkyblue_RectView头文件中
1.添加头文件:
//宏变量:
白色和黑色
#defineWHITERGB(255,255,255)
#defineBLACKRGB(0,0,0)
#defineBLUERGB(0,0,255)
//中断操作的运动趋势
#defineLEFT0//向左移动
#defineRIGHT1//向左移动
#defineUP2//向上(变形)
#defineDOWN3//向下移动(加速)
//游戏区域地图最大限制
#defineMAX_ROW100//地图的最大行数
#defineMAX_COL100//地图的最大列数
//地图状态
#defineMAP_STATE_EMPTY0//空(未被占据)
#defineMAP_STATE_NOT_EMPTY1//被占据
2.添加申明变量,函数:
protected:
intm_nWidth;
//子窗口的宽度
intm_nHeight;
//子窗口的高度
//列与行的数量
intm_iCol;
intm_iRow;
//小方块的大小,它会随着行与列的不同而不同,具体为:
//12行10列,30个象素的正方形
//18行15列,20
//24行20列,15
//30行25列,12
intm_iLarge;
//当前的级别,换算成速度的算法为:
1500-m_iLevel*200
intm_iLevel;
//当前选择的方块显示样式
intm_iBlockSytle;
//游戏区域左上角的坐标
intm_iStartX;
intm_iStartY;
voidRectChange();
BOOLIsLeftLimit();
//下坠物件是否可向左移动
BOOLIsRightLitmit();
//接触面二维数组,记录1~7种下坠物的1~4种形态的接触面信息
//我们把该下坠物的某种形态种的4个方块,有接触面则记录方位,无则为-1标识。
intInterFace[74][4];
//当前的方块形状
intm_currentRect;
//判断当前方块是否到底
voidIsBottom();
//当前方块下降
voidRectDown();
//当前方块加速:
UP,左移:
LEFT,右移:
RIGHT
voidRectArrow(intm_Type);
//根据下坠物的类型映射出它的具体形态功能组
//根据旧的下一下坠物映射出当前激活状态下的下坠物形态
voidRectStatusToActiveStatus(intm_which);
//根据下坠物形态映射出下一下坠物的形态
voidRectStatusToNextStatus(intm_which);
//将当前的状态映射到地图游戏区域
voidActiveStatusToGameStatus();
intRandom(intMaxNumber);
//标识方块已到底的变量,到底为TRUE
BOOLm_isBottom;
//用于标志方块状态的数组,大小由横格与竖格数据决定,为1表示该方块显示,或者不显示
//画形状只需要修改数组中相应元素的状态值即可
//由时钟控制,定时在OnPaint函数中根据数组画方块
intGameStatus[MAX_ROW][MAX_COL];
//用于保存当前方块的动态位置,4个小方块分别在大数组中的位置
//存放位置为先左后右,每一列又遵循先上后下的原则
intActiveStatus[4][2];
//存入下一次要出来的方块的模样的数组
intNextStatus[4][2];
//Generatedmessagemapfunctions
BOOLm_bGamePaush;
voidStopMid();
voidPlayMid();
voidCurrentAreaAndLevel();
//用于记录当前区域大小与当前级别的字符串,用于显示在屏幕上提示用户当前状态
CStringm_strArea;
CStringm_strLevel;
//当前的样式,下一个将会出现的样式
intm_icurrentStatus;
intm_inextStatus;
//OnDraw中需要用到的设备名称
CPen*m_pBlackPen;
CBrush*m_pGrayBrush;
CBrush*m_pBlackBrush;
//是否画网格线
BOOLm_bDrawGrid;
//是否插放背景音乐
BOOLm_bMusic;
//游戏总成绩
intm_iPerformance;
//游戏是否已结束,为FALSE表示开始,否则为结束
BOOLm_bGameEnd;
//刷新指定的区域,它的大小为:
四个小方块所在的正方形的大小
voidInvalidateCurrent();
//内存绘图设备的处理
CDCm_memDC;
//内存设备环境
CBitmapm_memBmp;
//内存位图
CDCm_memRectDC;
//方块内存设备环境
HBITMAPm_hMemRectBmp;
//方块内存位图句柄
intm_bFistPlay;
//是否是第一次开始游戏
voidDcEnvInitial(void);
voidDCEnvClear(void);
voidDrawGame(CDC*pDC);
protected:
//{{AFX_MSG(CSkyblue_RectView)
afx_msgvoidOnKeyDown(UINTnChar,UINTnRepCnt,UINTnFlags);
afx_msgvoidOnTimer(UINTnIDEvent);
afx_msgvoidOnGameStart();
afx_msgvoidOnGameEnd();
afx_msgvoidOnGameOption();
afx_msgvoidOnUpdateGameStart(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateGameOption(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateGameEnd(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateGameExit(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateHelpAbout(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateHelpHelp(CCmdUI*pCmdUI);
afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);
afx_msgvoidOnHelpHelp();
afx_msgvoidOnUpdateOptionArea1(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateOptionArea2(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateOptionArea3(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateOptionArea4(CCmdUI*pCmdUI);
afx_msgvoidOnOptionArea1();
afx_msgvoidOnOptionArea2();
afx_msgvoidOnOptionArea3();
afx_msgvoidOnOptionArea4();
afx_msgvoidOnUpdateOptionLevel1(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateOptionLevel2(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateOptionLevel3(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateOptionLevel4(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateOptionLevel5(CCmdUI*pCmdUI);
afx_msgvoidOnUpdateOptionLevel6(CCmdUI*pCmdUI);
afx_msgvoidOnOptionLevel1();
afx_msgvoidOnOptionLevel2();
afx_msgvoidOnOptionLevel3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- skyblu 操作 俄罗斯方块