编码连接游戏

我这里有很多C游戏。给你一个基本简单的河内塔程序。看看这个:

这是一个汉诺塔程序。调试时,最好不要输入大于15的数,因为每一个大数。

结果将是两倍的步骤。除非你有耐心等待结果。河内塔在欧洲。

一款流行的游戏,有A、B、c、B、c三个杆子,A杆子上有几个从大到小的圆盘,大的在下面。

小的在上面,B和C都是空杆。请将A杆上的所有碟片倒在其他杆上,或者B或C上,然后再倒。

在这个过程中,不能把大的压在小的上面。示例程序如下:

# include & ltstdio.h & gt

int I = 0;

主()

{

无符号n;

printf("请输入盘数:");

scanf("%d ",& ampn);

printf(" \ tneedle:\ ta \ t b \ t c \ n ");

movedisc(n,' a ',' c ',' b ');

printf("\t总计:%d\n ",I);

getch();

}

移动光盘(n,从唱针,唱针,使用唱针)

无符号n;

用针充电;

{

如果(n & gt0)

{

movedisc(n-1,fromneedle,usingneedle,toneedle);

i++;

开关(从针)

{

案例“a”:开关(音调开关)

{

事例“b”:printf(" \ t[% d]:\ t % 2d-& gt;%2d\n ",I,n,n);

打破;

case ' c ':printf(" \ t[% d]:\ t % 2d-& gt;%2d\n ",I,n,n);

打破;

}

打破;

情况“b”:开关(音调开关)

{

事例“a”:printf(" \ t[% d]:\ t % 2d & lt;- %2d\n ",I,n,n);

打破;

case ' c ':printf(" \ t[% d]:\ t \ t % 2d-& gt;%2d\n ",I,n,n);

打破;

}

打破;

案例“c”:开关(音调开关)

{

事例“a”:printf(" \ t[% d]:\ t % 2d & lt;- %2d\n ",I,n,n);

打破;

事例“b”:printf(" \ t[% d]:\ t \ t % 2d & lt;- %2d\n ",I,n,n);

打破;

}

打破;

}

movedisc(n-1,使用needle,toneedle,from needle);

}

}