chary,structMnum[3]);来表示盘块移动的具体过程;并在move函数中调用函数voidhanoi(charx,chary,charz,intn,structMnum[3]);来表示递归调用的过程;最后用一个初始化函数voidInit(void)来对整个程序进行初始化,并调用move函数。3详细设计3.1程序初始化3.1.1代码功能在初始化程序中,主要实现的是绘制塔座标志,绘制盘块,设置塔座标志颜色,以及填充盘块颜色等。3.1.2功能实现代码①绘制塔座的代码如下:setcolor(GREEN);/*设置塔座标志颜色*/outtextxy(180,450,"pressanykeytocontinue");settextstyle(0,0,2);outtextxy(90,420,"A");/*塔座标志*/outtextxy(240,420,"B");outtextxy(390,420,"C");②绘制矩形的代码如下:setfillstyle(SOLID_FILL,color);/*设置填充颜色*/bar(100-(33-3*num[0].data[num[0].top]),400-20*i-8,100+(33-3*num[0].data[num[0].top]),400-20*i+8);/*画矩形*/3.2盘块的移动过程3.2.1代码功能盘块的移动实际上是一个出栈和入栈的过程,盘块出栈后便将原来的地方涂黑,本块代码主要是实现显示汉诺塔的具体移动的演示过程及移动步骤。3.2.2功能实现代码voidmove(charx,chary,structMnum[3])/*移动的具体过程*/{inti;charnum1[3],num2[3];sprintf(num1,"%c",x-32);/*将小写变成大写,并转换成字符串输出*/sprintf(num2,"%c",y-32);