c#语言编写汉诺塔游戏,c#语言编写汉诺塔游戏

这里的汉诺塔规则:有 A B C

三个柱子,在A柱子上有一摞盘子(n个,大的在下面,小的在上面),要求把A柱子上的盘子移动到C柱子上同时保证大盘子在下面小盘子在上面。(网上有另外一个版本:有A

B

C三个位置,一摞盘子在中间的位置上,要求把这一摞盘子换个位置,即最终的结果是把这一摞盘子移到A或B位置均可。)下面是针对我在这里定义的汉诺塔规则的代码,理解这个后其他版本的就可以以此类推了。

先奉上运行结果截图(横着看哦!)填写图片摘要(选填写图片摘要(选

a4c26d1e5885305701be709a3d33442f.png

​​​​​

​using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace 汉诺塔

{

public partial class

Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender,

EventArgs e)

{

textBox1.Text = "";

int

n=int.Parse (textBox2.Text);

bpz(n,"A","B","C");

}

public  void bpz(int n,string

A,string B,string C)

{

if (n==1)

textBox1 .Text +=A+

"->"+C+"

";

else

{ bpz( n-1, A, C,

B);

textBox1

.Text +=A+"->"+C+"

";

bpz(n-1,

B, A, C);

}

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值