C#汉诺塔动画
发布网友
发布时间:2022-05-20 19:40
我来回答
共1个回答
热心网友
时间:2023-11-18 08:38
我给你提供思路吧:
1. 首先你要知道汉诺塔算法,即输入N输出移动步骤。这个而不多说,很简单,自己想算法。
2. 构建绘图模型,由于这个动态过程,单纯做一个动画是不行的,需要设计一个模型支持动态输入汉诺塔的层数,具体如下:
- 加入一个Panel作底层,画三个柱子和序号(就是背景)
- 根据汉诺塔动态生成PictureBox,并调用事先准备的图,在1号位置摆好。
注:1. 图一定要等长才方便移动,小的层左右两边用空白补充,画图就不用我教了。Windows-画图工具(如果画图都不会,你不适合学软件)
2. 事先先要测定PictureBox每层的左上角位置,因为宽度一致所以很找位置。
- 根据汉诺塔算法移动,就是移动PictureBox的Location,非常简单。(如果位置都不会移动,那你挂掉吧。)
注,单纯在PANEL里花非常麻烦,所以我采用的是移动控件的方式代替纯Panel上画,非常简单。
希望你通过这个思路能够拿到奖学金。(拿到分我一点)追问你好,谢谢你能回答我,但是我本人是学机械的,没接触过C语言相关的东西,您说的我都看不懂,而我的朋友···学渣一枚啊,我真的不好意思开口,但是,能不能请您详细一些呢,留下您的QQ行吗?
追答四六八一七五三八