Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,2 @@
---
from: http://rosettacode.org/wiki/Write_language_name_in_3D_ASCII

View file

@ -0,0 +1,16 @@
;Task:
Write/display a language's name in '''3D''' ASCII.
(We can leave the definition of "3D ASCII" fuzzy,
so long as the result is interesting or amusing,
not a cheap hack to satisfy the task.)
;Related tasks:
* [[Draw_a_sphere|draw a sphere]]
* [[Draw_a_cuboid|draw a cuboid]]
* [[Draw_a_rotating_cube|draw a rotating cube]]
* [[Death_Star|draw a Deathstar]]
<br><br>

View file

@ -0,0 +1,14 @@
V s =
| XX
X
X
X
X
X
XXXXX
V lines = s.split("\n")
V width = max(lines.map(l -> l.len))
L(line) lines
print(( * (lines.len - L.index - 1))(line.ljust(width).replace( , ).replace(X, __/) * 3))

View file

@ -0,0 +1,13 @@
THREED CSECT
STM 14,12,12(13)
BALR 12,0
USING *,12
XPRNT =CL23'0 ####. #. ###.',23
XPRNT =CL24'1 #. #. #. #.',24
XPRNT =CL24'1 ##. # ##. #. #.',24
XPRNT =CL24'1 #. #. #. #. #.',24
XPRNT =CL23'1 ####. ###. ###.',23
LM 14,12,12(13)
BR 14
LTORG
END

View file

@ -0,0 +1,18 @@
# syntax: GAWK -f WRITE_LANGUAGE_NAME_IN_3D_ASCII.AWK
BEGIN {
arr[1] = " xxxx x x x x"
arr[2] = "x x x x x x"
arr[3] = "x x x x x x"
arr[4] = "xxxxxx x x xx"
arr[5] = "x x x xx x xx"
arr[6] = "x x xx xx x x"
arr[7] = "x x xx xx x x"
arr[8] = "A V P J B W"
for (i=1; i<=8; i++) {
x = arr[i]
gsub(/./,"& ",x)
gsub(/[xA-Z] /,"_/",x)
print(x)
}
exit(0)
}

View file

@ -0,0 +1,20 @@
BYTE ARRAY data = [
$00 $00 $00 $00 $4E $4E $4E $00 $00 $00 $00 $00 $00 $00 $00 $00 $4E $00 $00 $00 $00 $4E $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $4E $00 $00 $00
$00 $00 $00 $46 $47 $00 $00 $47 $00 $00 $00 $00 $00 $00 $00 $42 $47 $47 $00 $00 $42 $47 $47 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $42 $47 $47 $00 $00
$00 $00 $42 $47 $48 $80 $80 $80 $4A $00 $00 $4E $4E $4E $00 $42 $00 $80 $4E $00 $00 $47 $80 $00 $00 $4E $4E $00 $00 $00 $4E $4E $4E $00 $00 $42 $00 $80 $00 $00
$00 $00 $42 $00 $80 $00 $42 $00 $80 $00 $46 $47 $00 $00 $47 $42 $00 $80 $00 $47 $00 $4E $00 $00 $46 $47 $00 $47 $00 $42 $47 $00 $00 $47 $00 $42 $00 $80 $00 $00
$00 $00 $42 $00 $80 $00 $42 $00 $80 $42 $47 $48 $80 $80 $80 $42 $00 $80 $80 $80 $42 $47 $47 $42 $47 $48 $80 $80 $4A $42 $00 $80 $80 $80 $4A $42 $00 $80 $00 $00
$00 $00 $42 $00 $80 $4D $4D $47 $80 $42 $00 $80 $00 $00 $00 $42 $00 $80 $00 $00 $42 $00 $80 $42 $00 $80 $42 $00 $80 $42 $00 $80 $42 $00 $80 $42 $00 $80 $00 $00
$00 $00 $42 $00 $80 $80 $80 $80 $80 $42 $00 $80 $00 $00 $00 $42 $00 $80 $00 $00 $42 $00 $80 $42 $00 $80 $42 $00 $80 $42 $00 $80 $42 $00 $80 $00 $47 $80 $00 $00
$00 $00 $42 $00 $80 $00 $42 $00 $80 $42 $00 $80 $4E $4E $00 $42 $00 $80 $4E $00 $42 $00 $80 $42 $00 $80 $42 $00 $80 $42 $00 $80 $42 $00 $80 $00 $4E $00 $00 $00
$00 $00 $42 $00 $80 $00 $42 $00 $80 $00 $47 $80 $00 $00 $47 $00 $47 $80 $00 $47 $42 $00 $80 $00 $47 $80 $4D $47 $80 $42 $00 $80 $42 $00 $80 $42 $47 $47 $00 $00
$00 $00 $00 $47 $80 $00 $00 $47 $80 $00 $00 $CA $80 $80 $80 $00 $00 $CA $80 $80 $00 $47 $80 $00 $00 $CA $80 $80 $C8 $00 $47 $80 $00 $47 $80 $00 $47 $80 $00 $00]
PROC Main()
BYTE POINTER ptr
Graphics(0)
SetColor(2,0,2)
ptr=PeekC(88)+280
MoveBlock(ptr,data,400)
RETURN

View file

@ -0,0 +1,17 @@
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Strings.Fixed; use Ada.Strings.Fixed;
procedure AsciiArt is
art : constant array(1..27) of String(1..14) :=
(1=>" /\\\\\\ ", 2=>" /\\\",
3|6|9=>" ", 4|12=>" /\\\\\\\\\\ ",
5|8|11=>" \/\\\", 7|17|21=>" /\\\//////\\\",
10|19|20|22=>"\/\\\ \/\\\", 13|23|24=>"\/\\\\\\\\\\\\",
14|18=>" /\\\\\\\\\\\", 15=>" \/////////\\\",
16=>"\/\\\//////\\\", 25=>"\/// \/// ",
26|27=>"\//////////// ");
begin
for i in art'Range loop
Put(art(i)&' ');
if i mod 3 = 0 then New_Line; Put(i/3*' '); end if;
end loop;
end AsciiArt;

View file

@ -0,0 +1,48 @@
10 S$ = "BASIC" : REM OUR LANGUAGE NAME
20 DIM B(5,5) : REM OUR BIGMAP CHARACTERS
30 FOR L = 1 TO 5 : REM 5 CHARACTERS
40 FOR M = 1 TO 5 : REM 5 ROWS
50 READ B(L,M)
60 NEXT M, L
100 GR : REM BLACK BACKGROUND
110 COLOR = 1 : REM OUR SHADOW WILL BE RED
120 HOME : REM CLS
130 R = 9 : REM SHADOW WILL START ON ROW 5
140 C = 2 : REM SHADOW WILL START AT COLUMN 2
150 GOSUB 2000"DRAW SHADOW
160 COLOR = 13 : REM OUR FOREGROUND WILL BE YELLOW
170 R = 10 : REM FOREGROUND WILL START ON ROW 6
180 C = 3 : REM FOREGROUND WILL START ON COLUMN 3
190 GOSUB 2000"DISPLAY THE LANGUAGE NAME
999 STOP
1000 REM CONVERT TO BINARY BIGMAP
1010 T = N : REM TEMPORARY VARIABLE
1020 G$ = "" : REM THIS WILL CONTAIN OUR 5 CHARACTER BINARY BIGMAP
1040 FOR Z = 5 TO 0 STEP -1
1050 D$ = " " : REM ASSUME NEXT DIGIT IS ZERO (DRAW A SPACE)
1055 S = 2 ^ Z
1060 IF T >= S THEN D$ = "*" : T = T - S : REM IS A BLOCK
1070 G$ = G$ + D$
1080 NEXT Z
1090 RETURN
2000 REM DISPLAY THE BIG LETTERS
2010 FOR L = 1 TO 5 : REM OUR 5 ROWS
2020 X = C : Y = R + L - 1 : REM PRINT AT R+L-1,C;
2030 FOR M = 1 TO 5 : REM BIGMAP FOR EACH CHARACTER
2040 N = B(M, L)
2050 GOSUB 1000
2060 FOR I = 1 TO LEN(G$) : IF MID$(G$, I, 1) <> " " THEN PLOT X,Y :REM 5 CHARACTER BIGMAP
2070 X = X + 1 : NEXT I
2080 X = X + 1 : REM PRINT " ";: REM SPACE BETWEEN EACH LETTER
2090 NEXT M, L
2100 RETURN
9000 DATA 30,17,30,17,30: REM B
9010 DATA 14,17,31,17,17: REM A
9020 DATA 15,16,14,1,30: REM S
9030 DATA 31,4,4,4,31: REM I
9040 DATA 14,17,16,17,14: REM C

View file

@ -0,0 +1,9 @@
print {:
______ __
/\ _ \ /\ \__
\ \ \L\ \ _ __\ \ ,_\ __ __ _ __ ___
\ \ __ \/\`'__\ \ \/ /\ \/\ \/\`'__\/ __`\
\ \ \/\ \ \ \/ \ \ \_\ \ \_\ \ \ \//\ \L\ \
\ \_\ \_\ \_\ \ \__\\ \____/\ \_\\ \____/
\/_/\/_/\/_/ \/__/ \/___/ \/_/ \/___/
:}

View file

@ -0,0 +1,18 @@
AutoTrim, Off
draw =
(
______ __ __ __ __
/\ __ \/\ \_\ \/\ \/ /
\ \ __ \ \ __ \ \ _"-.
\ \_\ \_\ \_\ \_\ \_\ \_\
\/_/\/_/\/_/\/_/\/_/\/_/
)
Gui, +ToolWindow
Gui, Color, 1A1A1A, 1A1A1A
Gui, Font, s8 cLime w800, Courier New
Gui, Add, text, x4 y0 , % " " draw
Gui, Show, w192 h82, AHK in 3D
return
GuiClose:
ExitApp

View file

@ -0,0 +1,22 @@
PROC3dname("BBC BASIC")
END
DEF PROC3dname(name$)
LOCAL A%, X%, Y%, char%, row%, patt%, bit%
DIM X% 8 : A% = 10 : Y% = X% DIV 256
FOR row% = 1 TO 8
FOR char% = 1 TO LEN(name$)
?X% = ASCMID$(name$,char%)
CALL &FFF1
patt% = X%?row%
FOR bit% = 7 TO 0 STEP -1
CASE TRUE OF
WHEN (patt% AND 2^bit%) <> 0 : PRINT "#";
WHEN GET$(POS-1,VPOS-1) = "#": PRINT "\";
OTHERWISE: PRINT " ";
ENDCASE
NEXT
NEXT char%
PRINT
NEXT row%
ENDPROC

View file

@ -0,0 +1,14 @@
@echo off
for %%b in (
""
" /####### ###### /######## ###### /## /##"
"| ##__ ## /##__ ##|__ ##__/ /##__ ##| ## | ##"
"| ## | ##| ## | ## | ## | ## \__/| ## | ##"
"| ####### | ######## | ## | ## | ########"
"| ##__ ##| ##__ ## | ## | ## | ##__ ##"
"| ## | ##| ## | ## | ## | ## /##| ## | ##"
"| #######/| ## | ## | ## | ######/| ## | ##"
"|_______/ |__/ |__/ |__/ \______/ |__/ |__/"
""
) do echo(%%~b
pause

View file

@ -0,0 +1,9 @@
0" &7&%h&'&%| &7&%7%&%&'&%&'&%&7&%"v
v"'%$%'%$%3$%$%7% 0%&7&%&7&(%$%'%$"<
>"%$%7%$%&%$%&'&%7%$%7%$%, '&+(%$%"v
v"+&'&%+('%$%$%'%$%$%$%$%$%$%$%'%$"<
>"(%$%$%'%$%$%( %$+(%&%$+(%&%$+(%&"v
v"(; $%$%(+$%&%(+$%$%'%$%+&%$%$%$%"<
? ";(;(+(+$%+(%&(;(3%$%&$ 7`+( ":v >
^v!:-1<\,:g7+*63%4 \/_#4:_v#:-*84_$@
$_\:,\^ >55+,$:^:$

View file

@ -0,0 +1,35 @@
v THE DATA IMAGE.(totally useless after loading into stack)
>89 v Made by gamemanj
v0000122010000000000022201220000020000< For rosettacode
>9 v The 'image' is upsidedown
v2220100010002220101000101000000000000< The 3d offset isn't applied on this
>9 v and it's encoded weirdly
v1010122012001010101022201220000010000< Is that enough decoding needed
>9 v for the '3d' ascii requirement?
v2220100010001010222010101000000010000< Huh.(sees Batch) I think so.
>9 v 0:blank
v1000122012200000000022201220000010000< 1:\
>9 v 2:-
v p000< 9:newline
>:9-v Check for 9:Newline 8:end
v_v (note that cell 0,0 isn't ever used after the first tick!)
no yes | | >" ",v
>$55+,00g1+:00p:|: -1< Newline With Spacing Encoder
^ v# $<
:
8 check for end
no-yes
v_v
>< make the program pause for the user forever.Ik,it's stupid
Numeric Decoder \/
>:1-v
v_vCheck for 1 '\'
NO: "YES
2 \
- "
v_ >v
" "
^ -
" "
^ $,< < < (code path reuse here,all 3 end in ,$ so I merged them)

View file

@ -0,0 +1,16 @@
++++[>++++>++<[>>++>+++>++++++> ++++++<<<<<-]<-]>>++>..>->---->
-...[<]<+++[>++++[>>...<<-]<-]> >>..>>>.....<<<..>>>...[<]++[>>
.....>>>...<<<<<-]>.>.>.>.<<..> >.[<]<+++++[>++++[>>.<<-]<-]>>>
..>>>...[<]+++++[>>..<<-]+++>>. >.<..>>>...<.[[>]<.<.<<..>>.>..
<<<.<<-]+++>.>.>>.<<.>>.<<..>>. >....<<<.>>>...<<<..>>>...<<<.>
>>......<<.>.>..<.<<..>>>..<<<. .>>>....<.<<..>>.>..<<.[[>]<<.>
..<<<...>>>.<.<<<<-]+++>.>..>>. <<.>>.<<...>>>..<<<.>>..<<..>>.
<.<.>>>..<..>...<<<...>>.<<.>>> .<<.>>.<<.<..>>.<.<.>>>.<<<..>>
.>.<<<...>>>..<.>.<<.>.>..<.<.. >>.<<.>.>..<.<..>>.<<.>.>..<.<.
<<.>...>>.<<.>>.<<..>>.<.>.<<.> >..<<...>.>>..<<..>>...<.<<...>
>..<<..>>..<<...>.<.>>.<<..>>.. <<..>>.>.<<.<[[>]<<<<.>>.<.>>..
<<.<..<<-]>.>....>>.<<.>>.<<..> >.>.<.<<.>>..<<..>>.<<...>.>.<<
..>>>.<<<....>>..<<..>>..<<..>> ..<<.>>.<<..>>..<<..>>.<<<.>...
..>>.<<.>>.>......<..>..<.<<..> >.<<.>>.>...<<.>.>..<..>..<..>.
.<..<<.>>.>..<..>..<.<<<.>..... .>>.<.>>......<<..>>..<<.<...>>
.<.>>..<<.>.<.>>..<<..>>..<<..> >..<<.<.>>.<.>>..<<..>>..<<.<<.

View file

@ -0,0 +1,29 @@
#include <windows.h>
#include <iostream>
//--------------------------------------------------------------------------------------------------
using namespace std;
//--------------------------------------------------------------------------------------------------
int main(int argc, char* argv[])
{
cout <<
" ______ ______ " << endl <<
" _____ _____|\\ \\ _____|\\ \\ " << endl <<
" _____\\ \\_ / / | | / / | |" << endl <<
" / /| || |/ /|| |/ /|" << endl <<
" / / /____/|| |\\____/ || |\\____/ |" << endl <<
"| | |____|/ |\\ \\ | / |\\ \\ | / " << endl <<
"| | _____ | \\ \\___|/ | \\ \\___|/ " << endl <<
"|\\ \\|\\ \\ | \\ \\ | \\ \\ " << endl <<
"| \\_____\\| | \\ \\_____\\ \\ \\_____\\ " << endl <<
"| | /____/| \\ | | \\ | | " << endl <<
" \\|_____| || \\|_____| \\|_____| " << endl <<
" |____|/ ";
cout << endl << endl << endl;
system( "pause" );
return 0;
}
//--------------------------------------------------------------------------------------------------

View file

@ -0,0 +1,23 @@
// @author Martin Ettl (http://www.martinettl.de)
// @date 2013-07-26
// A program to print the letters 'CPP' in 3D ASCII-art.
#include <iostream>
#include <string>
int main()
{
std::string strAscii3D =
" /$$$$$$ /$$$$$$$ /$$$$$$$ \n"
" /$$__ $$| $$__ $$| $$__ $$\n"
"| $$ \\__/| $$ \\ $$| $$ \\ $$\n"
"| $$ | $$$$$$$/| $$$$$$$/\n"
"| $$ | $$____/ | $$____/ \n"
"| $$ $$| $$ | $$ \n"
"| $$$$$$/| $$ | $$ \n"
" \\______/ |__/ |__/ \n";
std::cout << "\n" << strAscii3D << std::endl;
return 0;
}

View file

@ -0,0 +1,104 @@
using System;
using System.Text;
namespace Language_name_in_3D_ascii
{
public class F5
{
char[] z = { ' ', ' ', '_', '/', };
long[,] f ={
{87381,87381,87381,87381,87381,87381,87381,},
{349525,375733,742837,742837,375733,349525,349525,},
{742741,768853,742837,742837,768853,349525,349525,},
{349525,375733,742741,742741,375733,349525,349525,},
{349621,375733,742837,742837,375733,349525,349525,},
{349525,375637,768949,742741,375733,349525,349525,},
{351157,374101,768949,374101,374101,349525,349525,},
{349525,375733,742837,742837,375733,349621,351157,},
{742741,768853,742837,742837,742837,349525,349525,},
{181,85,181,181,181,85,85,},
{1461,1365,1461,1461,1461,1461,2901,},
{742741,744277,767317,744277,742837,349525,349525,},
{181,181,181,181,181,85,85,},
{1431655765,3149249365L,3042661813L,3042661813L,3042661813L,1431655765,1431655765,},
{349525,768853,742837,742837,742837,349525,349525,},
{349525,375637,742837,742837,375637,349525,349525,},
{349525,768853,742837,742837,768853,742741,742741,},
{349525,375733,742837,742837,375733,349621,349621,},
{349525,744373,767317,742741,742741,349525,349525,},
{349525,375733,767317,351157,768853,349525,349525,},
{374101,768949,374101,374101,351157,349525,349525,},
{349525,742837,742837,742837,375733,349525,349525,},
{5592405,11883957,11883957,5987157,5616981,5592405,5592405,},
{366503875925L,778827027893L,778827027893L,392374737749L,368114513237L,366503875925L,366503875925L,},
{349525,742837,375637,742837,742837,349525,349525,},
{349525,742837,742837,742837,375733,349621,375637,},
{349525,768949,351061,374101,768949,349525,349525,},
{375637,742837,768949,742837,742837,349525,349525,},
{768853,742837,768853,742837,768853,349525,349525,},
{375733,742741,742741,742741,375733,349525,349525,},
{192213,185709,185709,185709,192213,87381,87381,},
{1817525,1791317,1817429,1791317,1817525,1398101,1398101,},
{768949,742741,768853,742741,742741,349525,349525,},
{375733,742741,744373,742837,375733,349525,349525,},
{742837,742837,768949,742837,742837,349525,349525,},
{48053,23381,23381,23381,48053,21845,21845,},
{349621,349621,349621,742837,375637,349525,349525,},
{742837,744277,767317,744277,742837,349525,349525,},
{742741,742741,742741,742741,768949,349525,349525,},
{11883957,12278709,11908533,11883957,11883957,5592405,5592405,},
{11883957,12277173,11908533,11885493,11883957,5592405,5592405,},
{375637,742837,742837,742837,375637,349525,349525,},
{768853,742837,768853,742741,742741,349525,349525,},
{6010197,11885397,11909973,11885397,6010293,5592405,5592405,},
{768853,742837,768853,742837,742837,349525,349525,},
{375733,742741,375637,349621,768853,349525,349525,},
{12303285,5616981,5616981,5616981,5616981,5592405,5592405,},
{742837,742837,742837,742837,375637,349525,349525,},
{11883957,11883957,11883957,5987157,5616981,5592405,5592405,},
{3042268597L,3042268597L,3042661813L,1532713813,1437971797,1431655765,1431655765,},
{11883957,5987157,5616981,5987157,11883957,5592405,5592405,},
{11883957,5987157,5616981,5616981,5616981,5592405,5592405,},
{12303285,5593941,5616981,5985621,12303285,5592405,5592405,}
};
private F5(string s)
{
StringBuilder[] o = new StringBuilder[7];
for (int i = 0; i < 7; i++) o[i] = new StringBuilder();
for (int i = 0, l = s.Length; i < l; i++)
{
int c = s[i];
if (65 <= c && c <= 90) c -= 39;
else if (97 <= c && c <= 122) c -= 97;
else c = -1;
long[] d = new long[7];
Buffer.BlockCopy(f, (++c * sizeof(long) * 7), d, 0, 7 * sizeof(long));
for (int j = 0; j < 7; j++)
{
StringBuilder b = new StringBuilder();
long v = d[j];
while (v > 0)
{
b.Append(z[(int)(v & 3)]);
v >>= 2;
}
char[] charArray = b.ToString().ToCharArray();
Array.Reverse(charArray);
o[j].Append(new string(charArray));
}
}
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 7 - i; j++)
System.Console.Write(' ');
System.Console.WriteLine(o[i]);
}
}
public static void Main(string[] args)
{
new F5(args.Length > 0 ? args[0] : "C sharp");
}
}
}

View file

@ -0,0 +1,3 @@
#include <stdio.h>
const char*s = " _____\n /____/\\\n/ ___\\/\n\\ \\/__/\n \\____/";
int main(){ puts(s); return 0; }

View file

@ -0,0 +1,78 @@
IDENTIFICATION DIVISION.
PROGRAM-ID. cobol-3d.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 cobol-area.
03 cobol-text-data PIC X(1030) VALUE "________/\\\\\\\\\____
- "____/\\\\\________/\\\\\\\\\\\\\__________/\\\\\________
- "/\\\_____________ _____/\\\////////_______/\\\//
- "/\\\_____\/\\\/////////\\\______/\\\///\\\_____\/\\\____
- "_________ ___/\\\/______________/\\\/__\///\\\__
- "_\/\\\_______\/\\\____/\\\/__\///\\\___\/\\\____________
- "_ __/\\\_______________/\\\______\//\\\__\/\\\\\
- "\\\\\\\\\____/\\\______\//\\\__\/\\\_____________
- " _\/\\\______________\/\\\_______\/\\\__\/\\\/////////\\\
- "__\/\\\_______\/\\\__\/\\\_____________ _\//\\\_
- "____________\//\\\______/\\\___\/\\\_______\/\\\__\//\\\
- "______/\\\___\/\\\_____________ __\///\\\_______
- "_____\///\\\__/\\\_____\/\\\_______\/\\\___\///\\\__/\\\
- "_____\/\\\_____________ ____\////\\\\\\\\\_____\
- "///\\\\\/______\/\\\\\\\\\\\\\/______\///\\\\\/______\/\
- "\\\\\\\\\\\\\\_ _______\/////////________\/////_
- "_______\/////////////__________\/////________\//////////
- "/////__" *> " Sorry for the syntax highlighting.
.
03 cobol-text-table REDEFINES cobol-text-data.
05 cobol-text PIC X(103) OCCURS 10 TIMES.
01 i PIC 99.
01 j PIC 9(4).
PROCEDURE DIVISION.
*> Display 'COBOL' line-by-line applying a shadow effect.
PERFORM VARYING i FROM 1 BY 1 UNTIL 10 < i
MOVE 1 TO j
PERFORM UNTIL 103 < j
*> When the top of a letter meets the right edge,
*> take care to shadow only the wall ('/').
IF cobol-text (i) (j:4) = "\\\/"
DISPLAY cobol-text (i) (j:3) AT LINE i COL j
WITH FOREGROUND-COLOR 7, HIGHLIGHT
ADD 3 TO j
DISPLAY cobol-text (i) (j:1) AT LINE i COL j
WITH FOREGROUND-COLOR 0, HIGHLIGHT
ADD 1 TO j
EXIT PERFORM CYCLE
END-IF
*> Apply shadows to the walls, base and the char
*> before the base.
IF cobol-text (i) (j:1) = "/"
OR cobol-text (i) (FUNCTION SUM(j, 1):1) = "/"
OR cobol-text (i) (FUNCTION SUM(j, 1):2)
= "\/"
DISPLAY cobol-text (i) (j:1) AT LINE i COL j
WITH FOREGROUND-COLOR 0, HIGHLIGHT
*> Do not apply a shadow to anything else.
ELSE
DISPLAY cobol-text (i) (j:1) AT LINE i COL j
WITH FOREGROUND-COLOR 7 , HIGHLIGHT
END-IF
ADD 1 TO j
END-PERFORM
END-PERFORM
*> Prompt the user so that they have a chance to see the
*> ASCII art, as sometimes the screen data is overwritten by
*> what was on the console before starting the program.
DISPLAY "Press enter to stop appreciating COBOL in 3D."
AT LINE 11 COL 1
ACCEPT i AT LINE 11 COL 46
GOBACK
.

View file

@ -0,0 +1,5 @@
(use 'clj-figlet.core)
(println
(render-to-string
(load-flf "ftp://ftp.figlet.org/pub/figlet/fonts/contributed/larry3d.flf")
"Clojure"))

View file

@ -0,0 +1,12 @@
(ql:quickload :cl-ppcre)
(defvar txt
"
xxxx xxxx x x x x xxxx x x x x xxxx xxxxx
x x x x xx xx xx xx x x xx x x x x x x
x x x x xx x x xx x x x x x x x x xxx x x
x x x x x x x x x x x x x x xxx xxxxx
x x x x x x x x x x x xx x x x x x
xxxx xxxx x x x x xxxx x x xxxxx x xxxx x
"
)
(princ (cl-ppcre:regex-replace-all " " (cl-ppcre:regex-replace-all "x" txt "_/") " " ))

View file

@ -0,0 +1,101 @@
startshape START
shape START {
loop i = 6 [y -1 x -1 z 10] NAME [b 1-((i+1)*0.11)]
}
shape NAME {
C [ x 34 z 1]
O [ x 46 z 2]
N [ x 64 z 3]
T [ x 85 z 4]
E [ x 95 z 5]
X [ x 106 z 6]
T [ x 125 z 7]
HYPHEN[x 135]
F [ x 145 z 8]
R [ x 158 z 9]
E [ x 175 z 10]
E [ x 188 z 11]
}
shape C {
ARCL [ y 12 flip 90 ]
ARCL [ y 12 r 180 ]
}
shape E {
LINE [ s 0.9 ]
LINE [ s 0.9 -1 y 24 ]
LINE [ s 0.4 r -90 y 0 ]
LINE [ s 0.4 r -90 y 12 ]
LINE [ s 0.4 r -90 y 24 ]
}
shape F {
LINE [ s 0.9 -1 y 24 ]
LINE [ s 0.4 r -90 y 12 ]
LINE [ s 0.4 r -90 y 24 ]
}
shape M {
LINE [ y 24 r 180 ]
LINE [ y 24 r -160 s 0.75 ]
LINE [ y 24 x 12 r 160 s 0.75 ]
LINE [ y 24 x 12 r 180 ]
}
shape N {
LINE [ y 24 r 180 ]
LINE [ y 24 r -160 ]
LINE [ y 24 x 9 r 180 ]
}
shape O {
ARCL [ y 12 flip 90]
ARCL [ y 12 r 180 ]
ARCL [ y 12 x 14 r 180 flip 90]
ARCL [ y 12 x 14 ]
}
shape R {
LINE [ s 0.9 -1 y 24 ]
LINE [ s 0.4 r -90 y 12 ]
LINE [ s 0.4 r -90 y 24 ]
LINE [ y 12 r -140 s 0.65 ]
ARCL [ y 18 x 12 r 180 flip 90 s 0.8 0.5]
ARCL [ y 18 x 12 s 0.8 0.5 ]
}
shape T {
LINE [ s 0.9 -1 y 24 ]
LINE [ s 0.4 r -90 y 24 ]
LINE [ s 0.4 r 90 y 24 ]
}
shape X {
LINE [ x 8 y 24 r 160 ]
LINE [ y 24 r -160 ]
}
shape HYPHEN{
SQUARE[y 11.5 s 4 0.5]
}
shape LINE {
TRIANGLE [[ s 1 30 y 0.26 ]]
}
shape ARCL {
SQUARE [ ]
ARCL [ size 0.97 y 0.55 r 1.5 ]
}

View file

@ -0,0 +1,59 @@
// Derived from AA3D - ASCII art stereogram generator
// by Jan Hubicka and Thomas Marsh
// (GNU General Public License)
// http://aa-project.sourceforge.net/aa3d/
// http://en.wikipedia.org/wiki/ASCII_stereogram
import std.stdio, std.string, std.random;
immutable image = "
111111111111111
1111111111111111
11111 1111
11111 1111
11111 1111
11111 1111
11111 1111
11111 1111
1111111111111111
111111111111111
";
void main() {
enum int width = 50;
immutable text = "DLanguage";
enum int skip = 12;
char[65536 / 2] data;
foreach (y, row; image.splitLines()) {
immutable int shift = uniform(0, int.max);
bool l = false;
foreach (x; 0 .. width) {
int s;
if (!l && x > skip) {
s = (x < row.length) ? row[x] : '\n';
if (s == ' ') {
s = 0;
} else if (s == '\n') {
s = 0;
l = true;
} else if (s >= '0' && s <= '9') {
s = '0' - s;
} else
s = -2;
} else
s = 0;
s += skip;
s = x - s;
s = (s < 0) ? text[(x + shift) % text.length] : data[s];
data[x] = cast(char)s;
write(data[x]);
}
writeln();
}
}

View file

@ -0,0 +1,9 @@
void main(){
print("""
XXX XX XXX XXXX
X X X X X X X
X X XXXX XXX X
XXX X X X X X
""".replaceAll('X','_/'));
}

View file

@ -0,0 +1,114 @@
program Write_language_name_in_3D_ASCII;
{$APPTYPE CONSOLE}
uses
System.SysUtils;
const
z: TArray<char> = [' ', ' ', '_', '/'];
f: TArray<TArray<Cardinal>> = [[87381, 87381, 87381, 87381, 87381, 87381,
87381], [349525, 375733, 742837, 742837, 375733, 349525, 349525], [742741,
768853, 742837, 742837, 768853, 349525, 349525], [349525, 375733, 742741,
742741, 375733, 349525, 349525], [349621, 375733, 742837, 742837, 375733,
349525, 349525], [349525, 375637, 768949, 742741, 375733, 349525, 349525], [351157,
374101, 768949, 374101, 374101, 349525, 349525], [349525, 375733, 742837,
742837, 375733, 349621, 351157], [742741, 768853, 742837, 742837, 742837,
349525, 349525], [181, 85, 181, 181, 181, 85, 85], [1461, 1365, 1461, 1461,
1461, 1461, 2901], [742741, 744277, 767317, 744277, 742837, 349525, 349525],
[181, 181, 181, 181, 181, 85, 85], [1431655765, 3149249365, 3042661813,
3042661813, 3042661813, 1431655765, 1431655765], [349525, 768853, 742837,
742837, 742837, 349525, 349525], [349525, 375637, 742837, 742837, 375637,
349525, 349525], [349525, 768853, 742837, 742837, 768853, 742741, 742741], [349525,
375733, 742837, 742837, 375733, 349621, 349621], [349525, 744373, 767317,
742741, 742741, 349525, 349525], [349525, 375733, 767317, 351157, 768853,
349525, 349525], [374101, 768949, 374101, 374101, 351157, 349525, 349525], [349525,
742837, 742837, 742837, 375733, 349525, 349525], [5592405, 11883957,
11883957, 5987157, 5616981, 5592405, 5592405], [366503875925, 778827027893,
778827027893, 392374737749, 368114513237, 366503875925, 366503875925], [349525,
742837, 375637, 742837, 742837, 349525, 349525], [349525, 742837, 742837,
742837, 375733, 349621, 375637], [349525, 768949, 351061, 374101, 768949,
349525, 349525], [375637, 742837, 768949, 742837, 742837, 349525, 349525], [768853,
742837, 768853, 742837, 768853, 349525, 349525], [375733, 742741, 742741,
742741, 375733, 349525, 349525], [192213, 185709, 185709, 185709, 192213,
87381, 87381], [1817525, 1791317, 1817429, 1791317, 1817525, 1398101,
1398101], [768949, 742741, 768853, 742741, 742741, 349525, 349525], [375733,
742741, 744373, 742837, 375733, 349525, 349525], [742837, 742837, 768949,
742837, 742837, 349525, 349525], [48053, 23381, 23381, 23381, 48053, 21845,
21845], [349621, 349621, 349621, 742837, 375637, 349525, 349525], [742837,
744277, 767317, 744277, 742837, 349525, 349525], [742741, 742741, 742741,
742741, 768949, 349525, 349525], [11883957, 12278709, 11908533, 11883957,
11883957, 5592405, 5592405], [11883957, 12277173, 11908533, 11885493,
11883957, 5592405, 5592405], [375637, 742837, 742837, 742837, 375637, 349525,
349525], [768853, 742837, 768853, 742741, 742741, 349525, 349525], [6010197,
11885397, 11909973, 11885397, 6010293, 5592405, 5592405], [768853, 742837,
768853, 742837, 742837, 349525, 349525], [375733, 742741, 375637, 349621,
768853, 349525, 349525], [12303285, 5616981, 5616981, 5616981, 5616981,
5592405, 5592405], [742837, 742837, 742837, 742837, 375637, 349525, 349525],
[11883957, 11883957, 11883957, 5987157, 5616981, 5592405, 5592405], [3042268597,
3042268597, 3042661813, 1532713813, 1437971797, 1431655765, 1431655765], [11883957,
5987157, 5616981, 5987157, 11883957, 5592405, 5592405], [11883957, 5987157,
5616981, 5616981, 5616981, 5592405, 5592405], [12303285, 5593941, 5616981,
5985621, 12303285, 5592405, 5592405]];
function ReverseString(s: string): string;
var
i, len: integer;
begin
len := s.Length;
SetLength(Result, len);
for i := 1 to len do
Result[len - i + 1] := s[i];
end;
procedure F5(s: ansistring);
begin
var o: TArray<TStringBuilder>;
SetLength(o, 7);
for var i := 0 to High(o) do
o[i] := TStringBuilder.Create;
var l := length(s);
for var i := 1 to l do
begin
var c: Integer := ord(s[i]);
if c in [65..90] then
c := c - 39
else if c in [97..122] then
c := c - 97
else
c := -1;
inc(c);
var d: TArray<Cardinal> := f[c];
for var j := 0 to 6 do
begin
var b := TStringBuilder.Create;
var v := d[j];
while v > 0 do
begin
b.Append(z[Trunc(v and 3)]);
v := v shr 2;
end;
o[j].Append(ReverseString(b.ToString));
b.Free;
end;
end;
for var i := 0 to 6 do
begin
for var j := 0 to 6 - i do
write(' ');
writeln(o[i].ToString);
end;
for var i := 0 to High(o) do
o[i].Free;
end;
begin
F5('Delphi');
F5('Thanks Java');
F5('guy');
readln;
end.

View file

@ -0,0 +1,36 @@
PROGRAM 3D_NAME
DIM TBL$[17,1]
BEGIN
FOR I=0 TO 17 DO
READ(TBL$[I,0],TBL$[I,1])
END FOR
PRINT(CHR$(12);) ! CLS
FOR I=0 TO 17 DO
PRINT(TBL$[I,1];TBL$[I,0];TBL$[I,0];TBL$[I,1])
END FOR
DATA("_________________ ","_____________ ")
DATA("|\ \ ","|\ \ ")
DATA("|\\_______________\ ","|\\___________\ ")
DATA("|\\| \ ","|\\| | ")
DATA("|\\| ________ | ","|\\| ________| ")
DATA("|\\| | |\| | ","|\\| | ")
DATA("|\\| |______|\| | ","|\\| |____ ")
DATA("|\\| | \| | ","|\\| | \ ")
DATA("|\\| |________| | ","|\\| |_____\ ")
DATA("|\\| | ","|\\| | ")
DATA("|\\| ___ ____/ ","|\\| _____| ")
DATA("|\\| | \\\ \ ","|\\| | ")
DATA("|\\| | \\\ \ ","|\\| | ")
DATA("|\\| | \\\ \ ","|\\| |______ ")
DATA("|\\| | \\\ \ ","|\\| | \ ")
DATA("|\\| | \\\ \ ","|\\| |_______\ ")
DATA(" \\| | \\\ \ "," \\| | ")
DATA(" \|___| \\\___\"," \|___________| ")
END PROGRAM

View file

@ -0,0 +1,13 @@
defmodule ASCII3D do
def decode(str) do
Regex.scan(~r/(\d+)(\D+)/, str)
|> Enum.map_join(fn[_,n,s] -> String.duplicate(s, String.to_integer(n)) end)
|> String.replace("B", "\\") # Backslash
end
end
data = "1 12_4 2_1\n1/B2 9_1B2 1/2B 3 2_18 2_1\nB2 B8_1/ 3 B2 1/B_B4 2_6 2_2 1/B_B6 4_1
3 B7_3 4 B2/_2 1/2B_1_2 1/B_B B2/_4 1/ 3_1B\n 2 B2 6_1B3 3 B2 1/B2 B1/_/B_B3/ 2 1/2B 1 /B B2_1/
2 3 B5_1/4 6 B3 1B/_/2 /1_2 6 B1\n3 3 B10_6 B3 3 /2B_1_6 B1
4 2 B11_2B 1B_B2 B1_B 3 /1B/_/B_B2 B B_B1\n6 1B/11_1/3 B/_/2 3 B/_/"
IO.puts ASCII3D.decode(data)

View file

@ -0,0 +1,6 @@
%% Implemented by Arjun Sunel
-module(three_d).
-export([main/0]).
main() ->
io:format(" _____ _ \n| ___| | | \n| |__ _ __| | __ _ _ __ __ _ \n| __| '__| |/ _` | '_ \\ / _` |\n| |__| | | | (_| | | | | (_| |\n|____/_| |_|\\__,_|_| |_|\\__, |\n __/ |\n |___/\n").

View file

@ -0,0 +1,9 @@
-module(ascii3d).
-export([decode/1]).
decode(Str) ->
Splited = re:split(Str, "(\\d+)(\\D+)", [{return,list},group,trim]),
Fun = fun([_,N,S]) -> {Num,_} = string:to_integer(N), lists:duplicate(Num, S) end,
Joined = string:join(lists:flatmap(Fun, Splited), ""),
Lines = binary:replace(binary:list_to_bin(Joined), <<"B">>, <<"\\">>, [global]),
io:format("~s~n", [Lines]).

View file

@ -0,0 +1,43 @@
let make2Darray (picture : string list) =
let maxY = picture.Length
let maxX = picture |> List.maxBy String.length |> String.length
let arr =
(fun y x ->
if picture.[y].Length <= x then ' '
else picture.[y].[x])
|> Array2D.init maxY maxX
(arr, maxY, maxX)
let (cube, cy, cx) =
[
@"///\";
@"\\\/";
]
|> make2Darray
let (p2, my, mx) =
[
"*****";
"* * * ";
"* * * ";
"* **********";
"**** * * ";
"* * * ";
"* **********";
"* * * ";
"* * * ";
]
|> make2Darray
let a2 = Array2D.create (cy/2 * (my+1)) (cx/2 * mx + my) ' '
let imax = my * (cy/2)
for y in 0 .. Array2D.length1 p2 - 1 do
for x in 0 .. Array2D.length2 p2 - 1 do
let indent = Math.Max(imax - y, 0)
if p2.[y, x] = '*' then Array2D.blit cube 0 0 a2 y (indent+x) cy cx
Array2D.iteri (fun y x c ->
if x = 0 then printfn ""
printf "%c" c) a2

View file

@ -0,0 +1,17 @@
\ Rossetta Code Write language name in 3D ASCII
\ Simple Method
: l1 ." /\\\\\\\\\\\\\ /\\\\ /\\\\\\\ /\\\\\\\\\\\\\ /\\\ /\\\" CR ;
: l2 ." \/\\\///////// /\\\//\\\ /\\\/////\\\ \//////\\\//// \/\\\ \/\\\" CR ;
: l3 ." \/\\\ /\\\/ \///\\\ \/\\\ \/\\\ \/\\\ \/\\\ \/\\\" CR ;
: l4 ." \/\\\\\\\\\ /\\\ \//\\\ \/\\\\\\\\\/ \/\\\ \/\\\\\\\\\\\\\" CR ;
: l5 ." \/\\\///// \/\\\ \/\\\ \/\\\////\\\ \/\\\ \/\\\///////\\\" CR ;
: l6 ." \/\\\ \//\\\ /\\\ \/\\\ \//\\\ \/\\\ \/\\\ \/\\\" CR ;
: l7 ." \/\\\ \///\\\ /\\\ \/\\\ \//\\\ \/\\\ \/\\\ \/\\\" CR ;
: l8 ." \/\\\ \///\\\\/ \/\\\ \//\\\ \/\\\ \/\\\ \/\\\" CR ;
: l9 ." \/// \//// \/// \/// \/// \/// \///" CR ;
: "FORTH" cr L1 L2 L3 L4 L5 L6 L7 L8 l9 ;
( test at the console )
page "forth"

View file

@ -0,0 +1,101 @@
\ Original code: "Short phrases with BIG Characters by Wil Baden 2003-02-23
\ Modified BFox for simple 3D presentation 2015-07-14
\ Forth is a very low level language but by using primitive operations
\ we create new words in the language to solve the problem.
\ This solution coverts an acsii string to big text characters
HEX
: toUpper ( char -- char ) 05F and ;
: w, ( n -- ) CSWAP , ; \ compile 'n', a 16 bit integer, into memory in the correct order
CREATE Banner-Matrix
0000 w, 0000 w, 0000 w, 0000 w, 2020 w, 2020 w, 2000 w, 2000 w,
5050 w, 5000 w, 0000 w, 0000 w, 5050 w, F850 w, F850 w, 5000 w,
2078 w, A070 w, 28F0 w, 2000 w, C0C8 w, 1020 w, 4098 w, 1800 w,
40A0 w, A040 w, A890 w, 6800 w, 3030 w, 1020 w, 0000 w, 0000 w,
2040 w, 8080 w, 8040 w, 2000 w, 2010 w, 0808 w, 0810 w, 2000 w,
20A8 w, 7020 w, 70A8 w, 2000 w, 0020 w, 2070 w, 2020 w, 0000 w,
0000 w, 0030 w, 3010 w, 2000 w, 0000 w, 0070 w, 0000 w, 0000 w,
0000 w, 0000 w, 0030 w, 3000 w, 0008 w, 1020 w, 4080 w, 0000 w,
7088 w, 98A8 w, C888 w, 7000 w, 2060 w, 2020 w, 2020 w, 7000 w,
7088 w, 0830 w, 4080 w, F800 w, F810 w, 2030 w, 0888 w, 7000 w,
1030 w, 5090 w, F810 w, 1000 w, F880 w, F008 w, 0888 w, 7000 w,
3840 w, 80F0 w, 8888 w, 7000 w, F808 w, 1020 w, 4040 w, 4000 ,
7088 w, 8870 w, 8888 w, 7000 w, 7088 w, 8878 w, 0810 w, E000 w,
0060 w, 6000 w, 6060 w, 0000 w, 0060 w, 6000 w, 6060 w, 4000 w,
1020 w, 4080 w, 4020 w, 1000 w, 0000 w, F800 w, F800 w, 0000 w,
4020 w, 1008 w, 1020 w, 4000 w, 7088 w, 1020 w, 2000 w, 2000 w,
7088 w, A8B8 w, B080 w, 7800 w, 2050 w, 8888 w, F888 w, 8800 w,
F088 w, 88F0 w, 8888 w, F000 w, 7088 w, 8080 w, 8088 w, 7000 w,
F048 w, 4848 w, 4848 w, F000 w, F880 w, 80F0 w, 8080 w, F800 w,
F880 w, 80F0 w, 8080 w, 8000 w, 7880 w, 8080 w, 9888 w, 7800 w,
8888 w, 88F8 w, 8888 w, 8800 w, 7020 w, 2020 w, 2020 w, 7000 w,
0808 w, 0808 w, 0888 w, 7800 w, 8890 w, A0C0 w, A090 w, 8800 w,
8080 w, 8080 w, 8080 w, F800 w, 88D8 w, A8A8 w, 8888 w, 8800 w,
8888 w, C8A8 w, 9888 w, 8800 w, 7088 w, 8888 w, 8888 w, 7000 w,
F088 w, 88F0 w, 8080 w, 8000 w, 7088 w, 8888 w, A890 w, 6800 w,
F088 w, 88F0 w, A090 w, 8800 w, 7088 w, 8070 w, 0888 w, 7000 w,
F820 w, 2020 w, 2020 w, 2000 w, 8888 w, 8888 w, 8888 w, 7000 w,
8888 w, 8888 w, 8850 w, 2000 w, 8888 w, 88A8 w, A8D8 w, 8800 w,
8888 w, 5020 w, 5088 w, 8800 w, 8888 w, 5020 w, 2020 w, 2000 w,
F808 w, 1020 w, 4080 w, F800 w, 7840 w, 4040 w, 4040 w, 7800 w,
0080 w, 4020 w, 1008 w, 0000 w, F010 w, 1010 w, 1010 w, F000 w,
0000 w, 2050 w, 8800 w, 0000 w, 0000 w, 0000 w, 0000 w, 00F8 w,
: >col ( char -- ndx ) \ convert ascii char into column index in the matrix
toupper BL - 0 MAX ; \ Space char (BL) = 0. Index is clipped to 0 as minimum value
: ]banner-matrix ( row ascii -- addr ) \ convert Banner-matrix memory to a 2 dimensional matrix
>col 8 * Banner-matrix + + ;
: PLACE ( str len addr -- ) \ store a string with length at addr
2DUP 2>R 1+ SWAP MOVE 2R> C! ;
synonym len c@ \ fetch the 1st char of a counted string to return the length
: BIT? ( byte bit# -- -1 | 0) \ given a byte and bit# on stack, return true or false flag
1 swap lshift AND ;
DECIMAL
variable bannerstr 5 allot \ memory for the character string
\ Font selection characters stored as counted strings
: STARFONT S" *" bannerstr PLACE ;
: HASHFONT S" ##" bannerstr PLACE ;
: 3DFONT S" _/" bannerstr PLACE ;
: .BIGCHAR ( matrix-byte -- )
2 7 \ we use bits 7 to 2
DO
dup I bit? \ check bit I in the matrix-byte on stack
IF bannerstr count TYPE \ if BIT=TRUE
ELSE bannerstr len SPACES \ if BIT=false
THEN
-1 +LOOP \ loop backwards
DROP ; \ drop the matrix-byte
: BANNER ( str len -- )
8 0
DO CR \ str len
2dup
BOUNDS \ calc. begin & end addresses of string
DO
J I C@ ]Banner-Matrix C@ .BIGCHAR
LOOP \ str len
LOOP
2DROP ; \ drop str & len
\ test the solution in the Forth console

View file

@ -0,0 +1,27 @@
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

View file

@ -0,0 +1,39 @@
_window = 1
begin enum 1
_asciiField
end enum
void local fn BuildWindow
CGRect r = fn CGRectMake( 0, 0, 610, 140 )
window _window, @"Rosetta Code — FutureBasic in 3D ASCII", r, NSWindowStyleMaskTitled + NSWindowStyleMaskClosable
WindowSetBackgroundColor( _window, fn ColorBlack )
CFStringRef asciiFB = @" ¬
/$$$$$$$$ / $$ /$$$$$$$ /$$ \n¬
| $$_____/ | $$ | $$__ $$ |__/ \n¬
| $$ /$$ /$$ /$$$$$$ /$$ /$$ /$$$$$$ /$$$$$$ | $$ \\ $$ /$$$$$$ /$$$$$$$ /$$ /$$$$$$$\n¬
| $$$$$ | $$ | $$|_ $$_/ | $$ | $$ /$$__ $$ /$$__ $$| $$$$$$$ |____ $$ /$$_____/| $$ /$$_____/\n¬
| $$__/ | $$ | $$ | $$ | $$ | $$| $$ \\__/| $$$$$$$$| $$__ $$ /$$$$$$$| $$$$$$ | $$| $$ \n¬
| $$ | $$ | $$ | $$ /$$| $$ | $$| $$ | $$_____/| $$ \\ $$ /$$__ $$ \\____ $$| $$| $$ \n¬
| $$ | $$$$$$/ | $$$$/| $$$$$$/| $$ | $$$$$$$| $$$$$$$/| $$$$$$$ /$$$$$$$/| $$| $$$$$$$\n¬
|__/ \\______/ \\___/ \\______/ |__/ \\_______/|_______/ \\_______/|_______/ |__/ \\_______/\n"
r = fn CGRectMake( 22, 20, 582, 100 )
textfield _asciiField, YES, asciiFB, r, _window
TextFieldSetTextColor( _asciiField, fn ColorYellow )
TextFieldSetBordered( _asciiField, NO )
TextFieldSetBackgroundColor( _asciiField, fn ColorBlack )
ControlSetFontWithName( _asciiField, @"Menlo", 9.0 )
end fn
void local fn DoDialog( ev as long, tag as long, wnd as long )
select ( ev )
case _windowWillClose : end
end select
end fn
on dialog fn DoDialog
fn BuildWindow
HandleEvents

View file

@ -0,0 +1,93 @@
package main
import (
"fmt"
"strings"
)
var lean = font{
height: 5,
slant: 1,
spacing: 2,
m: map[rune][]string{
'G': []string{
` _/_/_/`,
`_/ `,
`_/ _/_/`,
`_/ _/`,
` _/_/_/`,
},
'o': []string{
` `,
` _/_/ `,
`_/ _/`,
`_/ _/`,
` _/_/ `,
},
}}
var smallKeyboard = font{
height: 4,
slant: 0,
spacing: -1,
m: map[rune][]string{
'G': []string{
` ____ `,
`||G ||`,
`||__||`,
`|/__\|`,
},
'o': []string{
` ____ `,
`||o ||`,
`||__||`,
`|/__\|`,
},
}}
type font struct {
height int
slant int
spacing int
m map[rune][]string
}
func render(s string, f font) string {
rows := make([]string, f.height)
if f.slant != 0 {
start := 0
if f.slant > 0 {
start = f.height
}
for i := range rows {
rows[i] = strings.Repeat(" ", (start-i)*f.slant)
}
}
if f.spacing >= 0 {
spacing := strings.Repeat(" ", f.spacing)
for j, c := range s {
for i, r := range f.m[c] {
if j > 0 {
r = spacing + r
}
rows[i] += r
}
}
} else {
overlap := -f.spacing
for j, c := range s {
for i, r := range f.m[c] {
if j > 0 {
r = r[overlap:]
}
rows[i] += r
}
}
}
return strings.Join(rows, "\n")
}
func main() {
fmt.Println(render("Go", lean))
fmt.Println(render("Go", smallKeyboard))
}

View file

@ -0,0 +1,8 @@
println """\
_|_|_|
_| _| _|_| _|_| _|_| _| _| _| _|
_| _|_| _|_| _| _| _| _| _| _| _| _|
_| _| _| _| _| _| _| _| _| _| _|
_|_|_| _| _|_| _|_| _| _|_|_|
_|
_|_|"""

View file

@ -0,0 +1,7 @@
String.metaClass.getAsAsciiArt = {
def request = "http://www.network-science.de/ascii/ascii.php?TEXT=${delegate}&x=23&y=10&FONT=block&RICH=no&FORM=left&STRE=no&WIDT=80"
def html = new URL(request).text
(html =~ '<TD><PRE>([^<]+)</PRE>')[-1][1]
}
println "Groovy".asAsciiArt

View file

@ -0,0 +1,21 @@
module Main where
{-
__ __ __ ___ ___
/\ \/\ \ /\ \ /\_ \ /\_ \
\ \ \_\ \ __ ____\ \ \/'\ __\//\ \ \//\ \
\ \ _ \ /'__`\ /',__\\ \ , < /'__`\\ \ \ \ \ \
\ \ \ \ \/\ \L\.\_/\__, `\\ \ \\`\ /\ __/ \_\ \_ \_\ \_
\ \_\ \_\ \__/.\_\/\____/ \ \_\ \_\ \____\/\____\/\____\
\/_/\/_/\/__/\/_/\/___/ \/_/\/_/\/____/\/____/\/____/
-}
ascii3d :: String
ascii3d = " __ __ __ ___ ___ \n" ++
"/\\ \\/\\ \\ /\\ \\ /\\_ \\ /\\_ \\ \n" ++
"\\ \\ \\_\\ \\ __ ____\\ \\ \\/'\\ __\\//\\ \\ \\//\\ \\ \n" ++
" \\ \\ _ \\ /'__`\\ /',__\\\\ \\ , < /'__`\\\\ \\ \\ \\ \\ \\ \n" ++
" \\ \\ \\ \\ \\/\\ \\L\\.\\_/\\__, `\\\\ \\ \\\\`\\ /\\ __/ \\_\\ \\_ \\_\\ \\_ \n" ++
" \\ \\_\\ \\_\\ \\__/.\\_\\/\\____/ \\ \\_\\ \\_\\ \\____\\/\\____\\/\\____\\\n" ++
" \\/_/\\/_/\\/__/\\/_/\\/___/ \\/_/\\/_/\\/____/\\/____/\\/____/"
main = putStrLn ascii3d

View file

@ -0,0 +1,34 @@
procedure main(arglist)
write(ExpandText(
if !arglist == "icon" then
"14/\\\n14\\/\n12/\\\n11/1/\n10/1/1/\\\n10\\/1/2\\\n12/1/\\1\\\n_
12\\1\\1\\/\n10/\\1\\1\\2/\\\n9/2\\1\\/1/2\\\n_
8/1/\\1\\2/1/\\1\\2/\\\n8\\1\\/1/2\\1\\/1/2\\1\\\n_
6/\\1\\2/4\\2/1/\\1\\1\\\n5/1/2\\/6\\/1/2\\1\\/\n_
/\\2/1/1/\\10/1/\\1\\2/\\\n\\/2\\1\\/1/10\\/1/1/2\\/\n_
2/\\1\\2/1/\\6/\\2/1/\n2\\1\\1\\/1/2\\4/2\\1\\/\n_
3\\1\\2/1/\\1\\2/1/\\1\\\n4\\/2\\1\\/1/2\\1\\/1/\n_
9\\2/1/\\1\\2/\n10\\/2\\1\\1\\/\n12/\\1\\1\\\n12\\1\\/1/\n_
13\\2/1/\\\n14\\/1/1/\n16/1/\n16\\/\n14/\\\n14\\/\n"
else
"13/\\\n12/1/\n11/1/1/\\\n11\\1\\/1/\n12\\2/1/\\\n13\\/1/2\\\n_
15/1/\\1\\2/\\\n15\\/1/1/2\\/\n17/1/1/\\18/\\\n17\\/1/1/17/2\\\n_
19/1/1/\\14/1/\\1\\\n19\\/1/2\\13\\1\\1\\/\n21/1/\\1\\10/\\1\\1\\\n_
21\\1\\1\\/10\\1\\1\\/\n19/\\1\\1\\2/\\6/\\1\\1\\\n_
18/2\\1\\/1/2\\5\\1\\/1/\n17/1/\\1\\2/1/\\1\\2/\\1\\2/\n_
17\\1\\/1/2\\1\\/1/2\\1\\1\\/\n15/\\1\\2/4\\2/1/\\1\\1\\\n_
14/1/2\\/6\\/1/2\\1\\/\n9/\\2/1/1/\\10/1/\\1\\2/\\\n_
9\\/2\\1\\/1/10\\/1/1/2\\/\n11/\\1\\2/1/\\6/\\2/1/\n_
11\\1\\1\\/1/2\\4/2\\1\\/\n9/\\1\\1\\2/1/\\1\\2/1/\\1\\\n_
8/2\\1\\/2\\1\\/1/2\\1\\/1/\n7/1/\\1\\5\\2/1/\\1\\2/\n_
7\\1\\1\\/6\\/2\\1\\1\\/\n5/\\1\\1\\10/\\1\\1\\\n_
5\\1\\1\\/10\\1\\/1/\n3/\\1\\1\\13\\2/1/\\\n3\\1\\/1/14\\/1/1/\n_
4\\2/17/1/1/\\\n5\\/18\\/1/1/\n23/\\2/1/1/\\\n23\\/2\\1\\/1/\n_
28\\2/1/\\\n29\\/1/2\\\n31/1/\\1\\\n31\\/1/1/\n33/1/\n33\\/\n"
))
end
procedure ExpandText(s)
s ? until pos(0) do
writes(repl(" ",tab(many(&digits)))|tab(upto(&digits)|0))
end

View file

@ -0,0 +1,22 @@
require 'vrml.ijs' NB. Due to Andrew Nikitin
view 5#.^:_1]21-~a.i.'j*ez`C3\toy.G)' NB. Due to Oleg Kobchenko
________________________
|\ \ \ \ \
| \_____\_____\_____\_____\
| | | | |\ \
|\| | | | \_____\
| \_____|_____|_____| | |
| | | | | |\| |
\| | |\| | \_____|
\_____| | \_____|
| | |
|\| |
| \_____|
______ | | |
|\ \ |\| |
| \_____\_________|_\_____|
| |\ \ \ \ |
\| \_____\_____\_____\ |
| | | | |___|
\| | | |
\_____|_____|_____|

View file

@ -0,0 +1,36 @@
view 8 8 8#:'"#$%&,4<DHLPTYZ[\'-&(a.&i.)' '
______
|\ \
| \_____\
| |\ \
\| \_____\
| |\ \
\| \_____\
| |\ \
|\| \_____\
| | |\ \
| |\| \_____\
______ |\| | | |
|\ \| \__\| |
| \_____| | \_____|
| | |\| |
|\| | \_____|
| \_____| | |
| | |\| |
\| | \_____|
\_____| | |
|\ |\| |
| \___| \_____|
| |\ | | |
\| \_|\| |
| |\| \_____|
\| | | |
| |\| |
\| \_____|
| | |
\| |
\_____|

View file

@ -0,0 +1,78 @@
public class F5{
char[]z={' ',' ','_','/',};
long[][]f={
{87381,87381,87381,87381,87381,87381,87381,},
{349525,375733,742837,742837,375733,349525,349525,},
{742741,768853,742837,742837,768853,349525,349525,},
{349525,375733,742741,742741,375733,349525,349525,},
{349621,375733,742837,742837,375733,349525,349525,},
{349525,375637,768949,742741,375733,349525,349525,},
{351157,374101,768949,374101,374101,349525,349525,},
{349525,375733,742837,742837,375733,349621,351157,},
{742741,768853,742837,742837,742837,349525,349525,},
{181,85,181,181,181,85,85,},
{1461,1365,1461,1461,1461,1461,2901,},
{742741,744277,767317,744277,742837,349525,349525,},
{181,181,181,181,181,85,85,},
{1431655765,3149249365L,3042661813L,3042661813L,3042661813L,1431655765,1431655765,},
{349525,768853,742837,742837,742837,349525,349525,},
{349525,375637,742837,742837,375637,349525,349525,},
{349525,768853,742837,742837,768853,742741,742741,},
{349525,375733,742837,742837,375733,349621,349621,},
{349525,744373,767317,742741,742741,349525,349525,},
{349525,375733,767317,351157,768853,349525,349525,},
{374101,768949,374101,374101,351157,349525,349525,},
{349525,742837,742837,742837,375733,349525,349525,},
{5592405,11883957,11883957,5987157,5616981,5592405,5592405,},
{366503875925L,778827027893L,778827027893L,392374737749L,368114513237L,366503875925L,366503875925L,},
{349525,742837,375637,742837,742837,349525,349525,},
{349525,742837,742837,742837,375733,349621,375637,},
{349525,768949,351061,374101,768949,349525,349525,},
{375637,742837,768949,742837,742837,349525,349525,},
{768853,742837,768853,742837,768853,349525,349525,},
{375733,742741,742741,742741,375733,349525,349525,},
{192213,185709,185709,185709,192213,87381,87381,},
{1817525,1791317,1817429,1791317,1817525,1398101,1398101,},
{768949,742741,768853,742741,742741,349525,349525,},
{375733,742741,744373,742837,375733,349525,349525,},
{742837,742837,768949,742837,742837,349525,349525,},
{48053,23381,23381,23381,48053,21845,21845,},
{349621,349621,349621,742837,375637,349525,349525,},
{742837,744277,767317,744277,742837,349525,349525,},
{742741,742741,742741,742741,768949,349525,349525,},
{11883957,12278709,11908533,11883957,11883957,5592405,5592405,},
{11883957,12277173,11908533,11885493,11883957,5592405,5592405,},
{375637,742837,742837,742837,375637,349525,349525,},
{768853,742837,768853,742741,742741,349525,349525,},
{6010197,11885397,11909973,11885397,6010293,5592405,5592405,},
{768853,742837,768853,742837,742837,349525,349525,},
{375733,742741,375637,349621,768853,349525,349525,},
{12303285,5616981,5616981,5616981,5616981,5592405,5592405,},
{742837,742837,742837,742837,375637,349525,349525,},
{11883957,11883957,11883957,5987157,5616981,5592405,5592405,},
{3042268597L,3042268597L,3042661813L,1532713813,1437971797,1431655765,1431655765,},
{11883957,5987157,5616981,5987157,11883957,5592405,5592405,},
{11883957,5987157,5616981,5616981,5616981,5592405,5592405,},
{12303285,5593941,5616981,5985621,12303285,5592405,5592405,},};
public static void main(String[]a){
new F5(a.length>0?a[0]:"Java");}
private F5(String s){
StringBuilder[]o=new StringBuilder[7];
for(int i=0;i<7;i++)o[i]=new StringBuilder();
for(int i=0,l=s.length();i<l;i++){
int c=s.charAt(i);
if(65<=c&&c<=90)c-=39;
else if(97<=c&&c<=122)c-=97;
else c=-1;
long[]d=f[++c];
for(int j=0;j<7;j++){
StringBuilder b=new StringBuilder();
long v=d[j];
while(v>0){
b.append(z[(int)(v&3)]);
v>>=2;}
o[j].append(b.reverse().toString());}}
for(int i=0;i<7;i++){
for(int j=0;j<7-i;j++)
System.out.print(' ');
System.out.println(o[i]);}}}

View file

@ -0,0 +1,17 @@
def jq:
"\("
#
#
# # ###
# # # #
# # # #
# # # # ####
# ### #
#
")";
def banner3D:
jq | split("\n") | map( gsub("#"; "╔╗") | gsub(" "; " ") )
| [[range(length;0;-1) | " " * .], . ] | transpose[] | join("") ;
banner3D

View file

@ -0,0 +1,10 @@
println(replace(raw"""
xxxxx
x x
x x x
x x x x
x x x x x xxx
x x x x x x x
x x x x x x x xx
xx xx x x x x xx
""", "x" => "_/"))

View file

@ -0,0 +1,97 @@
// version 1.1
class Ascii3D(s: String) {
val z = charArrayOf(' ', ' ', '_', '/')
val f = arrayOf(
longArrayOf(87381, 87381, 87381, 87381, 87381, 87381, 87381),
longArrayOf(349525, 375733, 742837, 742837, 375733, 349525, 349525),
longArrayOf(742741, 768853, 742837, 742837, 768853, 349525, 349525),
longArrayOf(349525, 375733, 742741, 742741, 375733, 349525, 349525),
longArrayOf(349621, 375733, 742837, 742837, 375733, 349525, 349525),
longArrayOf(349525, 375637, 768949, 742741, 375733, 349525, 349525),
longArrayOf(351157, 374101, 768949, 374101, 374101, 349525, 349525),
longArrayOf(349525, 375733, 742837, 742837, 375733, 349621, 351157),
longArrayOf(742741, 768853, 742837, 742837, 742837, 349525, 349525),
longArrayOf(181, 85, 181, 181, 181, 85, 85),
longArrayOf(1461, 1365, 1461, 1461, 1461, 1461, 2901),
longArrayOf(742741, 744277, 767317, 744277, 742837, 349525, 349525),
longArrayOf(181, 181, 181, 181, 181, 85, 85),
longArrayOf(1431655765, 3149249365L, 3042661813L, 3042661813L, 3042661813L, 1431655765, 1431655765),
longArrayOf(349525, 768853, 742837, 742837, 742837, 349525, 349525),
longArrayOf(349525, 375637, 742837, 742837, 375637, 349525, 349525),
longArrayOf(349525, 768853, 742837, 742837, 768853, 742741, 742741),
longArrayOf(349525, 375733, 742837, 742837, 375733, 349621, 349621),
longArrayOf(349525, 744373, 767317, 742741, 742741, 349525, 349525),
longArrayOf(349525, 375733, 767317, 351157, 768853, 349525, 349525),
longArrayOf(374101, 768949, 374101, 374101, 351157, 349525, 349525),
longArrayOf(349525, 742837, 742837, 742837, 375733, 349525, 349525),
longArrayOf(5592405, 11883957, 11883957, 5987157, 5616981, 5592405, 5592405),
longArrayOf(366503875925L, 778827027893L, 778827027893L, 392374737749L, 368114513237L, 366503875925L, 366503875925L),
longArrayOf(349525, 742837, 375637, 742837, 742837, 349525, 349525),
longArrayOf(349525, 742837, 742837, 742837, 375733, 349621, 375637),
longArrayOf(349525, 768949, 351061, 374101, 768949, 349525, 349525),
longArrayOf(375637, 742837, 768949, 742837, 742837, 349525, 349525),
longArrayOf(768853, 742837, 768853, 742837, 768853, 349525, 349525),
longArrayOf(375733, 742741, 742741, 742741, 375733, 349525, 349525),
longArrayOf(192213, 185709, 185709, 185709, 192213, 87381, 87381),
longArrayOf(1817525, 1791317, 1817429, 1791317, 1817525, 1398101, 1398101),
longArrayOf(768949, 742741, 768853, 742741, 742741, 349525, 349525),
longArrayOf(375733, 742741, 744373, 742837, 375733, 349525, 349525),
longArrayOf(742837, 742837, 768949, 742837, 742837, 349525, 349525),
longArrayOf(48053, 23381, 23381, 23381, 48053, 21845, 21845),
longArrayOf(349621, 349621, 349621, 742837, 375637, 349525, 349525),
longArrayOf(742837, 744277, 767317, 744277, 742837, 349525, 349525),
longArrayOf(742741, 742741, 742741, 742741, 768949, 349525, 349525),
longArrayOf(11883957, 12278709, 11908533, 11883957, 11883957, 5592405, 5592405),
longArrayOf(11883957, 12277173, 11908533, 11885493, 11883957, 5592405, 5592405),
longArrayOf(375637, 742837, 742837, 742837, 375637, 349525, 349525),
longArrayOf(768853, 742837, 768853, 742741, 742741, 349525, 349525),
longArrayOf(6010197, 11885397, 11909973, 11885397, 6010293, 5592405, 5592405),
longArrayOf(768853, 742837, 768853, 742837, 742837, 349525, 349525),
longArrayOf(375733, 742741, 375637, 349621, 768853, 349525, 349525),
longArrayOf(12303285, 5616981, 5616981, 5616981, 5616981, 5592405, 5592405),
longArrayOf(742837, 742837, 742837, 742837, 375637, 349525, 349525),
longArrayOf(11883957, 11883957, 11883957, 5987157, 5616981, 5592405, 5592405),
longArrayOf(3042268597L, 3042268597L, 3042661813L, 1532713813, 1437971797, 1431655765, 1431655765),
longArrayOf(11883957, 5987157, 5616981, 5987157, 11883957, 5592405, 5592405),
longArrayOf(11883957, 5987157, 5616981, 5616981, 5616981, 5592405, 5592405),
longArrayOf(12303285, 5593941, 5616981, 5985621, 12303285, 5592405, 5592405)
)
init {
val o = Array(7) { StringBuilder() }
for (i in 0 until s.length) {
var c = s[i].toInt()
if (c in 65..90) {
c -= 39
} else if (c in 97..122) {
c -= 97
} else {
c = -1
}
val d = f[++c]
for (j in 0 until 7) {
val b = StringBuilder()
var v = d[j]
while (v > 0) {
b.append(z[(v and 3).toInt()])
v = v shr 2
}
o[j].append(b.reverse().toString())
}
}
for (i in 0 until 7) {
for (j in 0 until 7 - i) print(' ')
println(o[i])
}
}
}
fun main(args: Array<String>) {
Ascii3D("KOTLIN")
Ascii3D("with thanks")
Ascii3D("to the author")
Ascii3D("of the")
Ascii3D("Java entry")
}

View file

@ -0,0 +1,20 @@
local(lasso = "
---------------------------------------------------------------
| ,--, |
| ,---.'| ,----.. |
| | | : ,---, .--.--. .--.--. / / \\ |
| : : | ' .' \\ / / '. / / '. / . : |
| | ' : / ; '. | : /`. /| : /`. / . / ;. \\ |
| ; ; ' : : \\ ; | |--` ; | |--` . ; / ` ; |
| ' | |__ : | /\\ \\| : ;_ | : ;_ ; | ; \\ ; | |
| | | :.'|| : ' ;. :\\ \\ `. \\ \\ `. | : | ; | ' |
| ' : ;| | ;/ \\ \\`----. \\ `----. \\. | ' ' ' : |
| | | ./ ' : | \\ \\ ,'__ \\ \\ | __ \\ \\ |' ; \\; / | |
| ; : ; | | ' '--' / /`--' // /`--' / \\ \\ ', / |
| | ,/ | : : '--'. /'--'. / ; : / |
| '---' | | ,' `--'---' `--'---' \\ \\ .' |
| `--'' `---` |
----------------------------------------------------------------
")
stdoutnl(#lasso)

View file

@ -0,0 +1,18 @@
r=21:s=9:c=s
For i=1 To 11
Read d
If d <> 0 Then
For j=1 To 31
If (d And(2^(31-j)))>0 Then
Locate c+1,r:Print "___";
Locate c,r+1:Print "/_ /|";
Locate c,r+2:Print "[_]/";
End If
c=c+3
Next
Else
s=1:c=s
End If
r=r-2:s=s+2:c=s
Next
Data 479667712,311470336,485697536,311699712,476292608,0,1976518785,1160267905,1171157123,1160267909,1171223529

View file

@ -0,0 +1,25 @@
10 mode 2:defint a-z
20 locate 1,25
30 print "Basic";
40 ' add some kerning so the characters will fit in 80 columns:
50 off(2)=1:off(4)=-2:off(5)=-4
60 for c=0 to 4
70 for y=7 to 0 step -1
80 for x=0 to 7
90 v=test(x+8*c,2*y)
100 plot x+8*c,2*y,0
110 if v>0 then gosub 180
120 next x
130 next y
140 next c
150 call &bb06 ' wait for key press
160 end
170 ' print pixel
180 xp=16*c+2*x+1+y+off(c+1)
190 yp=8-y
200 if xp>77 then return
210 locate xp,yp
220 print "//\";
230 locate xp,yp+1
240 print "\\/";
250 return

View file

@ -0,0 +1,8 @@
io.write(" /$$\n")
io.write("| $$\n")
io.write("| $$ /$$ /$$ /$$$$$$\n")
io.write("| $$ | $$ | $$ |____ $$\n")
io.write("| $$ | $$ | $$ /$$$$$$$\n")
io.write("| $$ | $$ | $$ /$$__ $$\n")
io.write("| $$$$$$$$| $$$$$$/| $$$$$$$\n")
io.write("|________/ \______/ \_______/\n")

View file

@ -0,0 +1,8 @@
print[[
__
/\ \
\ \ \ __ __ ____
\ \ \ /\ \/\ \ / __ \
\ \ \___\ \ \_\ \/\ \_\ \_
\ \____\\ \____/\ \___/\_\
\/____/ \/___/ \/__/\/_/]]

View file

@ -0,0 +1,9 @@
locs = Position[
ImageData[Binarize[Rasterize["Mathematica", ImageSize -> 150]]], 0];
Print[StringRiffle[
StringJoin /@
ReplacePart[
ReplacePart[
ConstantArray[
" ", {Max[locs[[All, 1]]] + 1, Max[locs[[All, 2]]] + 1}],
locs -> "\\"], Map[# + 1 &, locs, {2}] -> "#"], "\n"]];

View file

@ -0,0 +1,13 @@
data = [
" ______ _____ _________",
"|\ \/ \ ___ ________ ___|\ _____\ ________ ________ ___ ________ _________ ",
"\ \ _ \ _ \|\ \|\ ___ \|\ \ \ \____||\ ____\|\ ____\|\ \|\ __ \|\___ ___\ ",
" \ \ \\\__\ \ \ \ \ \ \\ \ \ \ \ \_____ \ \ \___|\ \ \___|\ \ \ \ \|\ \|___ \ \_| ",
" \ \ \\|__| \ \ \ \ \ \\ \ \ \ \|____|\ \ \ \ \ \ \ \ \ \ \ ____\ \ \ \ ",
" \ \ \ \ \ \ \ \ \ \\ \ \ \ \____\_\ \ \ \____\ \ \ \ \ \ \ \___| \ \ \ ",
" \ \__\ \ \__\ \__\ \__\\ \__\ \__\_________\ \_______\ \__\ \ \__\ \__\ \ \__\",
" \|__| \|__|\|__|\|__| \|__|\|__||________|\|_______|\|__| \|__|\|__| \|__|"]
for line in data
print line
end for

View file

@ -0,0 +1,38 @@
MODULE Art;
FROM Terminal IMPORT WriteString,WriteLn,ReadChar;
BEGIN
(* 3D, but does not fit in the terminal window *)
(*
WriteString("_____ ______ ________ ________ ___ ___ ___ ________ _______");
WriteLn;
WriteString("|\ _ \ _ \|\ __ \|\ ___ \|\ \|\ \|\ \ |\ __ \ / ___ \");
WriteLn;
WriteString("\ \ \\\__\ \ \ \ \|\ \ \ \_|\ \ \ \\\ \ \ \ \ \ \|\ \ ____________ /__/|_/ /|");
WriteLn;
WriteString(" \ \ \\|__| \ \ \ \\\ \ \ \ \\ \ \ \\\ \ \ \ \ \ __ \|\____________\__|// / /");
WriteLn;
WriteString(" \ \ \ \ \ \ \ \\\ \ \ \_\\ \ \ \\\ \ \ \____\ \ \ \ \|____________| / /_/__");
WriteLn;
WriteString(" \ \__\ \ \__\ \_______\ \_______\ \_______\ \_______\ \__\ \__\ |\________\");
WriteLn;
WriteString(" \|__| \|__|\|_______|\|_______|\|_______|\|_______|\|__|\|__| \|_______|");
WriteLn;
*)
(* Not 3D, but fits in the terminal window *)
WriteString(" __ __ _ _ ___");
WriteLn;
WriteString(" | \/ | | | | | |__ \");
WriteLn;
WriteString(" | \ / | ___ __| |_ _| | __ _ ______ ) |");
WriteLn;
WriteString(" | |\/| |/ _ \ / _` | | | | |/ _` |______/ /");
WriteLn;
WriteString(" | | | | (_) | (_| | |_| | | (_| | / /_");
WriteLn;
WriteString(" |_| |_|\___/ \__,_|\__,_|_|\__,_| |____|");
WriteLn;
ReadChar
END Art.

View file

@ -0,0 +1,8 @@
println " ________ ________ ________ ________ ________ ___ ___ _______ ________ ___ ___ "
println "|\\ ___ \\|\\ __ \\|\\ ___ \\|\\ __ \\|\\ __ \\|\\ \\|\\ \\|\\ ___ \\ |\\ __ \\ |\\ \\ / /| "
println "\\ \\ \\\\ \\ \\ \\ \\|\\ \\ \\ \\\\ \\ \\ \\ \\|\\ \\ \\ \\|\\ \\ \\ \\\\\\ \\ \\ __/|\\ \\ \\|\\ \\ \\ \\ \\/ / / "
println " \\ \\ \\\\ \\ \\ \\ __ \\ \\ \\\\ \\ \\ \\ \\\\\\ \\ \\ \\\\\\ \\ \\ \\\\\\ \\ \\ \\_|/_\\ \\ _ _\\ \\ \\ / / "
println " \\ \\ \\\\ \\ \\ \\ \\ \\ \\ \\ \\\\ \\ \\ \\ \\\\\\ \\ \\ \\\\\\ \\ \\ \\\\\\ \\ \\ \\_|\\ \\ \\ \\\\ \\| \\/ / / "
println " \\ \\__\\\\ \\__\\ \\__\\ \\__\\ \\__\\\\ \\__\\ \\_______\\ \\_____ \\ \\_______\\ \\_______\\ \\__\\\\ _\\ __/ / / "
println " \\|__| \\|__|\\|__|\\|__|\\|__| \\|__|\\|_______|\\|___| \\__\\|_______|\\|_______|\\|__|\\|__|\\___/ / "
println " \\|__| \\|___|/ "

View file

@ -0,0 +1,65 @@
/* NetRexx */
options replace format comments java crossref symbols nobinary
txt = '';
x = 0
x = x + 1; txt[0] = x; txt[x] = ' * * *****'
x = x + 1; txt[0] = x; txt[x] = ' ** * * * *'
x = x + 1; txt[0] = x; txt[x] = ' * * * *** *** * * *** * * * *'
x = x + 1; txt[0] = x; txt[x] = ' * * * * * * ***** * * * * * *'
x = x + 1; txt[0] = x; txt[x] = ' * ** ***** * * * ***** * *'
x = x + 1; txt[0] = x; txt[x] = ' * * * * * * * * * * *'
x = x + 1; txt[0] = x; txt[x] = ' * * *** ** * * *** * * * *'
x = x + 1; txt[0] = x; txt[x] = ''
_top = '_TOP'
_bot = '_BOT'
txt = Banner3D(txt, isTrue())
loop ll = 1 to txt[0]
say txt[ll, _top]
say txt[ll, _bot]
end ll
return
method Banner3D(txt, slope = '') public static
select
when slope = isTrue() then nop
when slope = isFalse() then nop
otherwise do
if slope = '' then slope = isFalse()
else slope = isTrue()
end
end
_top = '_TOP'
_bot = '_BOT'
loop ll = 1 to txt[0]
txt[ll, _top] = txt[ll]
txt[ll, _bot] = txt[ll]
txt[ll, _top] = txt[ll, _top].changestr(' ', ' ')
txt[ll, _bot] = txt[ll, _bot].changestr(' ', ' ')
txt[ll, _top] = txt[ll, _top].changestr('*', '///')
txt[ll, _bot] = txt[ll, _bot].changestr('*', '\\\\\\')
txt[ll, _top] = txt[ll, _top] || ' '
txt[ll, _bot] = txt[ll, _bot] || ' '
txt[ll, _top] = txt[ll, _top].changestr('/ ', '/\\')
txt[ll, _bot] = txt[ll, _bot].changestr('\\ ', '\\/')
end ll
if slope then do
loop li = txt[0] to 1 by -1
ll = txt[0] - li + 1
txt[ll, _top] = txt[ll, _top].insert('', 1, li - 1, ' ')
txt[ll, _bot] = txt[ll, _bot].insert('', 1, li - 1, ' ')
end li
end
return txt
method isTrue public constant binary returns boolean
return 1 == 1
method isFalse public constant binary returns boolean
return \isTrue()

View file

@ -0,0 +1,13 @@
import strutils
const nim = """
# # ##### # #
## # # ## ##
# # # # # ## #
# # # # # #
# ## # # #
# # ##### # #
"""
let lines = nim.dedent.multiReplace(("#", "<<<"), (" ", " "), ("< ", "<>"), ("<\n", "<>\n")).splitLines
for i, line in lines:
echo spaces(lines.len - i), line

View file

@ -0,0 +1,7 @@
print_string "
_|_|_| _|_|_| _|_| _|_| _|_| _|
_| _| _| _| _| _| _| _| _| _|
_| _| _| _|_|_| _| _| _| _| _|
_| _| _| _| _| _| _| _|
_|_|_| _|_|_| _| _| _| _| _|_|_|_|_|
"

View file

@ -0,0 +1,25 @@
program WritePascal;
const
i64: int64 = 1055120232691680095; (* This defines "Pascal" *)
cc: array[-1..15] of string = (* Here are all string-constants *)
('_______v---',
'__', '\_', '___', '\__',
' ', ' ', ' ', ' ',
'/ ', ' ', '_/ ', '\/ ',
' _', '__', ' _', ' _');
var
x, y: integer;
begin
for y := 0 to 7 do
begin
Write(StringOfChar(cc[(not y and 1) shl 2][1], 23 - y and 6));
Write(cc[((i64 shr (y div 2)) and 1) shl 3 + (not y and 1) shl 2 + 2]);
for x := 0 to 15 do
Write(cc[((i64 shr ((x and 15) * 4 + y div 2)) and 1) +
((i64 shr (((x + 1) and 15) * 4 + y div 2)) and 1) shl 3 +
(x mod 3) and 2 + (not y and 1) shl 2]);
writeln(cc[1 + (not y and 1) shl 2] + cc[(not y and 1) shl 3 - 1]);
end;
end.

View file

@ -0,0 +1,11 @@
#!/usr/bin/perl
use strict;
use warnings;
for my $tuple ([" ", 2], ["_", 1], [" ", 1], ["\\", 1], [" ", 11], ["|", 1], ["\n", 1],
[" ", 1], ["|", 1], [" ", 3], ["|", 1], [" ", 1], ["_", 1], [" ", 1], ["\\", 1], [" ", 2], ["_", 2], ["|", 1], [" ", 1], ["|", 1], ["\n", 1],
[" ", 1], ["_", 3], ["/", 1], [" ", 2], ["_", 2], ["/", 1], [" ", 1], ["|", 1], [" ", 4], ["|", 1], ["\n", 1],
["_", 1], ["|", 1], [" ", 3], ["\\", 1], ["_", 3], ["|", 1], ["_", 1], ["|", 1], [" ", 3], ["_", 1], ["|", 1], ["\n", 1]
) {
print $tuple->[0] x $tuple->[1];
}

View file

@ -0,0 +1,12 @@
(phixonline)-->
<span style="color: #008080;">constant</span> <span style="color: #000000;">s</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"""
------*** *
-----* * *
----* * * *
---*** *
--* *** * * *
-* * * * *
* * * * * *
"""</span>
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">substitute_all</span><span style="color: #0000FF;">(</span><span style="color: #000000;">s</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"* "</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"_/"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">" "</span><span style="color: #0000FF;">}))</span>
<!--

View file

@ -0,0 +1,4 @@
(phixonline)-->
<span style="color: #008080;">constant</span> <span style="color: #000000;">q</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span><span style="color: #000000;">0(30)10C</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0(31)176</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0(32)2A4</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0(33)6N3</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0(34)7GP</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0(35)DWF</span><span style="color: #0000FF;">,</span><span style="color: #000000;">0(36)QC4</span><span style="color: #0000FF;">}</span>
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">substitute_all</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">join</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">repeat</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"%16b"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">7</span><span style="color: #0000FF;">),</span><span style="color: #008000;">"\n"</span><span style="color: #0000FF;">),</span><span style="color: #000000;">q</span><span style="color: #0000FF;">),</span><span style="color: #008000;">" 10"</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"-"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"_/"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">" "</span><span style="color: #0000FF;">})&</span><span style="color: #008000;">"\n"</span><span style="color: #0000FF;">)</span>
<!--

View file

@ -0,0 +1,21 @@
(phixonline)-->
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"""
__ ________
/_/\ / ______ \
\ \ \/ /\____/ /\ __
\ \ \/ / / / //_/\
\ \ \/___/ / / \_\/_ __
/\ \______/ / /_/\/ /\
/ /\ ____ \ \ \ \ \/ /
/ / /\ \ \ \ \ \ \_\ /
/ / / \ \ \ \ \ \ / / \
/_/ / \ \ \ \ \ \ /_/ /\ \
\_\/ \_\/ \_\/ \_\/\_\/
"""</span><span style="color: #0000FF;">)</span>
<span style="color: #000080;font-style:italic;">-- or if you prefer something a little more cryptic (same output):</span>
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">" __ ________\n /_/\\ / ______ \\\n \\ \\ \\/ /\\____/ /\\ __\n "</span><span style="color: #0000FF;">&</span>
<span style="color: #008000;">"\\ \\ \\/ / / / //_/\\\n \\ \\ \\/___/ / / \\_\\/_ __\n /\\ \\__"</span><span style="color: #0000FF;">&</span>
<span style="color: #008000;">"____/ / /_/\\/ /\\\n / /\\ ____ \\ \\ \\ \\ \\/ /\n / / /\\ \\ "</span><span style="color: #0000FF;">&</span>
<span style="color: #008000;">"\\ \\ \\ \\ \\_\\ /\n / / / \\ \\ \\ \\ \\ \\ / / \\\n/_/ / \\"</span><span style="color: #0000FF;">&</span>
<span style="color: #008000;">" \\ \\ \\ \\ \\ /_/ /\\ \\\n\\_\\/ \\_\\/ \\_\\/ \\_\\/\\_\\/\n"</span><span style="color: #0000FF;">)</span>
<!--

View file

@ -0,0 +1,35 @@
(de Lst
"***** * "
"* * * * * "
"* * **** **** * **** ****"
"***** * * * * * * * * * *"
"* * * * * * * * ****"
"* * * * * * * * * "
"* * * * * * * * * * "
"* * **** **** **** * **** * " )
(de transform (Lst A B)
(make
(chain (need (length Lst) " "))
(for (L (chop (car Lst)) L)
(ifn (= "*" (pop 'L))
(link " " " " " ")
(chain (need 3 A))
(when (sp? (car L))
(link B " " " ")
(pop 'L) ) ) ) ) )
(prinl (transform Lst "/" "\\"))
(mapc
'((X Y)
(mapc
'((A B)
(prin (if (sp? B) A B)) )
X
Y )
(prinl) )
(maplist '((X) (transform X "\\" "/")) Lst)
(maplist '((X) (transform X "/" "\\")) (cdr Lst)) )
(bye)

View file

@ -0,0 +1,30 @@
To run:
Start up.
Print the language name in 3D ASCII.
Wait for the escape key.
Shut down.
To print the language name in 3D ASCII:
Write "Osmosian Order of" to the console.
Write " ____ _ _" to the console.
Write "/___ \ /_/| /_/|" to the console.
Write "| \ \| || ____ |_|/ _____" to the console.
Write "| |\ \|| || /___/| _ /____/\" to the console.
Write "| | | || || / ||/_/|| \ \" to the console.
Write "| |/ / | ||/ /| ||| ||| |\ \/" to the console.
Write "| __/ | ||| | | ||| ||| | | ||" to the console.
Write "| || | ||\ \| ||| ||| | | ||" to the console.
Write "|_|/ |_|/ \____|/|_|/|_| |_|/" to the console.
Write " ______ _ _ _" to the console.
Write "/_____/| /_/|/_/| /_/|" to the console.
Write "| ___|/ _____ ____ | |||_|/ _______| ||__" to the console.
Write "| ||___ /____/\ /___/|| || _ /______/| /__/\" to the console.
Write "| |/__/|| \ \ / ||| ||/_/|/ ___|/| \ \" to the console.
Write "| ___|/| |\ \// /| ||| ||| ||| |___/\| |\ \/" to the console.
Write "| ||___ | | | ||| | | ||| ||| ||\____ \|| | | ||" to the console.
Write "| |/__/|| | | ||\ \| ||| ||| ||____| || | | ||" to the console.
Write "|_____|/|_| |_|/ \__ |||_|/|_|/|_____/ |_| |_|/" to the console.
Write " ___| ||" to the console.
Write " /___/ //" to the console.
Write " |____//" to the console.
Write "Programmers" to the console.

View file

@ -0,0 +1,18 @@
If OpenConsole()
PrintN(" ////\ ////\ ////| ")
PrintN(" //// \ __ //// \ __ |XX|_/ ")
PrintN(" //// /| | ////\ ////\//// |//// /| | //// | ////\ ////\ ")
PrintN("|XX| |X| ////\X| ////\// //// /||XX| |X| |//// /|| //// _| ////\ //// \ ")
PrintN("|XX| |X||XX| |X||XX| |/ |XX| |X||XX| |/ /|XX| |X||//// / |XX| | //// /\ |")
PrintN("|XX| |/ |XX| |X||XX| /|XX| |//|XX| \|XX|/// |XX| |/\ |XX| ||XX| |XX\|")
PrintN("|XX| /|XX| |X||XX| / |XX| //|XX| /| |//// |XX| ||XX| ||XX| | ")
PrintN("|$$| / |$$| |&||$$| | |$$| |&||$$| |&| |$$| /||\\\\/| ||$$| ||$$| |///|")
PrintN("|%%| | |%%| |i||%%| | |%%| |/ |%%| |i| |%%| |i|| |%%| ||%%| ||%%| |// |")
PrintN("|ii| | |ii| |/ |ii| | |ii| /|ii| |/ /|ii| \/|/ |ii| /|ii| ||ii| |/ / ")
PrintN("|::| | \\\\ /|::| | |::| / |::| / |::| / //// / |::| | \\\\ / ")
PrintN("|..| | \\\\/ |..|/ \\\\/ |..| / \\\\/ \\\\ / |..|/ \\\\/ ")
PrintN(" \\\\| \\\\/ ")
Print(#CRLF$ + #CRLF$ + "Press ENTER to exit"): Input()
CloseConsole()
EndIf

View file

@ -0,0 +1,13 @@
py = '''\
#### # # ##### # # ### # #
# # # # # # # # # ## #
#### # # ##### # # # # #
# # # # # # # # ##
# # # # # ### # #'''
lines = py.replace('#', '<<<').replace(' ','X') \
.replace('X', ' ').replace('\n', ' Y') \
.replace('< ', '<>').split('Y')
for i, l in enumerate(lines):
print(' ' * (len(lines) - i) + l)

View file

@ -0,0 +1,73 @@
charWidth = 10
charHeight = 8
# char table is split into sets to prevent very long lines...
charSet1 = [
" ###### /####### ###### /###### /######## /######## ###### /## /##",
" /##__ ##| ##__ ## /##__ ##| ##__ ## | ##_____/| ##_____/ /##__ ##| ## | ##",
"| ## | ##| ## | ##| ## \__/| ## \ ##| ## | ## | ## \__/| ## | ##",
"| ########| ####### | ## | ## | ##| ########| ########| ## #####| ########",
"| ##__ ##| ##__ ##| ## | ## | ##| ##_____/| ##_____/| ##|_ ##| ##__ ##",
"| ## | ##| ## | ##| ## /##| ## /##/| ## | ## | ## | ##| ## | ##",
"| ## | ##| #######/| ######/| ######/ | ########| ## | ######/| ## | ##",
"|__/ |__/|_______/ \______/ |______/ |________/|__/ \______/ |__/ |__/",
]
charSet2 = [
" /######## /## /## /## /## /### ### /## /## ###### /####### ",
"|__ ##__/ | ##| ## /##/| ## | ########| ### | ## /##__ ##| ##__ ##",
" | ## | ##| ## /##/ | ## | ## ## ##| ####| ##| ## | ##| ## | ##",
" | ## | ##| #####/ | ## | ## ## ##| ## ## ##| ## | ##| #######/",
" | ## | ##| ## ## | ## | ## ## ##| ## ####| ## | ##| ##____/ ",
" | ## /## | ##| ##\ ## | ## | ##__/ ##| ##\ ###| ## | ##| ## ",
" /########\ ######/| ## \ ##| ########| ## | ##| ## \ ##| ######/| ## ",
"|________/ \______/ |__/ \__/|________/|__/ |__/|__/ \__/ \______/ |__/ ",
]
charSet3 = [
" ###### /####### ###### /######## /## /## /## /## /## /## /## /##",
" /##__ ##| ##__ ## /##__ ##|__ ##__/| ## | ##| ## | ##| ## | ##\ ## /##/",
"| ## | ##| ## | ##| ## \__/ | ## | ## | ##| ## | ##| ## ## ## \ ####/ ",
"| ## | ##| #######/ \ ###### | ## | ## | ##| ## | ##| ## ## ## \ ##/ ",
"| ## ## ##| ## ## \___ ## | ## | ## | ##| ## ##/| ## ## ## / #### ",
"| ##\ ###/| ##\ ## /## \ ## | ## | ## | ## \ ####/ | ######## / ## ## ",
"| #### ##| ## \ ##\ ######/ | ## | ######/ \ ##/ | ###| ###/ ## \ ##",
" \____\__/|__/ \__/ \______/ |__/ \______/ \__/ |___/|___/\__/ \__/",
]
charSet4 = [
" /## /## /######## ###### ",
"\ ## /##/|____ ##/ /##__ ## ",
" \ ####/ / ##/ | ## | ## ",
" \ ##/ / ##/ |__//####/ ",
" | ## / ##/ | ##_/ ",
" | ## / ##/ |__/ ",
" | ## / ######## /## ",
" |__/ \________/ |__/ ",
]
# ...then the sets are combined back by barbequing them together!
charTable = [(charSet1[i] +
charSet2[i] +
charSet3[i] +
charSet4[i]) for i in range(charHeight)]
if __name__ == '__main__':
text = input("Enter the text to convert:\n")
if not text:
text = "PYTHON"
for i in range(charHeight):
lineOut = ""
for chr in text:
# get value of character 'chr' in alphabet
if chr.isalpha():
val = ord(chr.upper()) - 65
elif chr == " ":
val= 27
else:
val = 26
beginStr = val * charWidth # begin string position of 3D letter
endStr = (val + 1) * charWidth # end string position of 3D letter
lineOut += charTable[i][beginStr:endStr]
print(lineOut)

View file

@ -0,0 +1,17 @@
import requests
import html
text = "Python"
font = "larry3d"
url = f"http://www.network-science.de/ascii/ascii.php?TEXT={text}&FONT={font}&RICH=no&FORM=left&WIDT=1000"
r = requests.get(url)
r.raise_for_status()
ascii_text = html.unescape(r.text)
pre_ascii = "<TD><PRE>"
post_ascii = "\n</PRE>"
ascii_text = ascii_text[ascii_text.index(pre_ascii) + len(pre_ascii):]
ascii_text = ascii_text[:ascii_text.index(post_ascii)]
print(ascii_text)

View file

@ -0,0 +1,10 @@
say " ________ ___ ___ ________ ________ ___ __ _______ ________ ___ ___" cr
say "|\ __ \|\ \|\ \|\ __ \|\ ____\|\ \|\ \ |\ ___ \ |\ __ \|\ \ / /|" cr
say "\ \ \|\ \ \ \ \ \ \ \|\ \ \ \___|\ \ \/ /|\ \ __/|\ \ \|\ \ \ \/ / /" cr
say " \ \ \ \ \ \ \ \ \ \ __ \ \ \ \ \ ___ \ \ \_|/ \ \ _ _\ \ / /" cr
say " \ \ \_\ \ \ \_\ \ \ \ \ \ \ \____\ \ \\ \ \ \ \__\_\ \ \\ \ / / /" cr
say " \ \_____ \ \_______\ \__\ \__\ \_______\ \__\\ \__\ \_______\ \__\\ _\ / /" cr
say " \|___| \ \|_______|\|__|\|__|\|_______|\|__| \|__|\|_______|\|__|\|__| / /" cr
say " \ \ \_______________________________________________________/ / /" cr
say " \ \____________________________________________________________/ /" cr
say " \|____________________________________________________________|/" cr

View file

@ -0,0 +1,27 @@
/*REXX program that displays a "REXX" 3D "ASCII art" as a logo. */
signal . /* Uses left-hand shadows, slightly raised view.
0=5~2?A?2?A?
@)E)3@)B)1)2)8()2)1)2)8()2)
@]~")2@]0`)0@)%)6{)%)0@)%)6{)%)
#E)1#A@0}2)4;2(1}2)4;2(
#3??3@0#2??@1}2)2;2(3}2)2;2(
#2@5@)@2@0#2@A}2)0;2(5}2)0;2(
#2@?"@)@2@0#2@?7}2){2(7}2){2(
#2@6)@2@0#2@3)7}2)(2(9}2)(2(
#2@??@2@0#2@?_)7}5(B}5(
#F@0#8@8}3(D}3(
#3%3?(1#3?_@7;3)C;3)
#2@0}2)5#2@C;5)A;5)
#2@1}2)4#2@B;2()2)8;2()2)
#2@2}2)3#2@?"4;2(}2)6;2(}2)
#2@3}2)2#2@5)2;2(1}2)4;2(1}2)
#2@4}2)1#2@?%)0;2(3}2)2;2(3}2)
0]@2@5}2)1]@A@0)[2(5}2)1)[2(5}2)
1)@%@6}%)1)@`@1V%(7}%)1V%(7}%)
*/;.:a=sigL+1;signal ..;..:u='_';do j=a to sigl-1
_=sourceline(j);_=_('(',"/");_=_('[',"//");_=_('{',"///")
_=_(';',"////");_=_(')',"\");_=_(']',"\\");_=_('}',"\\\");_=_('"',"__")
_=_('%',"___");_=_('?',left('',4,u));_=_('`',left('',11,u));_=_('~',left('',
,13,u));_=_('=',left('',16,u));_=_('#','|\\|');_=translate(_,"|"u,'@"')
do k=0 for 16;x=d2x(k,1);_=_(x,left('',k+1));end;say ' '_;end;exit;_:return,
changestr(arg(1),_,arg(2))

View file

@ -0,0 +1,67 @@
/* Rexx */
drop !top !bot
x = 0
x = x + 1; txt.0 = x; txt.x = ' *****'
x = x + 1; txt.0 = x; txt.x = ' * *'
x = x + 1; txt.0 = x; txt.x = ' * * ***** * * * *'
x = x + 1; txt.0 = x; txt.x = ' ***** * * * * *'
x = x + 1; txt.0 = x; txt.x = ' * * *** * *'
x = x + 1; txt.0 = x; txt.x = ' * * * * * * *'
x = x + 1; txt.0 = x; txt.x = ' * * ***** * * * *'
x = x + 1; txt.0 = x; txt.x = ''
call Banner3D isTrue()
do ll = 1 to txt.0
say txt.ll.!top
say txt.ll.!bot
end ll
return
exit
Banner3D:
procedure expose txt.
drop !top !bot
parse arg slope .
select
when slope = isTrue() then nop
when slope = isFalse() then nop
otherwise do
if slope = '' then slope = isFalse()
else slope = isTrue()
end
end
do ll = 1 to txt.0
txt.ll.!top = txt.ll
txt.ll.!bot = txt.ll
txt.ll.!top = changestr(' ', txt.ll.!top, ' ')
txt.ll.!bot = changestr(' ', txt.ll.!bot, ' ')
txt.ll.!top = changestr('*', txt.ll.!top, '///')
txt.ll.!bot = changestr('*', txt.ll.!bot, '\\\')
txt.ll.!top = txt.ll.!top || ' '
txt.ll.!bot = txt.ll.!bot || ' '
txt.ll.!top = changestr('/ ', txt.ll.!top, '/\')
txt.ll.!bot = changestr('\ ', txt.ll.!bot, '\/')
end ll
if slope then do
do li = txt.0 to 1 by -1
ll = txt.0 - li + 1
txt.ll.!top = insert('', txt.ll.!top, 1, li - 1, ' ')
txt.ll.!bot = insert('', txt.ll.!bot, 1, li - 1, ' ')
end li
end
return
exit
isTrue:
procedure
return 1 == 1
isFalse:
procedure
return \isTrue()

View file

@ -0,0 +1,17 @@
/*REXX pgm draws a "3D" image of text representation; any character except / and \ */
#=7; @.1 = '@@@@ '
@.2 = '@ @ '
@.3 = '@ @ @@@@ @ @ @ @ '
@.4 = '@@@@ @ @ @ @ @ '
@.5 = '@ @ @@@ @ @ '
@.6 = '@ @ @ @ @ @ @ '
@.7 = '@ @ @@@@ @ @ @ @ '
do j=1 for #; x=left(strip(@.j),1) /* [↓] display the (above) text lines.*/
$.1 = changestr( " " , @.j, ' ' ) ; $.2 = $.1
$.1 = changestr( x , $.1, '///' )" "
$.2 = changestr( x , $.2, '\\\' )" "
$.1 = changestr( "/ ", $.1, '/\' )
$.2 = changestr( "\ ", $.2, '\/' )
do k=1 for 2; say strip(left('',#-j)$.k,"T") /*the LEFT BIF does indentation.*/
end /*k*/ /* [↑] display a line and its shadow.*/
end /*j*/ /*stick a fork in it, we're all done. */

View file

@ -0,0 +1,42 @@
#lang racket/gui
;; Get the language name
(define str (cadr (regexp-match #rx"Welcome to (.*?) *v[0-9.]+\n*$" (banner))))
;; Font to use
(define font (make-object font% 12 "MiscFixed" 'decorative 'normal 'bold))
;; (get-face-list) -> get a list of faces to try in the above
;; Calculate the needed size (leave space for a drop-down shadow)
(define-values [W H]
(let ([bdc (make-object bitmap-dc% (make-object bitmap% 1 1 #t))])
(call-with-values
(λ() (send* bdc (set-font font) (get-text-extent str font)))
(λ(w h _1 _2) (values (+ 2 (inexact->exact (round w)))
(+ 2 (inexact->exact (round h))))))))
;; Draw the text
(define bmp (make-bitmap W H #t))
(define dc (send bmp make-dc))
(send* dc (set-font font) (draw-text str 2 0))
;; Grab the pixels as a string, 3d-ed with "/"s
(define scr
(let* ([size (* W H 4)] [buf (make-bytes size)])
(send bmp get-argb-pixels 0 0 W H buf)
(define scr (make-string (* (add1 W) (add1 H)) #\space))
(for ([i (in-range 0 size 4)] [j (* W H)]
#:unless (zero? (bytes-ref buf i)))
(string-set! scr j #\@)
(for ([k (list j (+ j W -1))] [c "/."] #:when #t
[k (list (- k 1) (+ k W) (+ k W -1))]
#:when (and (< -1 k (string-length scr))
(member (string-ref scr k) '(#\space #\.))))
(string-set! scr k c)))
scr))
;; Show it, dropping empty lines
(let ([lines (for/list ([y H]) (substring scr (* y W) (* (add1 y) W)))])
(define (empty? l) (not (regexp-match #rx"[^ ]" l)))
(for ([line (dropf-right (dropf lines empty?) empty?)])
(displayln (string-trim line #:left? #f))))

View file

@ -0,0 +1,23 @@
# must be evenly padded with white-space$
my $text = q:to/END/;
@@@@@ @@
@ @ @ @@@
@ @ @ @@
@ @ @@@ @ @@ @ @@
@@@@@ @ @ @@ @ @ @@@@@
@ @@@@@ @ @ @@ @@
@ @ @ @ @@ @@
@ @@@ @ @@ @@@@
END
say '' for ^5;
for $text.lines -> $_ is copy {
my @chars = |-+ ., ;: '".comb.pick(*) xx *;
s:g [' '] = @chars.shift;
print " $_ ";
s:g [('@'+)(.)] = @chars.shift ~ $0;
.say;
}
say '' for ^5;

View file

@ -0,0 +1,17 @@
[
" ##### #### # # #### # #"
" # # # # # # # ## #"
" # # # # # # ### # # #"
" ##### ###### # # ### # # #"
" # # # # # # # # ##"
" # # # # # #### # #"
] as $str
"/" as $r1
">" as $r2
#$str each "%s\n" print
$str each as $line
$line r/#/@@@/g r/ /X/g r/X/ /g r/@ /@!/g r/@$/@!/g as $l1
$l1 "@" split $r1 join "!" split $r2 join print "\n" print

View file

@ -0,0 +1,65 @@
text = <<EOS
#### #
# # #
# # #
#### # # ### # #
# # # # # # # #
# # # # # # #
# # ### ### #
#
#
EOS
def banner3D_1(text, shift=-1)
txt = text.each_line.map{|line| line.gsub('#','__/').gsub(' ',' ')}
offset = Array.new(txt.size){|i| " " * shift.abs * i}
offset.reverse! if shift < 0
puts offset.zip(txt).map(&:join)
end
banner3D_1(text)
puts
# Other display:
def banner3D_2(text, shift=-2)
txt = text.each_line.map{|line| line.chomp + ' '}
offset = txt.each_index.map{|i| " " * shift.abs * i}
offset.reverse! if shift < 0
txt.each_with_index do |line,i|
line2 = offset[i] + line.gsub(' ',' ').gsub('#','///').gsub('/ ','/\\')
puts line2, line2.tr('/\\\\','\\\\/')
end
end
banner3D_2(text)
puts
# Another display:
def banner3D_3(text)
txt = text.each_line.map(&:rstrip)
offset = [*0...txt.size].reverse
area = Hash.new(' ')
box = [%w(/ / / \\), %w(\\ \\ \\ /)]
txt.each_with_index do |line,i|
line.each_char.with_index do |c,j|
next if c==' '
x = offset[i] + 2*j
box[0].each_with_index{|c,k| area[[x+k,i ]] = c}
box[1].each_with_index{|c,k| area[[x+k,i+1]] = c}
end
end
(xmin, xmax), (ymin, ymax) = area.keys.transpose.map(&:minmax)
puts (ymin..ymax).map{|y| (xmin..xmax).map{|x| area[[x,y]]}.join}
end
banner3D_3 <<EOS
#### #
# # #
# # #
# # #
#### # # #### # #
# # # # # # # #
# # # # # # # #
# # # # # # #
# # ### #### #
#
#
EOS

View file

@ -0,0 +1,5 @@
enc = "9 8u18 2u1\n8 1s 6u1 b16 1s sb\n6 2 s1b4u1s sb13 3 s1\n5 3 s3 3s 11 3 s1\n4 2 s1us3u1su2s 2u4 2u3 2 s1us3u4 2u6 2u1\n4 1s 6u1sbubs2 s1b 2 s1b2 1s 6u1 b2 1susb3 2 s1b\n2 2 s1b2 3u1bs2 8 s1b4u1s s4b 3 s1\n 3 s3b 2 9 s3 3s 3 b2s 1s\n 3s 3 b1 2 s2us4 s1us2u2us1 s3 3 b1s s\nsu2s 2 4 b6u2s 1s7u1sbubs6 1bub2 1s\nbubs6 1bubs2 1b5u1bs b7u1bs8 3 s1\n42 2u2s 1s\n41 1s3u1s s\n41 1b3u1bs\n"
def decode(str)
str.split(/(\d+)(\D+)/).each_slice(3).map{|_,n,s| s * n.to_i}.join.tr('sub','/_\\')
end
puts decode(enc)

View file

@ -0,0 +1,38 @@
pub fn char_from_id(id: u8) -> char {
[' ', '#', '/', '_', 'L', '|', '\n'][id as usize]
}
const ID_BITS: u8 = 3;
pub fn decode(code: &[u8]) -> String {
let mut ret = String::new();
let mut carry = 0;
let mut carry_bits = 0;
for &b in code {
let mut bit_pos = ID_BITS - carry_bits;
let mut cur = b >> bit_pos;
let mask = (1 << bit_pos) - 1;
let id = carry | (b & mask) << carry_bits;
ret.push(char_from_id(id));
while bit_pos + ID_BITS < 8 {
ret.push(char_from_id(cur & ((1 << ID_BITS) - 1)));
cur >>= ID_BITS;
bit_pos += ID_BITS;
}
carry = cur;
carry_bits = 8 - bit_pos;
}
ret
}
fn main() {
let code = [
72, 146, 36, 0, 0, 0, 0, 0, 0, 0, 128, 196, 74, 182, 41, 1, 0, 0, 0, 0, 0, 0, 160, 196, 77, 0,
52, 1, 18, 0, 9, 144, 36, 9, 146, 36, 113, 147, 36, 9, 160, 4, 80, 130, 100, 155, 160, 41, 145,
155, 108, 74, 128, 38, 64, 19, 41, 73, 2, 160, 137, 155, 0, 84, 130, 38, 64, 19, 112, 155, 18,
160, 137, 155, 0, 160, 18, 42, 73, 18, 36, 73, 2, 128, 74, 76, 1, 0, 40, 128, 219, 38, 104, 219,
4, 0, 160, 0
];
println!("{}", decode(&code));
}

View file

@ -0,0 +1,7 @@
select ' SSS\ ' as s, ' QQQ\ ' as q, 'L\ ' as l from dual
union all select 'S \|', 'Q Q\ ', 'L | ' from dual
union all select '\SSS ', 'Q Q |', 'L | ' from dual
union all select ' \ S\', 'Q Q Q |', 'L | ' from dual
union all select ' SSS |', '\QQQ\\|', 'LLLL\' from dual
union all select ' \__\/', ' \_Q_/ ', '\___\' from dual
union all select ' ', ' \\ ', ' ' from dual;

View file

@ -0,0 +1,62 @@
def ASCII3D = {
val name = """
*
** ** * * *
* * * * * * *
* * * * * * *
* * *** * ***
* * * * * * *
* * * * * * *
** ** * * *** * *
*
*
"""
// Create Array
def getMaxSize(s: String): (Int, Int) = {
var width = 0
var height = 0
val nameArray = s.split("\n")
height = nameArray.size
nameArray foreach { i => width = (i.size max width) }
(width, height)
}
val size = getMaxSize(name)
var arr = Array.fill(size._2 + 1, (size._1 * 3) + (size._2 + 1))(' ')
//
// Map astrisk to 3D cube
//
val cubeTop = """///\""" //"
val cubeBottom = """\\\/""" //"
val nameArray = name.split("\n")
for (j <- (0 until nameArray.size)) {
for (i <- (0 until nameArray(j).size)) {
if (nameArray(j)(i) == '*') {
val indent = nameArray.size - j
arr(j) = arr(j) patch ((i * 3 + indent), cubeTop, cubeTop.size)
arr(j + 1) = arr(j + 1) patch ((i * 3 + indent), cubeBottom, cubeBottom.size)
}
}
}
//
// Map Array to String
//
var name3D = ""
for (j <- (0 until arr.size)) {
for (i <- (0 until arr(j).size)) { name3D += arr(j)(i) }
name3D += "\n"
}
name3D
}
println(ASCII3D)

View file

@ -0,0 +1,41 @@
import scala.collection.mutable.ArraySeq
object Ascii3D extends App {
def ASCII3D = {
val picture = """ *
** ** * * *
* * * * * * *
* * * * * * *
* * *** * ***
* * * * * * *
* * * * * * *
** ** * * *** * *
*
*""".split("\n")
var arr = {
val (x, y) = // Get maximal format and create a 2-D array with it.
(picture.foldLeft(0)((i, s) => i max s.length), picture.size)
ArraySeq.fill(y + 1, (x * 3) + (y + 1))(' ')
}
//
// Map asterisks to 3D cube
//
val (cubeTop, cubeBottom) = ("""///\""", """\\\/""") // "
for {
y <- 0 until picture.size
x <- 0 until picture(y).size
if picture(y)(x) == '*'
indent = picture.size - y
} {
arr(y) = arr(y) patch ((x * 3 + indent), cubeTop, cubeTop.size)
arr(y + 1) = arr(y + 1) patch ((x * 3 + indent), cubeBottom, cubeBottom.size)
}
// Transform array to String
arr.map(_.mkString).mkString("\n")
}
println(ASCII3D)
}

View file

@ -0,0 +1,42 @@
$include "seed7_05.s7i";
const array string: name is [] (
" *** * ***** ",
"* * * ",
"* *** *** **** * ",
"* * * * * * * * ",
" *** * * * * * * * ",
" * ***** ***** * * * ",
" * * * * * * ",
" * * * * * * ",
" *** *** *** **** * ");
const proc: main is func
local
var integer: index is 0;
var string: help is "";
var string: line is "";
var string: previousLine is "";
var integer: pos is 0;
begin
for index range 1 to length(name) do
help := replace(name[index], " ", " ");
line := "" lpad length(name) - index <&
replace(replace(help, "*", "///"), "/ ", "/\\");
if previousLine = "" then
writeln(line);
else
for pos range 1 to length(line) do
if line[pos] <> ' ' then
write(line[pos]);
else
write(previousLine[pos]);
end if;
end for;
writeln;
end if;
previousLine := "" lpad length(name) - index <&
replace(replace(help, "*", "\\\\\\"), "\\ ", "\\/");
end for;
writeln(previousLine);
end func;

View file

@ -0,0 +1,21 @@
var text = <<'EOT';
***
* * * **
* * *
* * * *** **
*** * **** * * *
* * * * ***** *
* * * * * *
* * * * * *
*** * **** *** *
EOT
func banner3D(text, shift=-1) {
var txt = text.lines.map{|line| line.gsub('*','__/').gsub(' ',' ')};
var offset = txt.len.of {|i| " " * (shift.abs * i)};
shift < 0 && offset.reverse!;
(offset »+« txt).join("\n");
};
say banner3D(text);

View file

@ -0,0 +1,7 @@
Disp “ .....+ .....+
Disp “ +o+ooo +o+ooo
Disp “ .o .o
Disp “ .o ...+.+
Disp “ +o +ooooo
Disp “
Disp “ BASIC

View file

@ -0,0 +1,36 @@
package require Tcl 8.5
proc mergeLine {upper lower} {
foreach u [split $upper ""] l [split $lower ""] {
lappend result [expr {$l in {" " ""} ? $u : $l}]
}
return [join $result ""]
}
proc printLines lines {
set n [llength $lines]
foreach line $lines {
set indent [string repeat " " $n]
lappend upper $indent[string map {"/ " "/\\"} [
string map {" " " " "*" "///"} "$line "]]
lappend lower $indent[string map {"\\ " "\\/"} [
string map {" " " " "*" "\\\\\\"} "$line "]]
incr n -1
}
# Now do some line merging to strengthen the visual effect
set p [string repeat " " [string length [lindex $upper 0]]]
foreach u $upper l $lower {
puts [mergeLine $p $u]
set p $l
}
puts $p
}
set lines {
{***** *}
{ * *}
{ * *** *}
{ * * *}
{ * * *}
{ * *** *}
}
printLines $lines

View file

@ -0,0 +1,63 @@
#!/usr/bin/env bash
mapfile -t name <<EOF
Aimhacks
EOF
main() {
banner3d_1 "${name[@]}"
echo
banner3d_2 "${name[@]}"
echo
banner3d_3 "${name[@]}"
}
space() {
local -i n i
(( n=$1 )) || n=1
if (( n < 1 )); then n=1; fi
for ((i=0; i<n; ++i)); do
printf ' '
done
printf '\n'
}
banner3d_1() {
local txt i
mapfile -t txt < <(printf '%s\n' "$@" | sed -e 's,#,__/,g' -e 's/ / /g')
for i in "${!txt[@]}"; do
printf '%s%s\n' "$(space $(( ${#txt[@]} - i )))" "${txt[i]}"
done
}
banner3d_2() {
local txt i line line2
mapfile -t txt < <(printf '%s \n' "$@")
for i in "${!txt[@]}"; do
line=${txt[i]}
line2=$(printf '%s%s' "$(space $(( 2 * (${#txt[@]} - i) )))" "$(sed -e 's, , ,g' -e 's,#,///,g' -e 's,/ ,/\\,g' <<<"$line")")
printf '%s\n%s\n' "$line2" "$(tr '/\\' '\\/' <<<"$line2")"
done
}
banner3d_3() {
# hard-coded fancy one
cat <<'EOF'
______________ ___________ ___________ ____ ____␣
/ /\ / |\ /| \ |\ \ |\ \
/_____________/ /| /___________|| ||___________\| \___\ | \___\␣
| \ / |/ \ / | | | | | |
| ________ | | ________ | | _________| | | | | |
| | |___| | | | |____| | | |_______ | | |____| | |
| | / | | /| | / | | | | \ | | | \ | |
| |/_____| |/ | |/_____| | | |________\| | |______\| |
| / /| | | \ | |
| ______ \ / | _______ | \_________ | | ________ |
| | |___| | | | | | | _________/| | | | | | |
| | / | | | | | | | | || | | | | | |
| |/_____| | /| | | | | |_________|/ | | | \ | |
| |/ | | | | | | | | | \| |
|_____________/ |___|/ |___| |_____________/ \|___| |___|
EOF
}
main "$@"

View file

@ -0,0 +1,17 @@
Module Module1
Sub Main()
Console.WriteLine(" ___ ___ ___ ________ ___ ___ ________ ___ ________ ________ ________ ___ ________ ________ _______ _________
|\ \ / /|\ \|\ ____\|\ \|\ \|\ __ \|\ \ |\ __ \|\ __ \|\ ____\|\ \|\ ____\ |\ ___ \|\ ___ \|\___ ___\
\ \ \ / / | \ \ \ \___|\ \ \\\ \ \ \|\ \ \ \ \ \ \|\ /\ \ \|\ \ \ \___|\ \ \ \ \___| \ \ \\ \ \ \ __/\|___ \ \_|
\ \ \/ / / \ \ \ \_____ \ \ \\\ \ \ __ \ \ \ \ \ __ \ \ __ \ \_____ \ \ \ \ \ \ \ \\ \ \ \ \_|/__ \ \ \
\ \ / / \ \ \|____|\ \ \ \\\ \ \ \ \ \ \ \____ \ \ \|\ \ \ \ \ \|____|\ \ \ \ \ \____ __\ \ \\ \ \ \ \_|\ \ \ \ \
\ \__/ / \ \__\____\_\ \ \_______\ \__\ \__\ \_______\ \ \_______\ \__\ \__\____\_\ \ \__\ \_______\ |\__\ \__\\ \__\ \_______\ \ \__\
\|__|/ \|__|\_________\|_______|\|__|\|__|\|_______| \|_______|\|__|\|__|\_________\|__|\|_______| \|__|\|__| \|__|\|_______| \|__|
\|_________| \|_________|
")
End Sub
End Module

View file

@ -0,0 +1,51 @@
var w = """
____ ____ ____
|\ \ |\ \ |\ \
| \ \ | \ \ | \ \
\ \ \\ / \\ / /|
\ \ \V \V / |
\ \ /\ / /
\ \____/ \____/ /
\ | | /| | /
\|____|/ |____|/
""".split("\n")
var r = """
_______ ____
|\__ \ / \
|| |\ \/ ___\
\|_| \ /|__|
\ \ //
\ \ \
\ \____\
\ | |
\|____|
""".split("\n")
var e = """
___________
/ _____ \
/ /_____\ \
|\ _____/|
| \ /|____|/
\ \ \/_______/\
\ \_____________/|
\ | | |
\|____________|/
""".split("\n")
var n = """
_____ _______
|\__ \/ \
|| |\ __ \
\|_| \ /| \ \
\ \ \/\ \ \
\ \ \ \ \ \
\ \___\ \ \___\
\ | | \| |
\|___| |___|
""".split("\n")
for (i in 0..8) {
System.print("%(w[i]) %(r[i]) %(e[i]) %(n[i])")
}

View file

@ -0,0 +1,27 @@
include c:\cxpl\codes;
proc DrawBlock(X, Y);
int X, Y;
[Cursor(X+1, Y); Text(0, "///\");
Cursor(X, Y+1); Text(0,"/// \");
Cursor(X, Y+2); Text(0,"\\\ /");
Cursor(X+1, Y+3); Text(0, "\\\/");
];
int Data, D, X, Y;
[ChOut(0, $C); \form feed, clears screen
Data:= [%1000100011110000100000001110,
%1000100010001000100000010001,
%0101000010001000100000010011,
%0010000011110000100000010101,
%0101000010000000100000011001,
%1000100010000000100000010001,
%1000100010000000111110001110];
for Y:= 0 to 6 do
[D:= Data(Y);
for X:= 0 to 27 do
[if D&1<<27 then DrawBlock(X*2+(6-Y)*2, Y*2);
D:= D<<1;
];
];
]

View file

@ -0,0 +1,38 @@
// Method 1
// r$ = system$("explorer \"http://www.network-science.de/ascii/ascii.php?TEXT=${delegate}&x=23&y=10&FONT=block&RICH=no&FORM=left&STRE=no&WIDT=80&TEXT=Yabasic\"")
// Method 2
// print
// print " _| _| _| _| "
// print " _| _| _|_|_| _|_|_| _|_|_| _|_|_| _|_|_| "
// print " _| _| _| _| _| _| _| _|_| _| _| "
// print " _| _| _| _| _| _| _| _|_| _| _| "
// print " _| _|_|_| _|_|_| _|_|_| _|_|_| _| _|_|_| "
// print
// Method 3
clear screen
dim d$(5)
d$(0) = "X X X XXXX X XXX X XXX "
d$(1) = " X X X X X X X X X X X X"
d$(2) = " X XXXXX XXXX XXXXX XXX X X "
d$(3) = " X X X X X X X X X X X"
d$(4) = " X X X XXXX X X XXXX X XXX "
long = len(d$(0))
sub write(dx, dy, c$)
local x, y
for y = 0 to 4
for x = 0 to long
if mid$(d$(y), x, 1) = "X" print at(x + dx, y + dy) c$
next x
next y
end sub
write(2, 2, "\\")
write(1, 1, "#")
print

View file

@ -0,0 +1,37 @@
10 DIM b(5,5): REM our bigmap characters
20 FOR l=1 TO 5: REM 5 characters
30 FOR m=1 TO 5: REM 5 rows
40 READ b(m,l)
50 NEXT m
60 NEXT l
70 PAPER 0: BORDER 0: REM black background and border
80 INK 2: REM our shadow will be red
90 CLS
100 LET r=8: REM shadow will start on row 8
110 LET c=1: REM shadow will start at column 1
120 GO SUB 2000: REM draw shadow
130 INK 6: REM our foreground will be yellow
140 LET r=9: REM foreground will start on row 9
150 LET c=2: REM foreground will start on column 2
160 GO SUB 2000: REM display the language name
999 STOP
1000 REM convert to binary bigmap
1010 LET z=16
1020 IF t>=z THEN PRINT AT r+l-1,c+c1;CHR$ (143);: LET t=t-z: REM 143 is a block
1040 LET c1=c1+1: LET z=z/2
1050 IF z>=1 THEN GO TO 1020
1060 RETURN
2000 REM display the big letters
2010 FOR l=1 TO 5: LET c1=0: REM our 5 rows
2030 FOR m=1 TO 5: REM bigmap for each character
2040 LET t=b(l,m)
2050 GO SUB 1000
2060 LET c1=c1+1: REM PRINT " ";: REM space between each letter
2070 NEXT m
2080 NEXT l
2090 RETURN
9000 DATA 30,17,30,17,30: REM B
9010 DATA 14,17,31,17,17: REM A
9020 DATA 15,16,14,1,30: REM S
9030 DATA 31,4,4,4,31: REM I
9040 DATA 14,17,16,17,14: REM C

View file

@ -0,0 +1,18 @@
5 PAPER 0: CLS
10 LET d=0: INK 1: GO SUB 40
20 LET d=1: INK 6: GO SUB 40
30 STOP
40 RESTORE
50 FOR n=1 TO 5
60 READ a$
70 FOR j=1 TO LEN a$
80 PRINT AT n+7,j+5+d;
90 IF a$(j)="X" THEN PRINT CHR$ 143: REM Equivalent to 219 in ASCII extended for IBM PC
100 NEXT j
110 NEXT n
120 RETURN
130 DATA "XXX XXXX XXX X XXX"
140 DATA "X X X X X X X "
150 DATA "XXX XXXX XXX X X "
160 DATA "X X X X X X X "
170 DATA "XXX X X XXX X XXX"

View file

@ -0,0 +1,10 @@
#<<<
"
xxxxxx x x x
x x x x
x x x x
x x x x
xxxxx x x xxxx
"
#<<<<
.replace(" "," ").replace("x","_/").println();