随笔 - 8, 文章 - 0, 评论 - 17, 引用 - 0
数据加载中……

[游戏开发]工厂模式

游戏编程是我业余的爱好,也可以提高对编程的兴趣,每当我有时间的时候就会编写游戏,基于图片的问题所以首选小游戏。这是我毕业后第二款小游戏,相比上一款充分的运用了面向对象的技术,让我享受与不断做类的完善,特别提出的是使用递归技术使得算法更加简洁确实是个很不错的技术,比如:游戏中的地图整行消除判断以及消除。

目前的设计情况如下:
(有写没必要的函数省略了,初次使用UML图)

此贴主要是想探讨类的设计,标题上写了工厂模式,这里只是简单的把UI创建放到另外一个地方罢了,严格来说应该不算是什么工厂,但是主要是代码
易读维护性高就可以了.开发环境:VS2005,WIN32、 C++、DX9


如果要增加其他按钮只要继承ImageUI,和实现基类的存虚拟函数就可以。基类的事件触发如下代码。

PUG_BTN_STAT CImageUI::OnEven(UINT msg, WPARAM wParam, LPARAM lParam)
{
    POINTS xy;
    xy 
= MAKEPOINTS(lParam);
    POINT xy2;
    xy2.x 
= xy.x;
    xy2.y 
= xy.y;

    
switch(msg)
    {      
    
case WM_MOUSEMOVE:
           {
            
if(PtInRect(&_displaySize,xy2))
            {
                OnPass();
                
return PASS;
            }
           }
           
break;
      
case WM_LBUTTONDOWN:
           {
            
if(PtInRect(&_displaySize,xy2))
            {
                OnClick();
                
return ONCLICK;
            }
           }
           
break;
      
case WM_LBUTTONUP:
          {
            
if(PtInRect(&_displaySize,xy2))
            {
                OnClickOut();
                
return ONCLICKOUT;
            }
          }
          
break;
    }

    OnPassOut();
    
return COMMAND;
}


游戏图片如下:




游戏下载:
/Files/YGFaith/elsfkGame.rar

posted on 2008-09-09 23:37 YG 阅读(1573) 评论(0)  编辑 收藏 引用 所属分类: C/C++ & 设计模型


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理