"Move #" "From" " To"
"Move #" "From" " To"
Imports System.Componen
tModel
Imports System.Windows.
Forms
Namespace TowersOfHanoi
Class Hanoi
Private text A
s String
Private bw As B
ackgroundWorker
+ (moveNumber + ""
& vbCrLf)))
Dim dt
1 As DateTime = DateTim
e.Now
Dim t
s As TimeSpan = (dt
1 - dt0)
Me.tex
t = (Me.text + "Time (m
in:sec.MS) - ")
Me.tex
t = (Me.text _
+ (ts.Minutes.ToSt
ring("D2") + ":"))
Me.tex
t = (Me.text _
+ (ts.Seconds.ToSt
ring("D2") + "."))
Me.tex
t = (Me.text _
+ (ts.Milliseconds
.ToString("D3") + ""& v
bCrLf& vbCrLf))
setText
(Me.text)
End If
If printTab
le Then
Me.tex
t = (Me.text + "# Disks
"& vbTab&"# Moves"& vbT
ab&"Time"& vbCrLf& vbCr
Lf)
numberD
isks = 3
Do Whil
e (numberDisks <= 20)
Di
m moveNumber As Intege
r = 0
Di
m dt0 As DateTime = Dat
eTime.Now
Me.
MoveDisks(false, number
Disks, 1, 2, 3, moveNum
ber)
I
f Me.bw.CancellationPen
ding Then
Exit For
En
d If
Di
m dt1 As DateTime = Dat
eTime.Now
Di
m ts As TimeSpan = (dt
1 - dt0)
Me.
text = (Me.text _
+ (numberDisk
s + (""& vbTab _
+ (moveNumbe
r + ""& vbTab))))
Me.
text = (Me.text _
+ (ts.Minutes.
ToString("D2") + ":"))
Me.
text = (Me.text _
+ (ts.Seconds.
ToString("D2") + "."))
Me.
text = (Me.text _
+ (ts.Millisec
onds.ToString("D3") + "
"& vbCrLf))
num
berDisks = (numberDisk
s + 1)
Loop
setText
(Me.text)
End If
End Sub
If (numberD
isks > 1) Then
Me.Move
Disks(printMoves, (numb
erDisks - 1), fromTower
, toTower, spareTower
, moveNumber)
Me.Move
SingleDisk(printMoves
, fromTower, toTower, m
oveNumber)
Me.Move
Disks(printMoves, (numb
erDisks - 1), spareTowe
r, fromTower, toTower
, moveNumber)
Else
Me.Move
SingleDisk(printMoves
, fromTower, toTower, m
oveNumber)
End If
End Sub
+ (moveNumber.ToSt
ring + ""& vbTab))
Me.tex
t = (Me.text _
+ (fromTower.ToStr
ing + ""& vbTab))
Me.tex
t = (Me.text _
+ (toTower.ToStrin
g + ""& vbCrLf))
End If
End Sub
End Class
End Namespace