您当前的位置: 首页 >  matlab

slandarer

暂无认证

  • 1浏览

    0关注

    248博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

matlab 全自动汉诺塔

slandarer 发布时间:2020-01-25 18:50:16 ,浏览量:1

c语言课本上有一段用递归函数解汉诺塔的方法,我将其用matlab写了出来并用之前的汉诺塔程序将其可视化: 游戏效果 在这里插入图片描述 完整代码

function hano_auto(level)
if nargin arrow(2)
                           B=[B,arrow(2)];
                           arrow(2)=[];
                       end
                   end           
               end
               if (arrow(1)==3)
                   if isempty(C)
                       C=[C,arrow(2)];
                       arrow(2)=[];
                   else
                       if C(end)>arrow(2)
                           C=[C,arrow(2)];
                           arrow(2)=[];
                       end
                   end
               end
           end
   end
   pause(0.2)
   if control==1
       draw()
   else
       pause
   end
   end
draw()
matrix=[1 2 3];
digui(level,matrix)
    function digui(n,structdigui)
            if n==1
                move(structdigui(1),structdigui(3));
            else
                digui(n-1,[structdigui(1),structdigui(3),structdigui(2)])
                move(structdigui(1),structdigui(3))
                digui(n-1,[structdigui(2),structdigui(1),structdigui(3)])
            end
    end
    function move(a,b)
        while arrow(1)~=a
            if arrow(1)>a
                key('leftarrow')
            end
            if arrow(1)b
                key('leftarrow')
            end
            if arrow(1)            
关注
打赏
1664692598
查看更多评论
0.0509s