回 帖 发 新 帖 刷新版面

主题:[讨论]为打游戏做的,有兴趣的大大帮忙改改,谢谢~~

游戏名称:数字方块
游戏地址为:http://www.flashempire.com/game/gameplay.php?gameid=17

#include<iostream.h>
class place
{
      public:
             int up,down,left,right;
             place()
             {}
             int initial(int a);           
};           
int place::initial(int a)
             {
                  right=a%10;
                  a=a/10;
                  left=a%10;
                  a=a/10;
                  down=a%10;
                  a=a/10;
                  up=a;
                  return 1;
             }
           
int main()
{
    place a[10];
    int happen;
    cout<<"按'上--下--左--右 '顺序输入,每组作为一个数,首位为零则可不添\n"; 
    cout<<"各块的初始位置为:\n1,2,3\n4,5,6\n7,8,9 ";
    while(1)
    {int m,count=0,c[10]={0,0,0,0,0,0,0,0,0,0},b[10]={0,0,0,0,0,0,0,0,0,0},i[10]={0};
    cout<<"开始输入:\n" ;
    cout<<"第1块:"; 
    cin>>m;
    a[1].initial(m);
    cout<<"第2块:"; 
    cin>>m; 
    a[2].initial(m);
    cout<<"第3块:"; 
    cin>>m;
    a[3].initial(m);
    cout<<"第4块:"; 
    cin>>m;
    a[4].initial(m);
    cout<<"第5块:"; 
    cin>>m;
    a[5].initial(m);
    cout<<"第6块:"; 
    cin>>m;
    a[6].initial(m);
    cout<<"第7块:"; 
    cin>>m;
    a[7].initial(m);
    cout<<"第8块:"; 
    cin>>m;
    a[8].initial(m);
    cout<<"第9块:"; 
    cin>>m;
    a[9].initial(m);    
    for(i[1]=1;i[1]<10;i[1]++)
    {b[i[1]]=1;
    c[1]=i[1];
 
    for(i[2]=1;i[2]<10;i[2]++)
    {if(b[i[2]])
    {
    //getchar();
    continue;
    }
    if(a[i[2]].left!=a[i[1]].right)
    continue;
    
    b[i[2]]=1;
    c[2]=i[2];
  
    for(i[3]=1;i[3]<10;i[3]++)
    {if(b[i[3]])
    continue;
    if(a[i[3]].left!=a[i[2]].right)
    continue;
    b[i[3]]=1;c[3]=i[3];

    for(i[4]=1;i[4]<10;i[4]++)
    {if(b[i[4]])
    continue;
    if(a[i[4]].up!=a[i[1]].down)
    continue;
    b[i[4]]=1;c[4]=i[4];
 
    for(i[5]=1;i[5]<10;i[5]++)
    {if(b[i[5]])
    continue;
    if(a[i[5]].left!=a[i[4]].right)
    continue;
    if(a[i[5]].up!=a[i[2]].down)
    continue;
    b[i[5]]=1;
    c[5]=i[5];
  
    for(i[6]=1;i[6]<10;i[6]++)
    {if(b[i[6]])
    continue;
    if(a[i[6]].left!=a[i[5]].right)
    {
  
    continue;
    }
    if(a[i[6]].up!=a[i[3]].down)
    continue;
    b[i[6]]=1;
    c[6]=i[6];
  
    for(i[7]=1;i[7]<10;i[7]++)
    {if(b[i[7]])
    continue;
    if(a[i[7]].up!=a[i[4]].down)
    continue;
    b[i[7]]=1;c[7]=i[7];

    for(i[8]=1;i[8]<10;i[8]++)
    {if(b[i[8]])
    continue;
    if(a[i[8]].left!=a[i[7]].right)
    continue;
    if(a[i[8]].up!=a[i[5]].down)
    continue;
    b[i[8]]=1;
    c[8]=i[8];
 
    for(i[9]=1;i[9]<10;i[9]++)
    {if(b[i[9]])
    continue;
    if(a[i[9]].left!=a[i[8]].right)
    continue;
    if(a[i[9]].up!=a[i[6]].down)
    continue;
    c[9]=i[9];
      
    //count++;
    cout<<"\n********************\n";
    for(happen=1;happen<10;happen++)
    {    
    cout<<c[happen]<<" ";
    if(!(happen%3))
    cout<<endl;
    }
    getchar();
}//for9
b[i[8]]=0;
}//for8
b[i[7]]=0;
}//for7
b[i[6]]=0;
}//for6
b[i[5]]=0;
}//for5
b[i[4]]=0;
}//for4
b[i[3]]=0;
}//for3
b[i[2]]=0;
}//for2
b[i[1]]=0;
}//for1;
}
//cout<<"count:"<<count<<endl;
getchar();
getchar();
return 1;
}//main

    
    
[em2]

回复列表 (共4个回复)

沙发

有人试过没,给个意见。。
给大家拜个晚年了哈
新年快乐!

板凳

我刚看了一下,不错但没创意,要是新手值得鼓励。错误处理没有,会遇到死循环!!

3 楼


我也遇到过死循环...基本上用3次以上就会碰到死循环,也不知道为什么?

谢谢你啊,[em1]

4 楼


怎么没人留言呢??

大侠们,给个意见啥的

谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册