Author Topic: going back in the time : a starter ASCII art  (Read 3923 times)

0 Members and 1 Guest are viewing this topic.

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
going back in the time : a starter ASCII art
« on: July 29, 2019, 04:49:52 pm »
Hi fantastic QB64 coders

Here a first version of an ASCII art library

Code: QB64: [Select]
  1. 'ASCII ART ALPHABET 5 columns X 7 rows
  2. 'A  " AAA ", "A   A","AAAAA","A   A","A   A","A   A","A   A"
  3. 'B  "BBBB ","B   B", "BBBB ","B   B","B   B","B   B","BBBB "
  4. 'c  " CCC ", "C   C","C    ","C    ","C    ","C   C"," CCC "
  5. 'D  "DDDD ", "D   D", "D   D", "D   D", "D   D", "D   D", "DDDD "
  6. 'E  "EEEEE","E    ","EEE  ","E    ","E    ","E    ","EEEEE"
  7. 'F  "FFFFF","F    ","FFF  ","F    ","F    ","F    ","F    "
  8. 'G  " GGGG", "G    ","G  GG","G   G","G   G","G   G"," GGG "
  9. 'H  "H   H","H   H", "HHHHH","H   H","H   H", "H   H", "H   H"
  10. 'I  " III ", "  I  ", "  I  ", "  I  ", "  I  ", "  I  "," III "
  11. 'J  "    J","    J","    J","    J","    J","J   J", " JJJ "
  12. 'K  "K   K","K  K ", "KKK  ","K  K ","K   K","K   K","K   K"
  13. 'L  "L    ","L    ","L    ","L    ","L    ","L    ","LLLLL"
  14. 'M  "M   M","MM MM", "M M M","M   M","M   M","M   M","M   M"
  15. 'N  "N   N","NN  N","N N N","N   N","N   N","N   N" ,"N   N"
  16. 'O  " OOO ","O   O","O   O","O   O","O   O","O   O"," OOO "
  17. 'P  "PPPP ","P   P","PPPP ","P    ","P    ","P    ","P    "
  18. 'Q  " QQQ ","Q   Q","Q   Q","Q   Q","Q   Q","Q  Q "," QQ Q"
  19. 'R  "RRRR ","R   R","RRRR ","R   R","R   R","R   R","R   R"
  20. 'S  " SSSS","S    "," SSS ","    S","    S","S   S"," SSS "
  21. 'T  "TTTTT","  T  ","  T  ","  T  ","  T  ","  T  ","  T  "
  22. 'U  "U   U","U   U","U   U","U   U","U   U","U   U"," UUU "
  23. 'V  "V   V","V   V","V   V","V   V"," V V "," V V ","  V  "
  24. 'W  "W   W","W   W","W   W","W   W","W W W","WW WW","W   W"
  25. 'X  "X   X"," X X ","  X  "," X X ","X   X","X   X","X   X"
  26. 'Y  "Y   Y"," Y Y ","  Y  ","  Y  ","  Y  ","  Y  ","  Y  "
  27. 'Z  "ZZZZ ","    Z","   Z ","  Z  "," Z   ", "Z    ","ZZZZZ"
  28. _TITLE "ASCII ART FONT"
  29. DIM SHARED AsciiF(1 TO 26, 1 TO 7) AS STRING * 5
  30.  
  31.  
  32. LoadingFont 2
  33. 'ShowingFont 10, 20
  34.  
  35. CLS , 5
  36.  
  37. WriteText 8, 10, "QBasic", 1, 6
  38. CLS , 0
  39. LoadingFont 1
  40. WriteText 8, 2, "QUICKBASIC", 14, 3
  41. CLS , 10
  42. LoadingFont 3
  43. WriteText 2, 1, "TURBOBASIC", 1, 4
  44. COLOR 7, 0
  45.  
  46. Block:
  47. DATA " ÛÛÛ ","Û   Û","ÛÛÛÛÛ","Û   Û","Û   Û","Û   Û","Û   Û"
  48. DATA "ÛÛÛÛ ","Û   Û","ÛÛÛÛ ","Û   Û","Û   Û","Û   Û","ÛÛÛÛ "
  49. DATA " ÛÛÛ ","Û   Û","Û    ","Û    ","Û    ","Û   Û"," ÛÛÛ "
  50. DATA "ÛÛÛÛ ","Û   Û","Û   Û","Û   Û","Û   Û","Û   Û","ÛÛÛÛ "
  51. DATA "ÛÛÛÛÛ","Û    ","ÛÛÛ  ","Û    ","Û    ","Û    ","ÛÛÛÛÛ"
  52. DATA "ÛÛÛÛÛ","Û    ","ÛÛÛ  ","Û    ","Û    ","Û    ","Û    "
  53. DATA " ÛÛÛÛ","Û    ","Û  ÛÛ","Û   Û","Û   Û","Û   Û"," ÛÛÛ "
  54. DATA "Û   Û","Û   Û","ÛÛÛÛÛ","Û   Û","Û   Û","Û   Û","Û   Û"
  55. DATA " ÛÛÛ ","  Û  ","  Û  ","  Û  ","  Û  ","  Û  "," ÛÛÛ "
  56. DATA "    Û","    Û","    Û","    Û","    Û","Û   Û"," ÛÛÛ "
  57. DATA "Û   Û","Û  Û ","ÛÛÛ  ","Û  Û ","Û   Û","Û   Û","Û   Û"
  58. DATA "Û    ","Û    ","Û    ","Û    ","Û    ","Û    ","ÛÛÛÛÛ"
  59. DATA "Û   Û","ÛÛ ÛÛ","Û Û Û","Û   Û","Û   Û","Û   Û","Û   Û"
  60. DATA "Û   Û","ÛÛ  Û","Û Û Û","Û   Û","Û   Û","Û   Û","Û   Û"
  61. DATA " ÛÛÛ ","Û   Û","Û   Û","Û   Û","Û   Û","Û   Û"," ÛÛÛ "
  62. DATA "ÛÛÛÛ ","Û   Û","ÛÛÛÛ ","Û    ","Û    ","Û    ","Û    "
  63. DATA " ÛÛÛ ","Û   Û","Û   Û","Û   Û","Û   Û","Û  Û "," ÛÛ Û"
  64. DATA "ÛÛÛÛ ","Û   Û","ÛÛÛÛ ","Û   Û","Û   Û","Û   Û","Û   Û"
  65. DATA " ÛÛÛÛ","Û    "," ÛÛÛ ","    Û","    Û","Û   Û"," ÛÛÛ "
  66. DATA "ÛÛÛÛÛ","  Û  ","  Û  ","  Û  ","  Û  ","  Û  ","  Û  "
  67. DATA "Û   Û","Û   Û","Û   Û","Û   Û","Û   Û","Û   Û"," ÛÛÛ "
  68. DATA "Û   Û","Û   Û","Û   Û","Û   Û"," Û Û "," Û Û ","  Û  "
  69. DATA "Û   Û","Û   Û","Û   Û","Û   Û","Û Û Û","ÛÛ ÛÛ","Û   Û"
  70. DATA "Û   Û"," Û Û ","  Û  "," Û Û ","Û   Û","Û   Û","Û   Û"
  71. DATA "Û   Û"," Û Û ","  Û  ","  Û  ","  Û  ","  Û  ","  Û  "
  72. DATA "ÛÛÛÛ ","    Û","   Û ","  Û  "," Û   ","Û    ","ÛÛÛÛÛ"
  73.  
  74.  
  75.  
  76. Block2:
  77. DATA " ²²² ","²   ²","²²²²²","²   ²","²   ²","²   ²","²   ²"
  78. DATA "²²²² ","²   ²","²²²² ","²   ²","²   ²","²   ²","²²²² "
  79. DATA " ²²² ","²   ²","²    ","²    ","²    ","²   ²"," ²²² "
  80. DATA "²²²² ","²   ²","²   ²","²   ²","²   ²","²   ²","²²²² "
  81. DATA "²²²²²","²    ","²²²  ","²    ","²    ","²    ","²²²²²"
  82. DATA "²²²²²","²    ","²²²  ","²    ","²    ","²    ","²    "
  83. DATA " ²²²²","²    ","²  ²²","²   ²","²   ²","²   ²"," ²²² "
  84. DATA "²   ²","²   ²","²²²²²","²   ²","²   ²","²   ²","²   ²"
  85. DATA " ²²² ","  ²  ","  ²  ","  ²  ","  ²  ","  ²  "," ²²² "
  86. DATA "    ²","    ²","    ²","    ²","    ²","²   ²"," ²²² "
  87. DATA "²   ²","²  ² ","²²²  ","²  ² ","²   ²","²   ²","²   ²"
  88. DATA "²    ","²    ","²    ","²    ","²    ","²    ","²²²²²"
  89. DATA "²   ²","²² ²²","² ² ²","²   ²","²   ²","²   ²","²   ²"
  90. DATA "²   ²","²²  ²","² ² ²","²   ²","²   ²","²   ²","²   ²"
  91. DATA " ²²² ","²   ²","²   ²","²   ²","²   ²","²   ²"," ²²² "
  92. DATA "²²²² ","²   ²","²²²² ","²    ","²    ","²    ","²    "
  93. DATA " ²²² ","²   ²","²   ²","²   ²","²   ²","²  ² "," ²² ²"
  94. DATA "²²²² ","²   ²","²²²² ","²   ²","²   ²","²   ²","²   ²"
  95. DATA " ²²²²","²    "," ²²² ","    ²","    ²","²   ²"," ²²² "
  96. DATA "²²²²²","  ²  ","  ²  ","  ²  ","  ²  ","  ²  ","  ²  "
  97. DATA "²   ²","²   ²","²   ²","²   ²","²   ²","²   ²"," ²²² "
  98. DATA "²   ²","²   ²","²   ²","²   ²"," ² ² "," ² ² ","  ²  "
  99. DATA "²   ²","²   ²","²   ²","²   ²","² ² ²","²² ²²","²   ²"
  100. DATA "²   ²"," ² ² ","  ²  "," ² ² ","²   ²","²   ²","²   ²"
  101. DATA "²   ²"," ² ² ","  ²  ","  ²  ","  ²  ","  ²  ","  ²  "
  102. DATA "²²²² ","    ²","   ² ","  ²  "," ²   ","²    ","²²²²²"
  103.  
  104.  
  105. Letter:
  106. DATA " AAA ","A   A","AAAAA","A   A","A   A","A   A","A   A"
  107. DATA "BBBB ","B   B","BBBB ","B   B","B   B","B   B","BBBB "
  108. DATA " CCC ","C   C","C    ","C    ","C    ","C   C"," CCC "
  109. DATA "DDDD ","D   D","D   D","D   D","D   D","D   D","DDDD "
  110. DATA "EEEEE","E    ","EEE  ","E    ","E    ","E    ","EEEEE"
  111. DATA "FFFFF","F    ","FFF  ","F    ","F    ","F    ","F    "
  112. DATA " GGGG","G    ","G  GG","G   G","G   G","G   G"," GGG "
  113. DATA "H   H","H   H","HHHHH","H   H","H   H","H   H","H   H"
  114. DATA " III ","  I  ","  I  ","  I  ","  I  ","  I  "," III "
  115. DATA "    J","    J","    J","    J","    J","J   J"," JJJ "
  116. DATA "K   K","K  K ","KKK  ","K  K ","K   K","K   K","K   K"
  117. DATA "L    ","L    ","L    ","L    ","L    ","L    ","LLLLL"
  118. DATA "M   M","MM MM","M M M","M   M","M   M","M   M","M   M"
  119. DATA "N   N","NN  N","N N N","N   N","N   N","N   N","N   N"
  120. DATA " OOO ","O   O","O   O","O   O","O   O","O   O"," OOO "
  121. DATA "PPPP ","P   P","PPPP ","P    ","P    ","P    ","P    "
  122. DATA " QQQ ","Q   Q","Q   Q","Q   Q","Q   Q","Q  Q "," QQ Q"
  123. DATA "RRRR ","R   R","RRRR ","R   R","R   R","R   R","R   R"
  124. DATA " SSSS","S    "," SSS ","    S","    S","S   S"," SSS "
  125. DATA "TTTTT","  T  ","  T  ","  T  ","  T  ","  T  ","  T  "
  126. DATA "U   U","U   U","U   U","U   U","U   U","U   U"," UUU "
  127. DATA "V   V","V   V","V   V","V   V"," V V "," V V ","  V  "
  128. DATA "W   W","W   W","W   W","W   W","W W W","WW WW","W   W"
  129. DATA "X   X"," X X ","  X  "," X X ","X   X","X   X","X   X"
  130. DATA "Y   Y"," Y Y ","  Y  ","  Y  ","  Y  ","  Y  ","  Y  "
  131. DATA "ZZZZ ","    Z","   Z ","  Z  "," Z   ","Z    ","ZZZZZ"
  132.  
  133.  
  134. 'SUBs
  135. SUB LoadingFont (mode AS INTEGER)
  136.     DIM Loadfont AS INTEGER, Numstring AS INTEGER
  137.     ' selector of FONT
  138.     IF mode = 1 THEN
  139.         RESTORE Block
  140.     ELSEIF mode = 2 THEN
  141.         RESTORE Block2
  142.     ELSEIF mode = 3 THEN
  143.         RESTORE Letter
  144.     END IF
  145.     ' loader of FONT
  146.     FOR Loadfont = 1 TO 26
  147.         FOR Numstring = 1 TO 7
  148.             READ AsciiF(Loadfont, Numstring)
  149.         NEXT Numstring
  150.     NEXT Loadfont
  151.  
  152. SUB ShowingFont (Row AS INTEGER, Column AS INTEGER)
  153.     DIM Loadfont AS INTEGER, Numstring AS INTEGER
  154.     FOR Loadfont = 1 TO 26
  155.         CLS
  156.         FOR Numstring = 1 TO 7
  157.             LOCATE (Row - 1) + Numstring, Column
  158.             PRINT AsciiF(Loadfont, Numstring);
  159.         NEXT Numstring
  160.         SLEEP 1
  161.     NEXT Loadfont
  162.  
  163. SUB WriteText (Row AS INTEGER, Column AS INTEGER, Stringa AS STRING, Forecolor AS _UNSIGNED LONG, Backcolor AS _UNSIGNED LONG)
  164.     DIM ActualCol AS INTEGER, CountLetter AS INTEGER, Counter AS INTEGER, counterRow AS INTEGER
  165.     DIM Letter AS INTEGER
  166.     CountLetter = LEN(Stringa)
  167.     IF Column > 80 THEN EXIT SUB
  168.     IF Row > 18 THEN EXIT SUB
  169.     IF (CountLetter * 7) + Column > 80 THEN EXIT SUB
  170.     ActualCol = Column
  171.     COLOR Forecolor, Backcolor
  172.     FOR Counter = 1 TO CountLetter
  173.         Letter = ASC(UCASE$(MID$(Stringa, Counter, 1))) - 64
  174.         FOR counterRow = 1 TO 7
  175.             LOCATE (Row - 1) + counterRow, ActualCol
  176.             PRINT AsciiF(Letter, counterRow);
  177.         NEXT
  178.         ActualCol = ActualCol + 7
  179.     NEXT

you can have max 11 letters on a row of 80 column in screen 0
for now you can write text with international alphabeth and roman numbers...
soon coming arabic number the point and the comma

Thanks to read and to try

Programming isn't difficult, only it's  consuming time and coffee

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: going back in the time : a starter ASCII art
« Reply #1 on: July 29, 2019, 05:25:29 pm »
Hi TempodiBasic,

Neato, but for me it is easier to read text if back color of letter matches background of screen:
Code: QB64: [Select]
  1. LoadingFont 2
  2. 'ShowingFont 10, 20
  3.  
  4. CLS , 5
  5.  
  6. WriteText 8, 10, "QBasic", 1, 5
  7. CLS , 0
  8. LoadingFont 1
  9. WriteText 8, 2, "QUICKBASIC", 14, 0
  10. CLS , 10
  11. LoadingFont 3
  12. WriteText 2, 1, "TURBOBASIC", 1, 10
  13. COLOR 7, 0
  14.  

Offline euklides

  • Forum Regular
  • Posts: 128
    • View Profile
Re: going back in the time : a starter ASCII art
« Reply #2 on: July 30, 2019, 04:32:14 am »

xx   xx   xx                      xx        xxx         xx 
xxx  xx                                      xx        xxxx
xxxx xx  xxx   xxxx   xxxx        xx  xxxx   xx        xxxx
xx xxxx   xx  xx  xx xx  xx       xx xx  xx  xxxxx      xx 
xx  xxx   xx  xx     xxxxxx       xx xx  xx  xx  xx     xx 
xx   xx   xx  xx  xx xx       xx  xx xx  xx  xx  xx         
xx   xx  xxxx  xxxx   xxxx    xx  xx  xxxx  xx xxx      xx 
                               xxxx                         
                                               
Why not yes ?

Offline SierraKen

  • Forum Resident
  • Posts: 1454
    • View Profile
Re: going back in the time : a starter ASCII art
« Reply #3 on: August 01, 2019, 03:22:43 pm »
Cool program. :) I like how people make their own ASCII art. :)