| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2519 人关注过本帖
标题:多关卡地图推箱子游戏
取消只看楼主 加入收藏
卡卡西西里
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-3-7
结帖率:0
收藏
 问题点数:0 回复次数:1 
多关卡地图推箱子游戏

# include<stdio.h>
# include<conio.h>
# include<stdlib.h>
//调出地图
    void file(int map[14][16],int n,int flag) //n表示关卡数 ,flag定位位置
{
                                                                                                                                             
   
      
      FILE*fp=fopen("map.txt","r");
      if(fp==NULL)
      {
          printf("文件读取错误\n");
         
      }
      else
      for(int i=0 ;i<14 ;i++)
           {   for(int j=0 ;j<16 ;j++)
                {
                      map[i][j]=fgetc(fp);
                        
                }
             fgetc(fp);
          }
         
        
      
          if(n<=9)
       {
          flag=257*(n-1)+5;//1~9关
         
       }
      
       else
        {
         flag=257*9+258*(n-10)+6;//10~43关定位关卡数
         
         fseek(fp,flag,SEEK_SET);
       }
         
          fclose(fp) ;                                
            

  }
   



 //地图的生成
void drawmap(int map[14][16])

{   
     
     for( int i=0 ; i<14 ; i++)
     {   for( int j=0 ; j<16 ; j++)
         
      {   
               
           switch (map[i][j])
        {      
           case '0':
                           printf("  ");//空地 打入两个空格
                           break;
               case '1':
                            printf("■") ;//墙
                            break;
               case '2':
                            printf("  ");//内部空地 打入两个空格
                            break;
               case '3':
                         printf("×");//目的地
                         break;
            case '4':
                          
                          printf("◎");//箱子
                          break;
            case '5':
                         printf("☆");//箱子推到目的地后的显示
                         break;
            case '6':
                         printf("♀");//小人
                         break;
           }
           
         
         
     }      printf("\n");
             }
            
            
      
}
   
   

int main()
{    int N,FLAG;
     int MAP[14][16];
     printf("please input your level:%d\n");
     scanf("%d",&N);
     if(N>0&&N<=43)
     {
         file(MAP,N,FLAG);
         drawmap(MAP);
     }
      
     else
     printf("Game Over!\n");
   
   
    return 0;
   
   
   
}
搜索更多相关主题的帖子: map printf int flag break 
2020-03-07 12:02
卡卡西西里
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-3-7
收藏
得分:0 
麻烦帮我看一下为什么总是输入关卡数却总是在第一关
2020-03-07 12:03
快速回复:多关卡地图推箱子游戏
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022751 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved