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

📄 function.lst

📁 基于51单片机的游戏
💻 LST
📖 第 1 页 / 共 3 页
字号:
 236   2                      case 5:         /*成功5*/
 237   2                                 write_one(0x90,INC_WR);
 238   2                                 write_one(0x91,INC_WR);
 239   2                                 set_xy(i*2,j*2+1);
 240   2                                 write_one(0x92,INC_WR);
 241   2                                 write_one(0x93,INC_WR);
C51 COMPILER V8.02   FUNCTION                                                              03/06/2007 17:42:14 PAGE 5   

 242   2                                 break;
 243   2              }
 244   1              
 245   1      }
 246          
 247          
 248          
 249          void pushbox(){
 250   1              uchar i,j;
 251   1              /*根据level.h中的值进行输出单个字符点阵为16*16,显示8*8个字符*/
 252   1              for(i = 0; i < 8; i++)
 253   1                      for(j = 0; j < 8; j++){
 254   2                              level_temp[i][j]=level[g][j][i];
 255   2                              switch(level_temp[i][j]){       
 256   3                                      case 0:
 257   3                                                 printc(i,j,0);
 258   3                                                 break;                                          
 259   3                                      case 1:         /*人物1*/
 260   3                                                 curx=i;
 261   3                                                 cury=j;
 262   3                                                 printc(i,j,1);
 263   3                                                 break;
 264   3                                      case 2:         /*砖头2*/
 265   3                                                 printc(i,j,2);
 266   3                                                 break;
 267   3                                      case 3:         /*箱子3*/
 268   3                                                 printc(i,j,3);
 269   3                                                 break;
 270   3                                      case 4:         /*目的4*/
 271   3                                                 printc(i,j,4);
 272   3                                                 break;
 273   3                                      case 5:         /*成功5*/
 274   3                                                 printc(i,j,5);
 275   3                                                 break;
 276   3                              }
 277   2                      }
 278   1              set_xy(curx*2,cury*2);
 279   1      }
 280          
 281          void pass(){
 282   1              uchar i,j,k=1;
 283   1              for(i = 0; i < 8; i++){
 284   2                      if(k==0) break;
 285   2                      for(j = 0; j < 8; j++)
 286   2                              if(level[g][j][i]==4||level[g][j][i]==5)
 287   2                                      if(level_temp[i][j]==5)
 288   2                                              k=1;
 289   2                                      else{
 290   3                                              k=0;
 291   3                                              break;
 292   3                                      }
 293   2              }
 294   1              if(k==1){
 295   2                      if(g<8)g+=1;
 296   2                      else g=0;
 297   2                      pushbox();
 298   2                      guan();
 299   2              }
 300   1      }
 301          
 302          void keyboard(){
 303   1              switch(P1&0x1f){
C51 COMPILER V8.02   FUNCTION                                                              03/06/2007 17:42:14 PAGE 6   

 304   2                      case 0x1e:              /*上 cury > 0 && */
 305   2                                        if(level_temp[curx][cury-1]==0||level_temp[curx][cury-1]==4){
 306   3      
 307   3                                            if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 308   4                                                    level_temp[curx][cury]=4;
 309   4                                                printc(curx,cury,4);
 310   4                                                }
 311   3                                                else{
 312   4                                                    level_temp[curx][cury]=0;
 313   4                                                printc(curx,cury,0);
 314   4                                                }
 315   3      
 316   3                                            cury=cury-1;
 317   3                                                level_temp[curx][cury]=1;
 318   3                                            printc(curx,cury,1);
 319   3                                        }
 320   2      
 321   2                                        else if(level_temp[curx][cury-1]==3){
 322   3      
 323   3                                            if(level_temp[curx][cury-2]==0){
 324   4      
 325   4                                                if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 326   5                                                        level_temp[curx][cury]=4;
 327   5                                                    printc(curx,cury,4);
 328   5                                                    }
 329   4                                                        else{
 330   5                                                        level_temp[curx][cury]=0;
 331   5                                                    printc(curx,cury,0);
 332   5                                                    }
 333   4      
 334   4                                                        cury=cury-1;
 335   4                                                        level_temp[curx][cury]=1;
 336   4                                                        printc(curx,cury,1);
 337   4                                                        level_temp[curx][cury-1]=3;
 338   4                                                        printc(curx,cury-1,3);
 339   4                                                }
 340   3      
 341   3                                                else if(level_temp[curx][cury-2]==4){
 342   4      
 343   4                                                if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 344   5                                                        level_temp[curx][cury]=4;
 345   5                                                    printc(curx,cury,4);
 346   5                                                    }
 347   4                                                        else{
 348   5                                                        level_temp[curx][cury]=0;
 349   5                                                    printc(curx,cury,0);
 350   5                                                    }
 351   4      
 352   4                                                        cury=cury-1;
 353   4                                                        level_temp[curx][cury]=1;
 354   4                                                        printc(curx,cury,1);
 355   4                                                        level_temp[curx][cury-1]=5;
 356   4                                                        printc(curx,cury-1,5);
 357   4                                                        pass();
 358   4                                                }
 359   3      
 360   3                                        }
 361   2      
 362   2                                        else if(level_temp[curx][cury-1]==5){
 363   3      
 364   3                                            if(level_temp[curx][cury-2]==0){
 365   4      
C51 COMPILER V8.02   FUNCTION                                                              03/06/2007 17:42:14 PAGE 7   

 366   4                                                if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 367   5                                                        level_temp[curx][cury]=4;
 368   5                                                    printc(curx,cury,4);
 369   5                                                    }
 370   4                                                        else{
 371   5                                                        level_temp[curx][cury]=0;
 372   5                                                    printc(curx,cury,0);
 373   5                                                    }
 374   4                                                        cury=cury-1;
 375   4                                                        level_temp[curx][cury]=1;
 376   4                                                        printc(curx,cury,1);
 377   4                                                        level_temp[curx][cury-1]=3;
 378   4                                                        printc(curx,cury-1,3);
 379   4                                                            
 380   4                                                }
 381   3                                                else if(level_temp[curx][cury-2]==4){
 382   4      
 383   4                                                    if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 384   5                                                        level_temp[curx][cury]=4;
 385   5                                                    printc(curx,cury,4);
 386   5                                                    }
 387   4                                                        else{
 388   5                                                        level_temp[curx][cury]=0;
 389   5                                                    printc(curx,cury,0);
 390   5                                                    }
 391   4                                                    
 392   4                                                        cury=cury-1;
 393   4                                                        level_temp[curx][cury]=1;
 394   4                                                        printc(curx,cury,1);
 395   4                                                        level_temp[curx][cury-1]=5;
 396   4                                                        printc(curx,cury-1,5);
 397   4                                                        pass();
 398   4                                                }
 399   3                                                pass();
 400   3                                        }
 401   2                                        while((P1&0x01)==0);
 402   2                                        break;
 403   2                      case 0x1d:         /*下 cury < 7 && */
 404   2                                        if(level_temp[curx][cury+1]==0||level_temp[curx][cury+1]==4){
 405   3      
 406   3                                            if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 407   4                                                    level_temp[curx][cury]=4;
 408   4                                                printc(curx,cury,4);
 409   4                                                }
 410   3                                                else{
 411   4                                                    level_temp[curx][cury]=0;
 412   4                                                printc(curx,cury,0);
 413   4                                                }
 414   3      
 415   3                                            cury=cury+1;
 416   3                                                level_temp[curx][cury]=1;
 417   3                                            printc(curx,cury,1);
 418   3                                        }
 419   2      
 420   2                                        else if(level_temp[curx][cury+1]==3){
 421   3      
 422   3                                            if(level_temp[curx][cury+2]==0){
 423   4      
 424   4                                                if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 425   5                                                        level_temp[curx][cury]=4;
 426   5                                                    printc(curx,cury,4);
 427   5                                                    }
C51 COMPILER V8.02   FUNCTION                                                              03/06/2007 17:42:14 PAGE 8   

 428   4                                                        else{
 429   5                                                        level_temp[curx][cury]=0;
 430   5                                                    printc(curx,cury,0);
 431   5                                                    }
 432   4      
 433   4                                                        cury=cury+1;
 434   4                                                        level_temp[curx][cury]=1;
 435   4                                                        printc(curx,cury,1);
 436   4                                                        level_temp[curx][cury+1]=3;
 437   4                                                        printc(curx,cury+1,3);
 438   4                                                }
 439   3      
 440   3                                                else if(level_temp[curx][cury+2]==4){
 441   4      
 442   4                                                if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 443   5                                                        level_temp[curx][cury]=4;
 444   5                                                    printc(curx,cury,4);
 445   5                                                    }
 446   4                                                        else{
 447   5                                                        level_temp[curx][cury]=0;
 448   5                                                    printc(curx,cury,0);
 449   5                                                    }
 450   4      
 451   4                                                        cury=cury+1;
 452   4                                                        level_temp[curx][cury]=1;
 453   4                                                        printc(curx,cury,1);
 454   4                                                        level_temp[curx][cury+1]=5;
 455   4                                                        printc(curx,cury+1,5);
 456   4                                                        pass();
 457   4                                                }
 458   3      
 459   3                                        }
 460   2      
 461   2                                        else if(level_temp[curx][cury+1]==5){
 462   3      
 463   3                                            if(level_temp[curx][cury+2]==0){
 464   4      
 465   4                                                if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 466   5                                                        level_temp[curx][cury]=4;
 467   5                                                    printc(curx,cury,4);
 468   5                                                    }
 469   4                                                        else{
 470   5                                                        level_temp[curx][cury]=0;
 471   5                                                    printc(curx,cury,0);
 472   5                                                    }
 473   4                                                        cury=cury+1;
 474   4                                                        level_temp[curx][cury]=1;
 475   4                                                        printc(curx,cury,1);
 476   4                                                        level_temp[curx][cury+1]=3;
 477   4                                                        printc(curx,cury+1,3);

⌨️ 快捷键说明

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