基本信息
源码名称:利用EGE图形库做好的俄罗斯方块
源码大小:0.01M
文件格式:.cpp
开发语言:C/C++
更新时间:2019-12-27
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

利用EGE图形库做好的俄罗斯方块

   /*逻辑更新主函数*/
    void update() {
        key_msg key;
        int k = kbmsg();
        while ( k ) {
            key = getkey();
            for (int i=0; i<8; i) {
                if (key.key == m_Keys[i]) {
                    if (key.msg == key_msg_down) {
                        m_KeyFlag[i] ;
                        m_KeyState[i] = 1;
                    } else if (key.msg == key_msg_up) {
                        m_KeyFlag[i] = 0;
                        m_KeyState[i] = 0;
                        if ( i == 3 )
                            m_forbid_down = 0;
                    }
                }
            }
            k = kbmsg();
        }
        while ( deal() );
    }
    void drawedge(int x, int y, int w, int h, int color, int bdark = 1) {
        setcolor(getchangcolor(color, 1.5f));
        line(x, y h, x, y);
        lineto(x w, y);
        if ( bdark )
            setcolor(getchangcolor(color, 0.7f));
        lineto(x w, y h);
        lineto(x, y h);
    }
    void drawtile(int x, int y, int w, int h, int d, int color) {
        w--, h--;
        setfillcolor(color);
        bar(x 1, y 1, x w, y h);
        drawedge(x, y, w, h, color);
        drawedge(x 1, y 1, w-2, h-2, color);
    }
    void drawframe(int x, int y, int w, int h, int d = 0) {
        int coll[] = {0x400040, 0x600060, 0xA000A0, 0xFF00FF,
            0xA000A0, 0x600060, 0x400040};
        setfillcolor(0x010101);
        bar(x, y, x w--, y h--);
        for (int i=0; i<7; i) {
            --x, --y, w = 2, h = 2;
            drawedge(x, y, w, h, coll[i], 0);
        }
    }