IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    C语言 控制台下 俄罗斯方块(续)- v1.01

    英雄哪里出来发表于 2011-05-27 05:37:00
    love 0

    Tetrix v1.01 版本下载地址:
    http://code.google.com/p/sguzty/downloads/detail?name=Tetrix%20v1.01%20Release.rar&can;=2&q;=

    Bug 修正
    1.最大的bug是方块掉落的时候会将镂空的格子填满,修改之。
    2."方块"旋转的时候不应该有任何效果,先前的版本会改变位置。
    3.先前版本长条的旋转比较难看,这次略微好看一点。
    4.修改了之前Life和Speed的显示问题。

    功能 新增
    1.添加了背景音乐和音效。
    2.征询网友意见添加了随机种子,每次打开后都会有不同的开局。

    背景音乐是 智冠电子 的 单机游戏 <天龙八部> 中 某个场景的背景音乐。
    以此怀念我们儿时的单机游戏时代。


    并且多谢众多网友们提的意见,你们的支持是我们最大的动力。


    以下是其中一种在游戏中添加背景音乐的方法,拿出来分享以下,如果直接采用sndPlaySound是不能达到混音效果的,采用以下方法可以播放背景音乐,然后用sndPlaySound在播放音效,就可以达到混音效果。

    void BeginMusic() {
    CoInitialize( NULL );
    }


    class mp3Player {

    IGraphBuilder
    * pGBuilder;
    IMediaControl
    * pMControl;
    IMediaPosition
    * pMPos;

    public:
    void load(char *filename);
    void play();

    }
    ;

    void mp3Player::load(char *filename) {
    CoCreateInstance(CLSID_FilterGraph, NULL,CLSCTX_INPROC, IID_IGraphBuilder, (
    void**)&pGBuilder);
    pGBuilder
    ->QueryInterface(IID_IMediaControl, (void**)&pMControl);
    pGBuilder
    ->QueryInterface(IID_IMediaPosition, (void**)&pMPos);

    char strSoundPath[ MAX_PATH ];
    WCHAR wstrSoundPath[ MAX_PATH ];

    GetCurrentDirectory(MAX_PATH, strSoundPath);
    strcat( strSoundPath,
    "\\" );
    strcat( strSoundPath, filename );
    MultiByteToWideChar(CP_ACP,
    0, strSoundPath, -1, wstrSoundPath, MAX_PATH );

    pGBuilder
    ->RenderFile(wstrSoundPath, NULL);
    }



    英雄哪里出来 2011-05-27 13:37 发表评论


沪ICP备19023445号-2号
友情链接