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

📄 拼图游戏源代码.txt

📁 拼图游戏源代码
💻 TXT
📖 第 1 页 / 共 4 页
字号:
                            Change_Block(4,7);
                            n++;    //移动步数加1
                        }
                        break;
                    case 5:
                        if(point[2].num==9)                          //第五块可以与第二块交换
                        {
                            Change_Block(5,2);
                            n++;    //移动步数加1
                        }
                        else if(point[4].num==9)                          //第五块可以与第四块交换
                        {
                            Change_Block(5,4);
                            n++;    //移动步数加1
                        }
                        else if(point[6].num==9)                          //第五块可以与第六块交换
                        {
                            Change_Block(5,6);
                            n++;    //移动步数加1
                        }
                        else if(point[8].num==9)                          //第五块可以与第八块交换
                        {
                            Change_Block(5,8);
                            n++;    //移动步数加1
                        }
                        break;
                    case 6:
                        if(point[3].num==9)                          //第六块可以与第三块交换
                        {
                            Change_Block(6,3);
                            n++;    //移动步数加1
                        }
                        else if(point[5].num==9)                          //第六块可以与第五块交换
                        {
                            Change_Block(6,5);
                            n++;    //移动步数加1
                        }
                        else if(point[9].num==9)                          //第六块可以与第九块交换
                        {
                            Change_Block(6,9);
                            n++;    //移动步数加1
                        }                               
                        break;
                    case 7:
                        if(point[8].num==9)                  //第七块可以与第八块交换
                        {
                            Change_Block(7,8);
                            n++;                                         //移动步数加1
                        }
                        else if(point[4].num==9)           //第七块可以与第四块交换
                        {
                            Change_Block(7,4);
                            n++;                                         //移动步数加1
                        }                                   
                        break;
                    case 8:
                        if(point[7].num==9)                          //第八块可以与第七块交换
                        {
                            Change_Block(8,7);
                            n++;    //移动步数加1
                        }
                        else if(point[5].num==9)                          //第八块可以与第五块交换
                        {
                            Change_Block(8,5);
                            n++;    //移动步数加1
                        }
                        else if(point[9].num==9)                          //第八块可以与第九块交换
                        {
                            Change_Block(8,9);
                            n++;    //移动步数加1
                        }                                     
                        break;
                    case 9:
                        if(point[8].num==9)                              //第九块可以与第八块交换
                        {
                            Change_Block(9,8);
                            n++;  //移动步数加1
                        }
                        else if(point[6].num==9)                              //第九块可以与第六块交换
                        {
                            Change_Block(9,6);
                            n++;  //移动步数加1
                        }                                 
                        break;
                    default:;
                }
            }
            break;
            case 4:
                if(mouse_x<600 && mouse_y<480)
                    block_num=mouse_x/150+1+(mouse_y/120)*4;            
                if(!fin && block_num>0)                        //如果block_num没能从鼠标坐标上获取值则说明点的位置不对。
                {
                    sndPlaySound("Source\\sound\\click.wav",SND_ASYNC | SND_FILENAME);
                    switch(block_num)
                    {
                    case 1:
                        if(point[block_num+1].num==16)
                        {
                            Change_Block(block_num,block_num+1);
                            n++;
                        }
                        else if(point[block_num+4].num==16)
                        {
                            Change_Block(block_num,block_num+4);
                            n++;
                        }                    
                        break;
                    case 4:
                        if(point[block_num-1].num==16)
                        {    
                            Change_Block(block_num,block_num-1);
                            n++;
                        }
                        else if(point[block_num+4].num==16)
                        {
                            Change_Block(block_num,block_num+4);
                            n++;
                        }
                        break;
                    case 13:
                        if(point[block_num-4].num==16)
                        {
                            Change_Block(block_num,block_num-4);
                            n++;
                        }
                        else if(point[block_num+1].num==16)
                        {
                            Change_Block(block_num,block_num+1);
                            n++;
                        }                
                        break;
                    case 16:
                        if(point[block_num-1].num==16)
                        {
                            Change_Block(block_num,block_num-1);
                            n++;
                        }
                        else if(point[block_num-4].num==16)
                        {
                            Change_Block(block_num,block_num-4);
                            n++;
                        }
                        break;
                    case 2:
                    case 3:
                        if(point[block_num-1].num==16)
                        {
                            Change_Block(block_num,block_num-1);
                            n++;
                        }
                        else if(point[block_num+4].num==16)
                        {
                            Change_Block(block_num,block_num+4);
                            n++;
                        }
                        else if(point[block_num+1].num==16)
                        {
                            Change_Block(block_num,block_num+1);
                            n++;
                        }
                        break;
                    case 5:
                    case 9:
                        if(point[block_num+4].num==16)
                        {
                            Change_Block(block_num,block_num+4);
                            n++;
                        }
                        else if(point[block_num+1].num==16)
                        {
                            Change_Block(block_num,block_num+1);
                            n++;
                        }
                        else if(point[block_num-4].num==16)
                        {
                            Change_Block(block_num,block_num-4);
                            n++;
                        }
                        break;
                    case 8:
                    case 12:
                        if(point[block_num-1].num==16)
                        {
                            Change_Block(block_num,block_num-1);
                            n++;
                        }
                        else if(point[block_num+4].num==16)
                        {
                            Change_Block(block_num,block_num+4);
                            n++;
                        }
                        else if(point[block_num-4].num==16)
                        {
                            Change_Block(block_num,block_num-4);
                            n++;
                        }
                        break;
                    case 14:
                    case 15:
                        if(point[block_num-1].num==16)
                        {
                            Change_Block(block_num,block_num-1);
                            n++;
                        }
                        else if(point[block_num+1].num==16)
                        {
                            Change_Block(block_num,block_num+1);
                            n++;
                        }
                        else if(point[block_num-4].num==16)
                        {
                            Change_Block(block_num,block_num-4);
                            n++;
                        }
                        break;
                    default:
                        if(point[block_num-1].num==16)
                        {
                            Change_Block(block_num,block_num-1);
                            n++;
                        }
                        else if(point[block_num+4].num==16)
                        {
                            Change_Block(block_num,block_num+4);
                            n++;
                        }
                        else if(point[block_num+1].num==16)
                        {
                            Change_Block(block_num,block_num+1);
                            n++;
                        }
                        else if(point[block_num-4].num==16)
                        {
                            Change_Block(block_num,block_num-4);
                            n++;
                        }    
                    }
                }
                break;
              case 5:
                  if(mouse_x<600 && mouse_y<480)
                      block_num=mouse_x/120+1+(mouse_y/96)*5;            
                  if(!fin && block_num>0)                        //如果block_num没能从鼠标坐标上获取值则说明点的位置不对。
                  {
                      sndPlaySound("Source\\sound\\click.wav",SND_ASYNC | SND_FILENAME);
                      switch(block_num)                                  //移动两块
                      {
                      case 1:
                          if(point[block_num+1].num==25)
                          {
                              Change_Block(block_num,block_num+1);
                              n++;
                          }
                          else if(point[block_num+5].num==25)
                          {
                              Change_Block(block_num,block_num+5);
                              n++;
                          }                    
                          break;
                      case 5:
                          if(point[block_num-1].num==25)
                          {    
                              Change_Block(block_num,block_num-1);
                              n++;
                          }
                          else if(point[block_num+5].num==25)
                          {
                              Change_Block(block_num,block_num+5);
                              n++;
                          }
                          break;
                      case 21:
                          if(point[block_num-5].num==25)
                          {
                              Change_Block(block_num,block_num-5);
                              n++;
                          }
                          else if(point[block_num+1].num==25)
                          {
                              Change_Block(block_num,block_num+1);
                              n++;
                          }                
                          break;
                      case 25:
                          if(point[block_num-1].num==25)
                          {
                              Change_Block(block_num,block_num-1);
                              n++;
                          }
                          else if(point[block_num-5].num==25)
                          {
                              Change_Block(block_num,block_num-5);
                              n++;
                          }
                          break;
                      case 2:
                      case 3:
                      case 4:
                          if(point[block_num-1].num==25)
                          {
                              Change_Block(block_num,block_num-1);
                              n++;
                          }
                          else if(point[block_num+5].num==25)
                          {
                              Change_Block(block_num,block_num+5);
                              n++;
                          }
                          else if(point[block_num+1].num==25)
                          {
                              Change_Block(block_num,block_num+1);
                              n++;
                          }
                          break;
                      case 6:
                      case 11:
                      case 16:
                          if(point[block_num+5].num==25)
                          {
                              Change_Block(block_num,block_num+5);
                              n++;
                          }
                          else if(point[block_num+1].num==25)
                          {
                              Change_Block(block_num,block_num+1);
                              n++;
                          }
                          else if(point[block_num-5].num==25)
                          {
                              Change_Block(block_num,block_num-5);
                              n++;
                          }
                          break;
                      case 10:
                      case 15:
                      case 20:
                          if(point[block_num-1].num==25)
                          {
                              Change_Block(block_num,block_num-1);
                              n++;
                          }
                          else if(point[block_num+5].num==25)
                          {
                              Change_Block(block_num,block_num+5);
                              n++;
                          }
                          else if(point[block_num-5].num==25)
                          {
                              Change_Block(block_num,block_num-5);
                              n++;
                          }
                          break;
                      case 22:
                      case 23:
                      case 24:

⌨️ 快捷键说明

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