自己动手写推箱子游戏——菜单(源码)
2011-08-08 14:40
393 查看
第二:***菜单,完善功能
源码下载地址:http://download.csdn.net/source/3503308
一:选关功能
自己要为游戏设置一些关数,而且难度应该递增,这个选关的对话框需要新建,主要是返回一个表示关数的数值
二:重来:玩家可能由于失误,需要重玩,这时只需要将个区域的状态回到初始状态就可以了
三:设置状态栏:
这需要定义一个状态栏类,用于显示玩家的位置和已经走过的步数
CStatusBar m_StatusBar;//创建一个状态栏对象
当人的位置发生改变时都需要刷新状态
四:游戏界面的背景颜色:不同的玩家对颜色有不同的喜好,因此可以让玩家自己挑选
着只需要一个颜色对话框就能可以实现,
先定义一个COLORREF m_bgcolor;//背景颜色;
主要代码:
五:录像功能:有时候玩家希望能记录自己的路线,方便自己下一步有所思路
其实这也比较简单,只需要设置一数组记录玩家所走过的路程,当然为了减少内存,也可以动态开辟空间
struct video record[MAX];
六:帮助:对于游戏,应该有所说明,包括玩法和注意事项等
所以我写了html文件,为了在程序打开这个html文件,需要一个函数
其中html文件时比较方便学的
源码下载地址:http://download.csdn.net/source/3503308
一:选关功能
自己要为游戏设置一些关数,而且难度应该递增,这个选关的对话框需要新建,主要是返回一个表示关数的数值
void CPushBoxDlg::OnChose() { CchoseDlg dlg; dlg.m_chose_hard=num_hard; dlg.DoModal(); UpdateData(true); UpdateData(false); num_hard=dlg.m_chose_hard; CPushBoxDlg::Initi_State(ii,jj); saved=false; CPushBoxDlg::OnPaint(); }
二:重来:玩家可能由于失误,需要重玩,这时只需要将个区域的状态回到初始状态就可以了
void CPushBoxDlg::OnAgain() { flag=false; if(saved==false) { CPushBoxDlg::Initi_State(ii,jj); text.Format("你的位置 X: %d Y: %d",sitey,sitex); m_StatusBar.SetPaneText(0,text); text.Format("你走的步骤数: %d",num_step); m_StatusBar.SetPaneText(1,text); //RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0); } else { for(int i=0;i<=7;i++) for(int j=0;j<=7;j++) { if(save[i][j]==3) { sitex=i; sitey=j; } face[i][j]=save[i][j]; } text.Format("你的位置 X: %d Y: %d",sitey,sitex); m_StatusBar.SetPaneText(0,text); num_step=0; text.Format("你走的步骤数: %d",num_step); } CPushBoxDlg::OnPaint(); }
三:设置状态栏:
这需要定义一个状态栏类,用于显示玩家的位置和已经走过的步数
CStatusBar m_StatusBar;//创建一个状态栏对象
BOOL bRet=m_StatusBar.Create(this); UINT nIDS[2]={1100,1101}; bRet=m_StatusBar.SetIndicators(nIDS,2); m_StatusBar.SetPaneInfo(0,nIDS[0],SBPS_NORMAL,300); m_StatusBar.SetPaneInfo(1,nIDS[1],SBPS_NORMAL,300); text.Format("你的位置 X: %d Y: %d",sitex,sitey); m_StatusBar.SetPaneText(0,text); text.Format("你走的步骤数: %d",num_step); m_StatusBar.SetPaneText(1,text); RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
当人的位置发生改变时都需要刷新状态
四:游戏界面的背景颜色:不同的玩家对颜色有不同的喜好,因此可以让玩家自己挑选
着只需要一个颜色对话框就能可以实现,
先定义一个COLORREF m_bgcolor;//背景颜色;
主要代码:
void CPushBoxDlg::OnBgcolor() { CColorDialog dlg; if(dlg.DoModal()==IDOK) m_bgcolor=dlg.m_cc.rgbResult; CPushBoxDlg::OnPaint(); }
五:录像功能:有时候玩家希望能记录自己的路线,方便自己下一步有所思路
其实这也比较简单,只需要设置一数组记录玩家所走过的路程,当然为了减少内存,也可以动态开辟空间
struct video record[MAX];
void CPushBoxDlg::OnBeginVideo() { video_flag=1; num_video=-1; //MessageBox("begin"); //head=p=NULL; } void CPushBoxDlg::OnStopVideo() { video_flag=0; //MessageBox("stop"); //p=NULL; } void CPushBoxDlg::OnPlay() { //MessageBox("play"); if(num_video>=0) { //CPushBoxDlg::Initi_State(); //MessageBox("KKK"); for(int i=0;i<=num_video;i++) { CPushBoxDlg::video_to_face(&record[i],ii,jj); CPushBoxDlg::draw_game_face(dc); Sleep(200); } CPushBoxDlg::video_to_face(&record[MAX-1]); CPushBoxDlg::OnPaint(); } else return; }
六:帮助:对于游戏,应该有所说明,包括玩法和注意事项等
所以我写了html文件,为了在程序打开这个html文件,需要一个函数
void CPushBoxDlg::OnRelate() { ShellExecute(this->m_hWnd,"open","ReadMe.html",NULL,NULL,SW_SHOW); //打开 文件1.txt }
其中html文件时比较方便学的
<html> <head> <title>推箱子游戏说明 </title> <style type="text/css"> p.first{font-family:"华文行楷";text-align:center;color:Blue;font-size:36pt;} p.second{font-size:18pt;color:Black;text-indent:1in;} </style> </head> <body> </br> <p class=first> 欢迎使用迷你版推箱子游戏</p> <br><br> <p class=second> 本游戏由开发者JJF编写,编译器为visual studio 6.0,开发语言为C++。游戏的菜单有“游戏功能”,“游戏界面',"设计师”,“休闲放松”“帮助”构成。该游戏内置8关,在设计的游戏里面 内置5关,本游戏区别去其他众多版本是本游戏具有开放平台,可以让玩家自己成为设计院,只要有创意都可以实现,简单方便易懂。在“休闲放松”菜单是本人编写的简易的mp3、mp4播放器,可以对电脑 内各个盘符内的符合条件的文件进行搜索,方便你翻阅。 </p> <HR> 以下是注意事项:<hr /> <dl> <dt> 游戏人物又键盘上下左右键控制,游戏可能会由于按键过快而不稳定</dt> <dt> 在音乐欣赏过程中,先选择磁盘,在更新列表,双击列表中的文件就可以播放磁盘的递归搜索可能会发生一些错误,敬请见谅</dt> <dt> 在游戏界面菜单中,可以随有改变界面的背景颜色</dt> <dt> “录像”菜单中,可以记录你一段时间内的步骤,方便你反思</dt> <dt> 在设计师模块,由于游戏大小为8×8,所以受到限制,可以默认让边界作为墙,这样可以扩展成9×9,在墙的包围内的区域都要填充完整,在墙的外围不需要填写</dt> </dl> <p class=second> 谢谢大家的使用!</p> </body> </html>
相关文章推荐
- 自己动手写推箱子游戏——菜单(源码)
- 自己动手写推箱子游戏——设计师(源码)
- 自己动手写推箱子游戏——休闲放松(源码)
- 自己动手写推箱子游戏——休闲放松(源码)
- 自己动手写推箱子游戏——界面(源码)
- 自己动手写推箱子游戏——界面(源码)
- 自己动手写推箱子游戏——设计师(源码)
- 一个可以自己布局的推箱子游戏 (附源码)
- [导入]一个可以自己布局的推箱子游戏 (附源码)
- 自己动手写CSDN博客提取器源码分析之三:处理网页保存为pdf文件
- 自己动手写类似酷狗播放器(4)_鼠标右键菜单的添加
- 自己动手编译最新Android源码及SDK
- 关于本游戏的移植 和(怎么把源码在自己的电脑和手机上运行的介绍)
- 自己动手实现一个《倒水解密》游戏
- [置顶] 自己动手写CSDN博客提取器源码分析之四:抓取网页源码
- WinCE游戏源码-推箱子
- 【Android】自己动手做个扫雷游戏
- 致佳音: 推箱子游戏自己主动求解算法设计(一)
- quick-cocos2d-x游戏开发【6】——制作您自己的自定义效果button菜单
- 源码推荐(7.28):习惯了的Sqlite,自己动手造一个可以深度自定义的图片选择器