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

📄 function.lst

📁 移植于51单片机上的ucos。SCH51-OS是整个工程项目
💻 LST
📖 第 1 页 / 共 3 页
字号:
 228   1              /*根据level.h中的值进行输出单个字符点阵为16*16,显示8*8个字符*/
 229   1              for(i = 0; i < 8; i++)
 230   1                      for(j = 0; j < 8; j++){
 231   2                              level_temp[i][j]=level[g][j][i];
 232   2                              switch(level_temp[i][j]){       
 233   3                                      case 0:
 234   3                                                 printc(i,j,0);
 235   3                                                 break;                                          
 236   3                                      case 1:         /*人物1*/
 237   3                                                 curx=i;
 238   3                                                 cury=j;
 239   3                                                 printc(i,j,1);
 240   3                                                 break;
 241   3                                      case 2:         /*砖头2*/
C51 COMPILER V7.10   FUNCTION                                                              08/18/2008 10:07:15 PAGE 5   

 242   3                                                 printc(i,j,2);
 243   3                                                 break;
 244   3                                      case 3:         /*箱子3*/
 245   3                                                 printc(i,j,3);
 246   3                                                 break;
 247   3                                      case 4:         /*目的4*/
 248   3                                                 printc(i,j,4);
 249   3                                                 break;
 250   3                                      case 5:         /*成功5*/
 251   3                                                 printc(i,j,5);
 252   3                                                 break;
 253   3                              }
 254   2                      }
 255   1              set_xy(curx*2,cury*2);
 256   1      }
 257          
 258          void pass(){
 259   1              uchar i,j,k=1;
 260   1              for(i = 0; i < 8; i++){
 261   2                      if(k==0) break;
 262   2                      for(j = 0; j < 8; j++)
 263   2                              if(level[g][j][i]==4||level[g][j][i]==5)
 264   2                                      if(level_temp[i][j]==5)
 265   2                                              k=1;
 266   2                                      else{
 267   3                                              k=0;
 268   3                                              break;
 269   3                                      }
 270   2              }
 271   1              if(k==1){
 272   2                      if(g<8)g+=1;
 273   2                      else g=0;
 274   2                      pushbox();
 275   2                      guan();
 276   2              }
 277   1      }
 278          
 279          void keyboard(){
 280   1              switch(P1&0x1f){
 281   2                      case 0x1e:              /*上 cury > 0 && */
 282   2                                        if(level_temp[curx][cury-1]==0||level_temp[curx][cury-1]==4){
 283   3      
 284   3                                            if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 285   4                                                    level_temp[curx][cury]=4;
 286   4                                                printc(curx,cury,4);
 287   4                                                }
 288   3                                                else{
 289   4                                                    level_temp[curx][cury]=0;
 290   4                                                printc(curx,cury,0);
 291   4                                                }
 292   3      
 293   3                                            cury=cury-1;
 294   3                                                level_temp[curx][cury]=1;
 295   3                                            printc(curx,cury,1);
 296   3                                        }
 297   2      
 298   2                                        else if(level_temp[curx][cury-1]==3){
 299   3      
 300   3                                            if(level_temp[curx][cury-2]==0){
 301   4      
 302   4                                                if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 303   5                                                        level_temp[curx][cury]=4;
C51 COMPILER V7.10   FUNCTION                                                              08/18/2008 10:07:15 PAGE 6   

 304   5                                                    printc(curx,cury,4);
 305   5                                                    }
 306   4                                                        else{
 307   5                                                        level_temp[curx][cury]=0;
 308   5                                                    printc(curx,cury,0);
 309   5                                                    }
 310   4      
 311   4                                                        cury=cury-1;
 312   4                                                        level_temp[curx][cury]=1;
 313   4                                                        printc(curx,cury,1);
 314   4                                                        level_temp[curx][cury-1]=3;
 315   4                                                        printc(curx,cury-1,3);
 316   4                                                }
 317   3      
 318   3                                                else if(level_temp[curx][cury-2]==4){
 319   4      
 320   4                                                if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 321   5                                                        level_temp[curx][cury]=4;
 322   5                                                    printc(curx,cury,4);
 323   5                                                    }
 324   4                                                        else{
 325   5                                                        level_temp[curx][cury]=0;
 326   5                                                    printc(curx,cury,0);
 327   5                                                    }
 328   4      
 329   4                                                        cury=cury-1;
 330   4                                                        level_temp[curx][cury]=1;
 331   4                                                        printc(curx,cury,1);
 332   4                                                        level_temp[curx][cury-1]=5;
 333   4                                                        printc(curx,cury-1,5);
 334   4                                                        pass();
 335   4                                                }
 336   3      
 337   3                                        }
 338   2      
 339   2                                        else if(level_temp[curx][cury-1]==5){
 340   3      
 341   3                                            if(level_temp[curx][cury-2]==0){
 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                                                        cury=cury-1;
 352   4                                                        level_temp[curx][cury]=1;
 353   4                                                        printc(curx,cury,1);
 354   4                                                        level_temp[curx][cury-1]=3;
 355   4                                                        printc(curx,cury-1,3);
 356   4                                                            
 357   4                                                }
 358   3                                                else if(level_temp[curx][cury-2]==4){
 359   4      
 360   4                                                    if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 361   5                                                        level_temp[curx][cury]=4;
 362   5                                                    printc(curx,cury,4);
 363   5                                                    }
 364   4                                                        else{
 365   5                                                        level_temp[curx][cury]=0;
C51 COMPILER V7.10   FUNCTION                                                              08/18/2008 10:07:15 PAGE 7   

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

 428   4                                                        cury=cury+1;
 429   4                                                        level_temp[curx][cury]=1;
 430   4                                                        printc(curx,cury,1);
 431   4                                                        level_temp[curx][cury+1]=5;
 432   4                                                        printc(curx,cury+1,5);
 433   4                                                        pass();
 434   4                                                }
 435   3      
 436   3                                        }
 437   2      
 438   2                                        else if(level_temp[curx][cury+1]==5){
 439   3      
 440   3                                            if(level_temp[curx][cury+2]==0){
 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                                                        cury=cury+1;
 451   4                                                        level_temp[curx][cury]=1;
 452   4                                                        printc(curx,cury,1);
 453   4                                                        level_temp[curx][cury+1]=3;
 454   4                                                        printc(curx,cury+1,3);
 455   4                                                            
 456   4                                                }
 457   3                                                else if(level_temp[curx][cury+2]==4){
 458   4      
 459   4                                                    if(level[g][cury][curx]==4||level[g][cury][curx]==5){
 460   5                                                        level_temp[curx][cury]=4;
 461   5                                                    printc(curx,cury,4);

⌨️ 快捷键说明

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