I started a project for animating in 3D a stereogram.
This is my first experiment... a porting from AA3D
Code: Select all
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Stereogram in dos batch.
::
:: version 0.1
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off & setlocal EnableDelayedExpansion
mode 120,43
cls
for /L %%N in (1,1,6) do echo(
:: use digit for depth and space
set "B0= "
set "L0= "
set L1= 11111111111111111111111111111111111
set L2= 11111111111111111111111111111111111
set L3= 11112222222222222222222222222211111
set L4= 11112222222222222222222222222211111
set L5= 11112222222222222222222222222211111
set L6= 11112222233333333333333322222211111
set L7= 11112222233333333333333322222211111
set L8= 11112222233333333333333322222211111
set L9= 11112222233333333333333322222211111
set L10= 11112222233333333333333322222211111
set L11= 11112222233333333333333322222211111
set L12= 11112222233333333333333322222211111
set L13= 11112222222222222222222222222211111
set L14= 11112222222222222222222222222211111
set L15= 11112222222222222222222222222211111
set L16= 11111111111111111111111111111111111
set L17= 11111111111111111111111111111111111
set "L18= "
set stdin=!B0!n!L0!n!L1!n!L2!n!L3!n!L4!n!L5!n!L6!n!L7!n!L8!n!L9!n!L10!n!L11!n!L12!n!L13!n!L14!n!L15!n!L16!n!L17!n!L18!
set istdin=0
:: These are 32 arbitrary simbols
set alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef
:: Step/size repeating sequence
set Skip=8
:: initialize some variables
set /a s=0
For /L %%y in (1,1,25) do (
set l=0
set "stdout="
For /L %%x in (1,1,80) do (
:: Get a random simbols
set /a index=!random! %% 32
For %%I in (!index!) do set letter=!alphabet:~%%I,1!
if !l! equ 0 (
if %%x gtr !skip! (
:: read next char
For %%I in (!istdin!) do set s=!stdin:~%%I,1!
set /a istdin+=1
if "!s!"==" " set s=0
if "!s!"=="n" (set "s=0" & set l=1)
if "!s!"=="" (set "s=0" & set l=1)
if !s! geq 0 if !s! leq 10 set /a s=-s
) else set s=0
) else set s=0
set /a s+=skip, s=%%x-s
if !s! lss 0 (set s=!letter!) else (for %%s in (!s!) do (if not defined data[%%s] (set s=0) else set "s=!data[%%s]!"))
set data[%%x]=!s!
rem set /p ".=!s!" < nul
set "stdout=!stdout!!s!"
)
echo( !stdout!
if !l! equ 0 call :readln
)
pause>nul
exit /b
:readln
:: read next char
For %%I in (!istdin!) do set s=!stdin:~%%I,1!
set /a istdin+=1
if "!s!"=="" exit /b
if Not "!s!"=="n" goto :readln
exit /b
rif: Autostereogram
einstein1969