Batch 批處理小彈珠

2021-06-12 14:48:07 字數 2912 閱讀 3685

試了下寫乙個彈珠在黑框框中彈

上下彈的~

沒想到執行這麼快,所以加了一句延時的

:: ——by ec

@echo off & setlocal enabledelayedexpansion

mode con: cols=80 lines=24

set xy=

:loop

for /l %%i in (1 1 64) do (

if defined direct (

set /a xy-=1

) else ( set /a xy+=1 )

cls & for /l %%j in (1 1 !xy!) do echo=

set /p=● < nul

for /l %%k in (1 1 128) do ver > nul

if !xy! equ 0 set "direct=" & goto :loop

if !xy! equ 24 set direct=a & goto :loop

)

在螢幕內彈~

:: ——by ec

@echo off & setlocal enabledelayedexpansion

mode con: cols=80 lines=24

set /a x=1

set /a y=1

set "space= "

set ball=●

set "str="

set dx=+

set dy=-

:loop

clsfor /l %%i in (1 1 %y%) do echo=

set "str="

set /a x%dx%=1,y%dy%=1

if %x% equ 0 set dx=+

if %x% equ 79 set dx=-

for /l %%i in (1 1 %x%) do set str=!str!%space%

set str=!str!%ball%

if %y% equ 24 set dy=- & goto :loop

if %y% equ 0 set dy=+ & goto :loop

echo %str%

for /l %%i in (1 1 128) do ver > nul

goto :loop

改寫了下。

:: ——by ec

@echo off & setlocal enabledelayedexpansion

mode con: cols=80 lines=24

set /a x=1

set /a y=1

set "space= "

set ball=●

set "str="

set /a dx=1

set /a dy=1

:loop

clsfor /l %%i in (1 1 %y%) do echo=

set "str="

set /a x+=%dx%,y+=%dy%

if %x% equ 0 set /a dx=1

if %x% equ 79 set /a dx=-1

for /l %%i in (1 1 %x%) do set str=!str!%space%

set str=!str!%ball%

if %y% equ 24 set /a dy=-1 & goto :loop

if %y% equ 0 set /a dy=1 & goto :loop

echo %str%

for /l %%i in (1 1 128) do ver > nul

goto :loop

多個球

:: ——by ec

@echo off & setlocal enabledelayedexpansion

mode con: cols=80 lines=24

set ball=●

for /l %%i in (1 1 39) do set "space= !space!"

set num=4

for /l %%i in (1 1 %num%) do (

set /a b%%idx=1,b%%idy=1

set /a b%%ix=!random!%%79,b%%iy=!random!%%23

):loop

for /l %%i in (1 1 %num%) do (

set /a b%%ix+=b%%idx,b%%iy+=b%%idy

for /f "tokens=1,2" %%a in ("!b%%ix! line!b%%iy!") do (

if defined %%b (set %%b=!%%b:~0,%%a!%ball%) else (

set %%b=!space:~0,%%a!%ball%

) ))cls

for /l %%i in (1 1 23) do echo=!line%%i!

set /p=!line24! < nul

for /l %%i in (1 1 %num%) do (

set line!b%%iy!=

if !b%%ix! geq 78 set /a b%%idx=-1

if !b%%ix! leq 0 set /a b%%idx=1

if !b%%iy! geq 23 set /a b%%idy=-1

if !b%%iy! leq 0 set /a b%%idy=1

)for /l %%i in (1 1 128) do ver > nul

goto :loop

寫起來還挺麻煩的。

JDBC進行批處理Batch

在實際的專案開發中,有時候需要向資料庫傳送一批sql語句執行,這時應避免向資料庫一條條的傳送執行,而應採用jdbc的批處理機制,以提公升執行效率。jdbc實現批處理有兩種方式 statement和preparedstatement jdbc實現批處理有兩種方式 statement和prepareds...

批處理batch,執行多個SQL語句

批處理batch,執行多個sql語句。sql view plain copy trycatch exception e catch exception e1 finally 注意其中的兩個sql語句,其一是stmt.addbatch 其二是stmt.excutebatch 在批量更新sql操作的時候...

JDBC06 其他操作及批處理Batch

靈活指定sql語句中的變數 preparedstatement 對儲存過程進行呼叫 callablestatement 運用事務處理 transaction 批處理 batch 對於大量的批處理,建議使用statement,因為preparedstatement的預編譯空間有限,當資料量特別大的時候...