59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
Dim As Integer i, j, m, n, s, v
|
|
Dim As String maya(5), num
|
|
For i = 0 To 5
|
|
Read maya(i)
|
|
Next i
|
|
Const ul = Chr(201), uc = Chr(203), ur = Chr(187), ll = Chr(200)
|
|
Const lc = Chr(202), lr = Chr(188), hb = Chr(205), vb = Chr(186)
|
|
|
|
Dim As Longint numbers(0 To ...) = {4005, 8017, 326205, 886205, 1081439556, 18380658207197784}
|
|
For v = 0 To Ubound(numbers)
|
|
num = Str(numbers(v))
|
|
Print "Converting"; numbers(v); " to Mayan:"
|
|
|
|
m = Len(num)
|
|
Redim As Integer D(m)
|
|
For i = 1 To m
|
|
D(i) = Val(Mid(num,i,1))
|
|
Next i
|
|
|
|
For j = m-1 To 1 Step -1
|
|
For i = 1 To j
|
|
D(i+1) += 10*(D(i) And 1)
|
|
D(i) \= 2
|
|
Next i
|
|
Next j
|
|
|
|
s = 1
|
|
Do While D(s) = 0 And s < m
|
|
s += 1
|
|
Loop
|
|
|
|
For i = s To m
|
|
Print Iif(i < m-1, ul+hb+hb+hb+hb, uc+hb+hb+hb+hb);
|
|
Next i
|
|
Print ur
|
|
For j = 3 To 0 Step -1
|
|
For i = s To m
|
|
If (D(i) Or j) = 0 Then
|
|
Print vb + " @ ";
|
|
Else
|
|
n = D(i)-5*j
|
|
If n > 5 Then
|
|
n = 5
|
|
Elseif n < 0 Then
|
|
n = 0
|
|
End If
|
|
Print vb; maya(n);
|
|
End If
|
|
Next i
|
|
Print vb
|
|
Next j
|
|
For i = s To m
|
|
Print Iif(i < m-1, ll+hb+hb+hb+hb, lc+hb+hb+hb+hb);
|
|
Next i
|
|
Print lr + Chr(10) '"+"
|
|
Next v
|
|
Sleep
|
|
Data " "," . "," .. ","... ","....","----"
|