搜索
查看: 866|回复: 3
打印 上一主题 下一主题

推箱子中问题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-2-11 16:30:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 4
int main()
{
system("color 5f");
int i,j=0,t,u,count=0,x=3,y=2,n,b[N][2]={{5,2},{5,3},{4,2},{4,3}};
char a[7][11]={"##########",
       "##     ###",
                   "##O###   #",
                   "# S O  O #",
                   "# **# O ##",
                   "##**#   ##",
                   "##########"};
    char c[7][11]={"##########",
       "##     ###",
                   "##O###   #",
                   "# S O  O #",
                   "# **# O ##",
                   "##**#   ##",
                   "##########"};
while(count!=4)
    {
  
  for(i=0;i<7;i++)
  {
   puts(a[i]);
  }
  n=getch();
  if(!(n=='w'||n=='a'||n=='s'||n=='d'))
  {
   if(n=='r')
            {
    for(i=0;i<7;i++)
                for(j=0;j<11;j++)
                {
     a[i][j]=c[i][j];
                }
                x=3;
                y=2;
            }
   system("cls");
   continue;
  }
  if(n=='w')
  {
   if(a[x-1][y]==' ')
            {
               
                a[x][y]=' ';
    x--;
                a[x][y]='S';         
            }
            else if(a[x-1][y]=='O')
            {
                if(a[x-2][y]=='*'||a[x-2][y]==' ')
    { a[x-2][y]='O';
                    a[x][y]=' ';
     x--;
     a[x][y]='S';         
                }
            }
            else
            {
    if(a[x-1][y]=='*')
    {
     a[x-1][y]='S';
     a[x][y]=' ';
     x--;   
                }
            }
    }
    if(n=='a')
    {
   if(a[x][y-1]==' ')
            {
               
                a[x][y]=' ';
    y--;
                a[x][y]='S';   
            }
            else if(a[x][y-1]=='O')
            {
    if(a[x][y-2]=='*'||a[x][y-2]==' ')
    {
     a[x][y-2]='O';
                    a[x][y]=' ';
     y--;
     a[x][y]='S';         
                }
            }
            else
            {
    if(a[x][y-1]=='*')
    {
     a[x][y-1]='S';
     a[x][y]=' ';
     y--;      
                }
            }
    }
    if(n=='s')
    {
   if(a[x+1][y]==' ')
             {
                 
                a[x][y]=' ';
    x++;
                a[x][y]='S';   
            }
            else if(a[x+1][y]=='O')
            {
   if(a[x+2][y]=='*'||a[x+2][y]==' ')
    {  a[x+2][y]='O';
                    a[x][y]=' ';
     x++;
     a[x][y]='S';         
                }
            }
            else
            {
    if(a[x+1][y]=='*')
    {
     a[x+1][y]='S';
     a[x][y]=' ';
     x++;   
                }
            }
    }
    if(n=='d')
    {
   if(a[x][y+1]==' ')
             {   
                a[x][y]=' ';
    y++;
                a[x][y]='S';   
               
            }
            else if(a[x][y+1]=='O')
            {
   if(a[x][y+2]=='*'||a[x][y+2]==' ')
    {  a[x][y+2]='O';
                    a[x][y]=' ';
     y++;
     a[x][y]='S';         
                }
            }
            else
            {
    if(a[x][y+1]=='*')
    {
     a[x][y+1]='S';
     a[x][y]=' ';
     y++;      
                }
            }
     }
  count=0;
  for(i=0;i<N;i++)
        {
            
            j=0;
   t=b[i][j];
            u=b[i][j+1];
   if(a[t][u]==' ')
            {
    a[t][u]='*';
            }
   if(a[t][u]=='O')
    count++;
        }
  system("cls");
    }
    system("cls");
printf("游戏胜利\(^o^)/\n");
system("pause");
return 0;
}
中的
for(i=0;i<N;i++)
        {
            
            j=0;
   t=b[i][j];
            u=b[i][j+1];
   if(a[t][u]==' ')
            {
    a[t][u]='*';
            }
   if(a[t][u]=='O')
    count++;
        }
是什么意思

最佳答案

查看完整内容

这是条件for语句加if选择语句,, 一二句掌柜的也很难讲清楚,你还是 看下教材 第六章和第七章吧~

评分

参与人数 1啊哈币 +5 收起 理由
李掌柜 + 5 加油~代码写多了,很多东西自然而然就懂了.

查看全部评分

楼主新帖
楼主热帖
沙发
发表于 2014-2-11 16:30:30 | 只看该作者
这是条件for语句加if选择语句,,
一二句掌柜的也很难讲清楚,你还是
看下教材<c primer plus>
第六章和第七章吧~
板凳
发表于 2014-2-14 01:36:38 | 只看该作者
这里是改变一次移动后迷宫的显示
地板
发表于 2014-2-17 17:11:20 | 只看该作者

这是条件for语句加if选择语句,,
一二句掌柜的也很难讲清楚,你还是
看下教材<c primer plus>
第六章和第七章吧~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表