⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 els_cpp.cpp

📁 俄罗斯方块 俄罗斯方块 俄罗斯方块
💻 CPP
📖 第 1 页 / 共 4 页
字号:
                                            if(scrxy[dy+1][dx]==FULL||
                                               scrxy[ay+1][ax]==FULL||
                                               scrxy[cy+1][cx]==FULL)
                                               stop();
                                               break;
                                     }
                                break;
                        case MODE5:
                                switch(fx)
                                    { case FX1:
                                            if(scrxy[cy+1][cx]==FULL||
                                               scrxy[dy+1][dx]==FULL)
                                               stop();
                                               break;
                                      case FX2:
                                            if(scrxy[dy+1][dx]==FULL||
                                               scrxy[ay+1][ax]==FULL||
                                               scrxy[cy+1][cx]==FULL)
                                               stop();
                                               break;
                                     }
                                break;
                        case MODE6:
                                switch(fx)
                                {
                                        case FX2:
                                                if(scrxy[ay+1][ax]==FULL ||
                                                  scrxy[dy+1][dx]==FULL)
                                                        stop();
                                                break;
                                        case FX1:
                                                if(scrxy[by+1][bx]==FULL ||
                                                  scrxy[cy+1][cx]==FULL ||
                                                  scrxy[dy+1][dx]==FULL)
                                                        stop();
                                                break;
                                        case FX4:
                                                if(scrxy[ay+1][ax]==FULL||
                                                  scrxy[by+1][bx]==FULL)
                                                        stop();
                                                break;
                                        case FX3:
                                                if(scrxy[ay+1][ax]==FULL||
                                                  scrxy[by+1][bx]==FULL||
                                                  scrxy[dy+1][dx]==FULL)
                                                        stop();
                                                break;
                                }
                                break;
                        case MODE7:
                                   if(scrxy[cy+1][cx]==FULL ||
                                      scrxy[dy+1][dx]==FULL)
                                           stop();
                                break;
                }
}
void __fastcall TJm::cut(int fl)           //TJm的削层函数
{
        int i,j;
        for(i=fl;i>=0;i--)
        {
                for(j=0;j<12;j++)
                {
                        scrxy[i][j]=scrxy[i-1][j];
                }
        }
        sc++;
}
void __fastcall TJm::stop()          //TJm的停止函数
{
        int i,j,k=0;
        for(i=17;i>=0;i--)
        {
                k=0;
                for(j=0;j<12;j++)
                {
                        k=k+scrxy[i][j];
                }
                if(k==FULL*12)
                {
                        cut(i);
                        i++;
                }
        }
        /*int jj,kk=0;
        for(jj=0;jj<12;jj++)
        {
                kk=kk+scrxy[1][jj];
        }
        if(kk>=FULL)
        {
                //els->game->Terminate();
                //els->Start1->Enabled=true;
                //els->Stop1->Enabled=false;
                isstop=1;
                //els->Label2->Caption="OVER";
        }*/
        els->PaintBox2->Canvas->Brush->Style=bsSolid;
        els->PaintBox2->Canvas->Brush->Color=clBtnFace;
        els->PaintBox2->Canvas->Pen->Style=psClear;
        els->PaintBox2->Canvas->Lock();
        els->PaintBox2->Canvas->Rectangle(1*24,1*24,1*24+24,1*24+24);
        els->PaintBox2->Canvas->Rectangle(1*24,2*24,1*24+24,2*24+24);
        els->PaintBox2->Canvas->Rectangle(1*24,3*24,1*24+24,3*24+24);
        els->PaintBox2->Canvas->Rectangle(1*24,4*24,1*24+24,4*24+24);
        els->PaintBox2->Canvas->Rectangle(2*24,1*24,2*24+24,1*24+24);
        els->PaintBox2->Canvas->Rectangle(2*24,2*24,2*24+24,2*24+24);
        els->PaintBox2->Canvas->Rectangle(2*24,3*24,2*24+24,3*24+24);
        els->PaintBox2->Canvas->Rectangle(2*24,4*24,2*24+24,4*24+24);
        els->PaintBox2->Canvas->Rectangle(3*24,1*24,3*24+24,1*24+24);
        els->PaintBox2->Canvas->Rectangle(3*24,2*24,3*24+24,2*24+24);
        els->PaintBox2->Canvas->Rectangle(3*24,3*24,3*24+24,3*24+24);
        els->PaintBox2->Canvas->Rectangle(3*24,4*24,3*24+24,4*24+24);
        els->PaintBox2->Canvas->Unlock();
        lb=next();
        switch(lb)
        {
                case MODE1:
                        ax=4;ay=0;bx=5;by=0;cx=6;cy=0;dx=7;dy=0;
                        fx=FX1;
                        break;
                case MODE2:
                        ax=5;ay=0;bx=6;by=0;cx=6;cy=1;dx=6;dy=2;
                        fx=FX1;
                        break;
                case MODE3:
                        ax=5;ay=0;bx=6;by=0;cx=5;cy=1;dx=5;dy=2;
                        fx=FX1;
                        break;
                case MODE4:
                        ax=5;ay=0;bx=5;by=1;cx=6;cy=1;dx=6;dy=2;
                        fx=FX1;
                        break;
                case MODE5:
                        ax=6;ay=0;bx=5;by=1;cx=6;cy=1;dx=5;dy=2;
                        fx=FX1;
                        break;
                case MODE6:
                        ax=6;ay=0;bx=5;by=1;cx=6;cy=1;dx=7;dy=1;
                        fx=FX1;
                        break;
                case MODE7:
                        ax=5;ay=0;bx=6;by=0;cx=5;cy=1;dx=6;dy=1;
                        fx=FX1;
                        break;
        }
        scrxy[ay][ax]=FULL;
        scrxy[by][bx]=FULL;
        scrxy[cy][cx]=FULL;
        scrxy[dy][dx]=FULL;
}
int __fastcall TJm::rand()             //TJm的随机函数
{
        randomize();
        return random(MODE7+1);
}
//---------------------------------------------------------------------------


void __fastcall Tels::left()
{
        //TODO: Add your source code here
        //if(isstop==1)return;
        scrxy[els->game->jm->ay][els->game->jm->ax]=EMPTY;
        scrxy[els->game->jm->by][els->game->jm->bx]=EMPTY;
        scrxy[els->game->jm->cy][els->game->jm->cx]=EMPTY;
        scrxy[els->game->jm->dy][els->game->jm->dx]=EMPTY;
        els->game->jm->ax=els->game->jm->ax-1;
        els->game->jm->bx=els->game->jm->bx-1;
        els->game->jm->cx=els->game->jm->cx-1;
        els->game->jm->dx=els->game->jm->dx-1;
        scrxy[els->game->jm->ay][els->game->jm->ax]=FULL;
        scrxy[els->game->jm->by][els->game->jm->bx]=FULL;
        scrxy[els->game->jm->cy][els->game->jm->cx]=FULL;
        scrxy[els->game->jm->dy][els->game->jm->dx]=FULL;
        els->game->scr->show();
}

void __fastcall Tels::right()
{
        //TODO: Add your source code here
        //if(isstop==1)return;
        scrxy[els->game->jm->ay][els->game->jm->ax]=EMPTY;
        scrxy[els->game->jm->by][els->game->jm->bx]=EMPTY;
        scrxy[els->game->jm->cy][els->game->jm->cx]=EMPTY;
        scrxy[els->game->jm->dy][els->game->jm->dx]=EMPTY;
        els->game->jm->ax=els->game->jm->ax+1;
        els->game->jm->bx=els->game->jm->bx+1;
        els->game->jm->cx=els->game->jm->cx+1;
        els->game->jm->dx=els->game->jm->dx+1;
        scrxy[els->game->jm->ay][els->game->jm->ax]=FULL;
        scrxy[els->game->jm->by][els->game->jm->bx]=FULL;
        scrxy[els->game->jm->cy][els->game->jm->cx]=FULL;
        scrxy[els->game->jm->dy][els->game->jm->dx]=FULL;
        els->game->scr->show();
}

int __fastcall TJm::next()
{
        //TODO: Add your source code here
        neo=ne;
        ne=rand();
        els->PaintBox2->Canvas->Brush->Style=bsSolid;
        els->PaintBox2->Canvas->Brush->Color=clBlue;
        els->PaintBox2->Canvas->Pen->Style=psClear;
        els->PaintBox2->Canvas->Lock();
        switch(ne)
        {
                case MODE1:
                        els->PaintBox2->Canvas->Rectangle(1*24,1*24,1*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,2*24,1*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,3*24,1*24+24,3*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,4*24,1*24+24,4*24+24);
                        break;
                case MODE2:
                        els->PaintBox2->Canvas->Rectangle(1*24,1*24,1*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,1*24,2*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,2*24,2*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,3*24,2*24+24,3*24+24);
                        break;
                case MODE3:
                        els->PaintBox2->Canvas->Rectangle(1*24,1*24,1*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,1*24,2*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,2*24,1*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,3*24,1*24+24,3*24+24);
                        break;
                case MODE4:
                        els->PaintBox2->Canvas->Rectangle(1*24,1*24,1*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,2*24,1*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,2*24,2*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,3*24,2*24+24,3*24+24);
                        break;
                case MODE5:
                        els->PaintBox2->Canvas->Rectangle(2*24,1*24,2*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,2*24,1*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,2*24,2*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,3*24,1*24+24,3*24+24);
                        break;
                case MODE6:
                        els->PaintBox2->Canvas->Rectangle(2*24,1*24,2*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,2*24,1*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,2*24,2*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(3*24,2*24,3*24+24,2*24+24);
                        break;
                case MODE7:
                        els->PaintBox2->Canvas->Rectangle(1*24,1*24,1*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(1*24,2*24,1*24+24,2*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,1*24,2*24+24,1*24+24);
                        els->PaintBox2->Canvas->Rectangle(2*24,2*24,2*24+24,2*24+24);
                        break;
        }
        els->PaintBox2->Canvas->Unlock();
        return neo;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -