• 大小: 0.01M
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-02-01
  • 标签: 俄罗斯  图形  

资源简介

利用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);
        }
    }

资源截图

代码片段和文件信息

#include “graphics.h“

#include 
#include 
#include 

#include “ege/fps.h“

const int g_width = 400;
const int g_height = 520;

/*记录7种形状及其4种变化的表*/
static int g_trs_map[8][4][4][4];
/*变化数目表*/
static int g_map_mod[] = {1 4 4 4 2 2 2 1 0};

/*初始化全局数据及图形显示*/
void initgr() {
    initgraph(g_width g_height);
    setfont(12 6 “宋体“);
    int Trs_map[8][4][4][4] =
    {
        {{{0}}}{{
            {0000}{1110}{0100}
        }{
            {0100}{1100}{0100}
        }{
            {0100}{1110}
        }{
            {0100}{0110}{0100}
        }}{{
            {2200}{0200}{0200}
        }{
            {0020}{2220}
        }{
            {0200}{0200}

评论

共有 条评论