你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
用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;

        }

    }

  推荐精品文章

·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录
·2023年4月目录 
·2023年3月目录 
·2023年2月目录 
·2023年1月目录 

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

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089