关注QT坐标,多线程动画中坐标的变化。汉诺塔都是吃要的。
我的汉诺塔新解:一种更美的描述。
http://blog.csdn.net/weixin_39788534/article/details/79376528
项目地址:
https://github.com/zhuimengshaonian66/hannuo
2018年 追梦少年 QQ:1131052403 —— Dreamer QQ : 1131052403
开源的狂热爱好者,代码风骚,效率恐怖 —— Open source enthusiasts, code coquettish, efficient horror灾难总是接踵而至,如果我失败了,只能说明我不过是如此程度的男人。
界面是在ui手动添加的,按钮的加载是根据文本框的数字来的
思路就是,ABC三条线就是三个栈,移动时就把按钮压进去。
先看汉诺塔的核心代码,新开了一个线程操作的线程中
C.push(A.pop());就是按钮在三个栈的出栈与压栈
void MyThread::run()
{
move(*n, *A, *B, *C);
btnStart->setEnabled(true);
}
void MyThread::move(int n, ABC &A, ABC &B, ABC &C)
{
if (n == 0)
{
return;
}
move(n - 1, A, C, B);
QThread::msleep(500);
///