コード例 #1
0
// 这个文件是捕捉模式,也就是有计时功能的
BlockAreaCatch::BlockAreaCatch(int level, QWidget* parent)
    :QWidget(parent)
{
    myLevel = level;
    if (myLevel == 1) {
        int index = 1;
        while(index < 88) {
            if (index != 3 && index != 6 && index != 9 && index != 25 && index != 26) {
                level1.push_back(index);
            }
            ++index;
        }
        myRow = 3;
        myColumn = 6;
        counter = 500; // 设置的时间间隔是100,也就是0.1s,所以这里500是50秒
    }
    else if (myLevel == 2) {
        int index = 1;
        while(index < 142) {
            if (index != 122 && index != 132 && index != 134 && index != 135 && index != 136 && index != 137) {
                level2.push_back(index);
            }
            ++index;
        }
        myRow = 4;
        myColumn = 7;
        counter = 650;  // 65 秒
    }
    else {
        int index = 88;
        srand(time(0));
        int luck = std::rand()%30;  // 减少稀有神奇宝贝的出现概率
        if (luck == 1) {  // 有梦幻
            while(index < 152) {
                if (index != 134 && index != 135 && index != 136 && index != 137 && index != 142 && index != 144 && index != 145 && index != 146 && index != 150) {
                    level3.push_back(index);
                }
                ++index;
            }
        }
        else if (luck == 2) {  // 有超梦
            while(index < 152) {
                if (index != 134 && index != 135 && index != 136 && index != 137 && index != 142 && index != 144 && index != 145 && index != 146 && index != 151) {
                    level3.push_back(index);
                }
                ++index;
            }
        }
        else if (luck >= 3 && luck <= 5){  // 有三只鸟
            while(index < 152) {
                if (index != 134 && index != 135 && index != 136 && index != 137 && index != 142 && index != 150 && index != 151) {
                    level3.push_back(index);
                }
                ++index;
            }
        }
        else if (luck >= 6 && luck <= 10) {  // 有伊布三种形态,3D龙,化石翼龙
            while(index < 152) {
                if (index != 144 && index != 145 && index != 146 && index != 150 && index != 151) {
                    level3.push_back(index);
                }
                ++index;
            }
        }
        else {
            while(index < 152) {
                if (index != 134 && index != 135 && index != 136 && index != 137 && index != 142 && index != 144 && index != 145 && index != 146 && index != 150 && index != 151) {
                    level3.push_back(index);
                }
                ++index;
            }
        }
        myRow = 5;
        myColumn = 8;
        counter = 800;  // 80 秒
    }

    mygame = new fun(myRow, myColumn);
    choosePicture();
    set_block_area();
    oneReady = 0;
    positionReady.x = 0;
    positionReady.y = 0;
    myLevel = level;
}
コード例 #2
0
ファイル: blockarea.cpp プロジェクト: kqiao/mine_sweeper
BlockArea::BlockArea(int _r, int _c, int _m, QWidget *parent) :
    QWidget(parent)
{
    set_block_area(_r, _c, _m, true);
}