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

📄 elsfk.c

📁 俄罗斯方块的小游戏
💻 C
📖 第 1 页 / 共 4 页
字号:
                    putimage(xorigin+20,20*i,buffer1,COPY_PUT);
                    putimage(xorigin+20,20*(i+1),buffer1,COPY_PUT);
                    putimage(xorigin+20,20*(i+2),buffer1,COPY_PUT);
                }
                break;
            }
            case 11:
            {
                if(((a[x][i+1]||a[x+1][i+1]||a[x+2][i+1])==0)&&((i+1)<24))
                {
                    putimage(xorigin+40,20*i,buffer1,COPY_PUT);
                    putimage(xorigin,20*(i+1),buffer1,COPY_PUT);
                    putimage(xorigin+20,20*(i+1),buffer1,COPY_PUT);
                    putimage(xorigin+40,20*(i+1),buffer1,COPY_PUT);
                }
                break;
            }
            case 12:
            {
                if(((a[x][i+2]||a[x+1][i+2])==0)&&((i+2)<24))
                {
                    putimage(xorigin,20*i,buffer1,COPY_PUT);
                    putimage(xorigin,20*(i+1),buffer1,COPY_PUT);
                    putimage(xorigin,20*(i+2),buffer1,COPY_PUT);
                    putimage(xorigin+20,20*(i+2),buffer1,COPY_PUT);
                }
                break;
            }
            case 13:
            {
                if(((a[x][i+1]||a[x+1][i]||a[x+2][i])==0)&&(i+1<24))
                {
                    putimage(xorigin,20*i,buffer1,COPY_PUT);
                    putimage(xorigin+20,20*i,buffer1,COPY_PUT);
                    putimage(xorigin+40,20*i,buffer1,COPY_PUT);
                    putimage(xorigin,20*(i+1),buffer1,COPY_PUT);
                }
                break;
            }
        }
        if(shape==1&&(a[x][i+3]!=0||((i+3)>=24)))
            break;
        else if((shape==2)&&(a[x][i]||a[x+1][i]||a[x+2][i]||a[x+3][i]!=0))
            break;
        else if((shape==3)&&( ((a[x][i+2]||a[x+1][i+1])!=0) ||((i+2)>=24)))
            break;
        else if((shape==4)&&(((a[x][i]||a[x+1][i+1]||a[x+2][i+1])!=0)||((i+1)>=\
                24)))
            break;
        else if((shape==5)&&(((a[x][i+1]||a[x+1][i+1]||a[x+2][i+1])!=0)||((i+1)\
                >=24)))
            break;
        else if((shape==6)&&(((a[x][i+2]||a[x+1][i+1])!=0)||((i+2)>=24)))
            break;
        else if((shape==7)&&(((a[x][i]||a[x+1][i+1]||a[x+2][i])!=0)||((i+1)>=24\
                 )))
            break;
        else if((shape==8)&&(((a[x][i+1]||a[x+1][i+2])!=0)||((i+2)>=24)))
            break;
        else if((shape==9)&&(((a[x][i+1]||a[x+1][i+1])!=0)||((i+1)>=24)))
            break;
        else if((shape==10)&&(((a[x][i]||a[x+1][i+2])!=0)||((i+2)>=24)))
            break;
        else if((shape==11)&&(((a[x][i+1]||a[x+1][i+1]||a[x+2][i+1])!=0)||\
                ((i+1)>=24)))
            break;
        else if((shape==12)&&(((a[x][i+2]||a[x+1][i+2])!=0)||((i+2)>=24)))
            break;
        else if((shape==13)&&(((a[x][i+1]||a[x+1][i]||a[x+2][i])!=0)||(i+1>=24)\
                ))
            break;
        if(down)
        {
            delay(3000);
        }
        else
        {
            button=0;
            for(j=0;j<10;j++)
            {
                delay(15000);
                if((button=kbhit())!=0)
                {
                    key=getch();
                    break;
                }
            }


        }

        switch(shape)
        {
            case 1:
            putimage(xorigin,20*i,buffer2,COPY_PUT);     /*擦掉图形*/
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin,20*(i+2),buffer2,COPY_PUT);
            putimage(xorigin,20*(i+3),buffer2,COPY_PUT);
            break;
            case 2:
            putimage(xorigin,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin+40,20*i,buffer2,COPY_PUT);
            putimage(xorigin+60,20*i,buffer2,COPY_PUT);
            break;
            case 3:
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin,20*(i+2),buffer2,COPY_PUT);
            break;
            case 4:
            putimage(xorigin,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+40,20*(i+1),buffer2,COPY_PUT);
            break;
            case 5:
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+40,20*(i+1),buffer2,COPY_PUT);
            break;
            case 6:
            putimage(xorigin,20*i,buffer2,COPY_PUT);
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin,20*(i+2),buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            break;
            case 7:
            putimage(xorigin,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin+40,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            break;
            case 8:
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+2),buffer2,COPY_PUT);
            break;
            case 9:
            putimage(xorigin,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            break;
            case 10:
            putimage(xorigin,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+2),buffer2,COPY_PUT);
            break;
            case 11:
            putimage(xorigin+40,20*i,buffer2,COPY_PUT);
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin+40,20*(i+1),buffer2,COPY_PUT);
            break;
            case 12:
            putimage(xorigin,20*i,buffer2,COPY_PUT);
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            putimage(xorigin,20*(i+2),buffer2,COPY_PUT);
            putimage(xorigin+20,20*(i+2),buffer2,COPY_PUT);
            break;
            case 13:
            putimage(xorigin,20*i,buffer2,COPY_PUT);
            putimage(xorigin+20,20*i,buffer2,COPY_PUT);
            putimage(xorigin+40,20*i,buffer2,COPY_PUT);
            putimage(xorigin,20*(i+1),buffer2,COPY_PUT);
            break;
        }

        if(button!=0)
        {
            switch(key)
            {
                case 'a':
                case 'A':          /*左*/
                if((shape==1)&&(xorigin>160)&&((a[x-1][i]||a[x-1][i+1]||\
                a[x-1][i+2]||a[x-1][i+3])==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==2)&&(xorigin>160)&&(a[x-1][i]==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==3)&&(xorigin>160)&&((a[x-1][i+1]||a[x-1][i+2])\
                        ==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==4)&&(xorigin>160)&&((a[x-1][i]||a[x][i+1])==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==5)&&(xorigin>160)&&((a[x][i]||a[x-1][i+1])==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==6)&&(xorigin>160)&&((a[x-1][i]||a[x-1][i+1]||\
                        a[x-1][i+2])==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==7)&&(xorigin>160)&&((a[x-1][i]||a[x][i+1])==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==8)&&(xorigin>160)&&((a[x][i]||a[x][i+2]||a[x-1]\
                        [i+1])==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==9)&&(xorigin>160)&&((a[x-1][i]||a[x-1][i+1])==0\
                        ))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==10)&&(xorigin>160)&&((a[x-1][i]||a[x][i+1]\
                        ||a[x][i+2])==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==11)&&(xorigin>160)&&((a[x-1][i+1]||a[x+1][i])\
                        ==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==12)&&(xorigin>160)&&((a[x-1][i]||a[x-1][i+1]||\
                        a[x-1][i+2])==0))
                {
                    xorigin-=20;
                    i--;
                }
                else if((shape==13)&&(xorigin>160)&&((a[x-1][i]||a[x-1][i+1])\
                        ==0))
                {
                    xorigin-=20;
                    i--;
                }
                break;
                case 'd':      /*右*/
                case 'D':
                if((shape==1)&&((xorigin)<440)&&((a[x+1][i]||a[x+1][i+1]||\
                a[x+1][i+2]||a[x+1][i+3])==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==2)&&(xorigin+80<460)&&(a[x+4][i]==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==3)&&(xorigin+40<460)&&((a[x+1][i]||a[x+1][i+1]\
                        )==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==4)&&(xorigin+60<460)&&((a[x+2][i]||a[x+3][i+1])\
                        ==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==5)&&(xorigin+60<460)&&((a[x+2][i]||a[x+3][i+1])\
                        ==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==6)&&(xorigin+40<460)&&((a[x+1][i]||a[x+2][i+1]\
                        ||a[x+1][i+2])==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==7)&&(xorigin+60<460)&&((a[x+3][i]||a[x+2][i+1])\
                        ==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==8)&&(xorigin+40<460)&&((a[x+2][i]||a[x+2][i+1]\
                        ||a[x+2][i+2])==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==9)&&(xorigin+40<460)&&((a[x+2][i]||a[x+2][i+1])\
                        ==0))
                {
                    xorigin+=20;
                    i--;
                }
                else if((shape==10)&&(xorigin+40<460)&&((a[x+2][i]||a[x+2][i+1]\
                        ||a[x+2][i+2])==0))
                {
                    xorigin+=20;

⌨️ 快捷键说明

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