RosettaCodeData/Task/Write-language-name-in-3D-ASCII/FreeBASIC/write-language-name-in-3d-ascii.basic
2023-07-01 13:44:08 -04:00

27 lines
791 B
Text

dim as integer yres=hiword(width)
dim as integer xres=loword(width)
#define map(a,b,x,c,d) ((d)-(c))*((x)-(a))/((b)-(a))+(c)
#define _X(num) int( map(0,xres,(num),0,loword(width)))
#define _Y(num) int( map(0,yres,(num),0,hiword(width)))
Type pt
As Integer x,y
End Type
Dim As pt a(1 To ...)=_
{(4,2),(6,2),(8,2),(12,2),(14,2),(16,2),(20,2),(22,2),(24,2),(28,2),(30,2),(32,2),_
(4,3),(12,3),(16,3),(20,3),(28,3),_
(4,4),(6,4),(12,4),(14,4),(16,4),(20,4),(22,4),(28,4),(30,4),_
(4,5),(12,5),(20,5),(28,5),_
(4,6),(12,6),(16,6),(20,6),(22,6),(24,6),(28,6),(30,6),(32,6)}
For i As Integer=0 To 12
For n As Integer=Lbound(a) To Ubound(a)
Locate _Y(a(n).y+i),_X(a(n).x+i)
If i<12 Then Print "\" Else Print "#"
Next n
Next i
locate(csrlin-1,40)
print "BASIC"
Sleep