想法:
1.占卜的关键在骰子是什么,骰子的关键在于数字怎么取
2.私有化数字更加符合占卜的事实
3.所有作为参数的数字不运算,而是拼接,计算方法是分别求余数再拼接求余数
4.转动时不使用私有数字,最终结果才使用私有数字
测试环境:
windows10
上代码:
@echo off
setlocal enabledelayedexpansion
if not exist %temp%\12行星.txt (
echo 北交>%temp%\12行星.txt
echo 南交>>%temp%\12行星.txt
echo 太阳>>%temp%\12行星.txt
echo 月亮>>%temp%\12行星.txt
echo 水星>>%temp%\12行星.txt
echo 金星>>%temp%\12行星.txt
echo 火星>>%temp%\12行星.txt
echo 土星>>%temp%\12行星.txt
echo 木星>>%temp%\12行星.txt
echo 天王>>%temp%\12行星.txt
echo 海王>>%temp%\12行星.txt
echo 冥王>>%temp%\12行星.txt
)
if not exist %temp%\12星座.txt (
echo 白羊>%temp%\12星座.txt
echo 金牛>>%temp%\12星座.txt
echo 双子>>%temp%\12星座.txt
echo 巨蟹>>%temp%\12星座.txt
echo 狮子>>%temp%\12星座.txt
echo 处女>>%temp%\12星座.txt
echo 天秤>>%temp%\12星座.txt
echo 天蝎>>%temp%\12星座.txt
echo 射手>>%temp%\12星座.txt
echo 摩羯>>%temp%\12星座.txt
echo 水瓶>>%temp%\12星座.txt
echo 双鱼>>%temp%\12星座.txt
)
if not exist %temp%\12宫位.txt (
echo 1宫>%temp%\12宫位.txt
echo 2宫>>%temp%\12宫位.txt
echo 3宫>>%temp%\12宫位.txt
echo 4宫>>%temp%\12宫位.txt
echo 5宫>>%temp%\12宫位.txt
echo 6宫>>%temp%\12宫位.txt
echo 7宫>>%temp%\12宫位.txt
echo 8宫>>%temp%\12宫位.txt
echo 9宫>>%temp%\12宫位.txt
echo 10宫>>%temp%\12宫位.txt
echo 11宫>>%temp%\12宫位.txt
echo 12宫>>%temp%\12宫位.txt
)
set /p dt=日期(事件日期,如果是一段时间用结束日期,格式yyyymmdd,比如20200709):
set /p jd=经度(事件城市经度,格式xxx.xx,比如:116.40):
set /p wd=纬度(事件城市纬度,格式xxx.xx,比如:39.90):
set /p birth=生日(事件人生日日期,格式yyyymmdd,比如20000101):
set /p things=事件(100-999三位数,比如123):
set jd=!jd:.=!
set wd=!wd:.=!
set /a ys=!dt!%%12
if not !ys! equ 0 (
set ys=!ys!!jd!
) else (
set ys=!jd!
)
set /a ys=!ys!%%12
if not !ys! equ 0 (
set ys=!ys!!wd!
) else (
set ys=!wd!
)
set /a ys=!ys!%%12
if not !ys! equ 0 (
set ys=!ys!!birth!
) else (
set ys=!birth!
)
set /a ys=!ys!%%12
if not !ys! equ 0 (
set ys=!ys!!things!
) else (
set ys=!things!
)
set /a ys=!ys!%%12
set p=
set s=
set g=
for /L %%a in (1,1,50) DO (
set idx=1
set /a r=!random!%%12+1
for /f %%i in (%temp%\12行星.txt) do (
if "!r!" equ "!idx!" (
set p=%%i
)
set /a idx+=1
)
set idx=1
set /a r=!random!%%12+1
for /f %%j in (%temp%\12星座.txt) do (
if "!r!" equ "!idx!" (
set s=%%j
)
set /a idx+=1
)
set idx=1
set /a r=!random!%%12+1
for /f %%k in (%temp%\12宫位.txt) do (
if "!r!" equ "!idx!" (
set g=%%k
)
set /a idx+=1
)
echo !p!!s!!g!
for /L %%b in (1,1,800) DO (
echo.>nul
)
cls
)
set idx=1
set ra=!random!
if not !ys! equ 0 (
set p=!ys!!ra!
) else (
set p=!ra!
)
set /a r=!p!%%12+1
for /f %%i in (%temp%\12行星.txt) do (
if "!r!" equ "!idx!" (
set p=%%i
)
set /a idx+=1
)
set idx=1
set ra=!random!
if not !ys! equ 0 (
set s=!ys!!ra!
) else (
set s=!ra!
)
set /a r=!s!%%12+1
for /f %%j in (%temp%\12星座.txt) do (
if "!r!" equ "!idx!" (
set s=%%j
)
set /a idx+=1
)
set idx=1
set ra=!random!
if not !ys! equ 0 (
set g=!ys!!ra!
) else (
set g=!ra!
)
set /a r=!g!%%12+1
for /f %%k in (%temp%\12宫位.txt) do (
if "!r!" equ "!idx!" (
set g=%%k
)
set /a idx+=1
)
echo !p!!s!!g!
pause
exit