# include & ltstdio.h & gt
# include & ltstdlib.h & gt
# include & ltconio.h & gt
# include & lttime.h & gt
/*定義全局變量*/
int?puzz[9];//?九格遊戲陣列
int?i=0,j,k;//?我?提示初始化接口,J?得到空間位置,k?移動次數
int?空間;//?空缺
/*自定義函數原型*/
作廢?interface();//?界面,包括打印填充的矩形和數字。
作廢?改變(int?a,int?b);//?交換
作廢?按();//?按鈕
作廢?start();//?初始化並判斷是否成功。
作廢?start()//?初始化並判斷是否成功。
{
int?甲、乙、丙;
int?star[22]= { 30012032016036016032020034024026024028020024016028016030065438
k = 0;
for(a = 0;a & lt8;a++)
puzz[a]= a+1;
puzz[8]= 0;
interface();
for(c = 0;c & lt100;c++)?//?隨意擾亂秩序
{
a = rand()% 9;
b =(a+2)% 8;?//?關於是否有解的問題,不清楚,引用。
變化(a,b);
}
while(1)
{
interface();
for(a = 0;a & lt8;a++)
如果(puzz[a]!=a+1)
打破;
如果(a==8)
{
drawpoly(11,星號);//?五角星
set color(1);//?文本“成功”顏色
setfillstyle(1,4);//?五角星填充顏色
漫填(300,150,15);//?五角星裏面壹點
outtextxy(260,180,"成功!!");
getch();
start();
}
for(j = 0;j & lt=8;j++)
如果?(puzz[j]==0)
打破;
space = j;
按();
}
}
作廢?interface()//?界面,包括打印填充的矩形和數字。
{
clear viewport();//?清晰的屏幕圖形
setbkcolor(6);//?設置背景顏色
setfillstyle(2,2);//?矩形塊顏色
if(puzz[0]!=0)
吧(160,60,240,140);
if(puzz[1]!=0)
bar(260,60,340,140);
if(puzz[2]!=0)
吧(360,60,440,140);
if(puzz[3]!=0)
吧(160,160,240,240);
if(puzz[4]!=0)
吧(260,160,340,240);
if(puzz[5]!=0)
吧(360,160,440,240);
if(puzz[6]!=0)
吧(160,260,240,340);
if(puzz[7]!=0)
吧(260,260,340,340);
if(puzz[8]!=0)
吧(360,260,440,340);
gotoxy(25,7);
if(puzz[0]!=0)
printf("%d ",puzz[0]);
gotoxy(38,7);
if(puzz[1]!=0)
printf("%d ",puzz[1]);
gotoxy(50,7);
if(puzz[2]!=0)
printf("%d ",puzz[2]);
gotoxy(25,13);
if(puzz[3]!=0)
printf("%d ",puzz[3]);
gotoxy(3813);
if(puzz[4]!=0)
printf("%d ",puzz[4]);
gotoxy(5013);
if(puzz[5]!=0)
printf("%d ",puzz[5]);
gotoxy(25,19);
if(puzz[6]!=0)
printf("%d ",puzz[6]);
gotoxy(3819);
if(puzz[7]!=0)
printf("%d ",puzz[7]);
gotoxy(5019);
if(puzz[8]!=0)
printf("%d ",puzz[8]);
如果(i==0)
{
printf("\n\n\n\n\n\t\tPress?有嗎?鑰匙?去哪?敢嗎?”);
getch();
}
gotoxy(60,4);//?印刷移動次數
printf("%d?th”,k);
I+= 1;
返回;
}
int?主()
{
int?gdriver=VGA,gmode = VGAHI
init graph(& amp;g driver & amp;gmode," c:\ \ tc30 \ \ BGI ");
srand((無符號)時間(空));//?播種
clear viewport();//?cls
printf(" \ n \ n \ t \ t \ t/////////////////////////////////\ n ");
printf(" \ n ");
printf("\t\t\t\tPUZZLE?遊戲\ n”);
printf(" \ n ");
printf(" \ t \ t \ t//////////////////////////////////\ n ");
printf(" \ n \ n \ n \ n \ n \ n \ t按?有嗎?鑰匙?去哪?開始?遊戲”);
printf(" \ n \ n \ t按?Esc?去哪?退出\ n \ n \ t ");
if(getch()==27)
{
clr SCR();
clear viewport();
printf(" \ n \ n \ n \ t \ t \ t//////////////////////////////////////\ n ");
printf(" \ n \ t \ t \ t \ t參見?妳呢。下壹個?時間\ n ");
printf(" \ n \ t \ t \ t/////////////////////////////////////\ n ");
printf("\n\n\n\n\n\t\t\tPress?有嗎?鑰匙?去哪?退出?”);
getch();
closegraph();
回歸?0;
}
start();
回歸?0;
}