#はじめに
バッチファイルで書いてみました。
元ネタ:Javaで湯婆婆を実装してみる
#コード
バッチファイルは文字コードを Shift_JIS にして保存してください。
湯.bat(湯婆っち)
@echo off
setlocal enabledelayedexpansion
:BOL
echo.
echo 湯婆っち:契約書だよ。そこに名前を書きな。
set /p A=
if "%A%" == "" call :die
call :Q "湯婆っち:フン。「%A%」というのかい?" || goto :BOL
call :length "%A%"
set l=%ERRORLEVEL%
set /a i="%RANDOM% %% %l% - 1"
set s=!A:~%i%,1!
echo.
echo 湯婆っち:贅沢な名だねぇ。今からおまえの名前は「%s%」だ。いいかい、「%s%」だよ。分かったら返事をするんだ、「%s%」!
endlocal
goto :EOF
:die
setlocal
call %~0
endlocal
goto :EOF
:length
setlocal
set s=%~1
if "%s%" == "" (
exit /b 0
)
set i=0
:BOL_length
call set c=%%s:~%i%,1%%
if "%c%" == "" goto EOL_length
set /a i+=1
goto BOL_length
:EOL_length
exit /b %i%
endlocal
goto :EOF
:Q
setlocal
:BOL_Q
echo.
set /p A=%~1 ^(Y/n^)
if /i "%A%" == "Y" exit /b 0
if /i "%A%" == "N" exit /b 1
goto :BOL_Q
endlocal
goto :EOF
#実行結果
念のため再入力とエラーも実装しています。
#おわりに
むかし夢中になった「どう書く.org」というウェブサイトを思いだしました。
いつになっても自分の好きな言語で書くのはたのしいものですね。