主题:[讨论]为打游戏做的,有兴趣的大大帮忙改改,谢谢~~
游戏名称:数字方块
游戏地址为: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]
游戏地址为: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]