你好,欢迎来到电脑编程技巧与维护杂志社! [免费注册][请登录 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
用VC编程迷宫游戏(八)
 

3.实现人机交互

    玩家利用键盘的四个方向键操纵小动物在迷宫中移动,为了捕获玩家对键盘的操作,需要在对话框中重载PreTranslateMessage函数,函数只对上、下、左、右四个按键进行处理,根据前进方向是否有围墙来移动小动物,移动小动物的函数为MoveIcon()。实现的代码如下:

BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)

{

    // TODO: Add your specialized code here and/or call the base class

    if (pMsg->message == WM_KEYDOWN)        /*如果玩家按下按键*/

    {

        switch (pMsg->wParam)

        {      

        case VK_UP:     /*按“上”键,如上方无围墙,则调用MoveIcon移动小动物*/

            if ( !maze.HWall[int(maze.current_x)][int(maze.current_y)] )

                MoveIcon(VK_UP);

            break;

        case VK_DOWN:       /*向下*/

            if ( !maze.HWall[int(maze.current_x)][int(maze.current_y+1)] )

                MoveIcon(VK_DOWN);

            break;

        case VK_LEFT:       /*向左*/

            if ( !maze.VWall[int(maze.current_x)][int(maze.current_y)] )

                MoveIcon(VK_LEFT);

            break;

        case VK_RIGHT:      /*向右*/

            if ( !maze.VWall[int(maze.current_x+1)][int(maze.current_y)] )

                MoveIcon(VK_RIGHT);

            break;

        default:

            break;

        }

    }

  推荐精品文章

·2019年9月目录 
·2019年8月目录
·2019年7月目录
·2019年6月目录
·2019年5月目录
·2019年4月目录    
·2019年3月目录   
·2019年2月目录   
·2019年1月目录  
·探析云计算下应用软件用户数据安全问题
·地理空间集束线可视化表达
·Android智能净水机APP开发(一)
·2018年12月目录  
·springAOP的思想和设计以及实现

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备06048724号,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区长春桥路5号6号楼1209室,邮编:100089