background image

c      语言编写的汉诺塔动画

 

 

tc 下的汉诺塔动画,代替不直观的文本显示移动步骤。

代码片段

1. [代码]

     

/*********************************************/
/* 作者:gikieng    时间:2013.5.25          */
/*                                           */
/*              

               

汉诺塔动画演示

*/

/*                                           */
/*********************************************/
#include <graphics.h>
#include<stdio.h>
#include <conio.h>
#include<time.h>
#include<math.h>
#include<string.h>
#define N 10        //定义盘数
RECT r = {240, 0, 460, 240};
TCHAR step[5];
int stepn=0;
int pan[3];
void dizuo()
{
    setlinestyle(PS_SOLID,NULL,4);
    line(20,400,160,400);
    line(90,200,90,400);
    line(220,400,360,400);
    line(290,200,290,400);
    line(420,400,560,400);
    line(490,200,490,400);
}
//初始化汉诺塔
void hanoi_draw()
{
    int i;
    setlinestyle(PS_SOLID,NULL,12);
    for(i=0;i<=(N-1)*7;i+=7)
    {
        setcolor(HSLtoRGB(12*15, 1, 0.5));
        line(20+i,390-2*i,160-i,390-2*i);
    }