2014-05-12 2 views
0

3x3 그리드에서 움직이는 "@"미니 배치 프로그램을 쓰고 있습니다.
내가 5 곳에서 코드 블록을 사용하여 찾고 있어요 :* 배치 * 여러 위치에서 명령 블록을 반복 하시겠습니까?

if %face%==up set /a x=%x%+1 
if %face%==left set /a y=%y%+1 
if %face%==down set /a x=%x%-1 
if %face%==right set /a y=%y%-1 

(x와 y의가 혼합되어 있지만, 그것에 대해 걱정하지 마십시오) 내가 몇 번을 붙여 복사 할 수

하지만, 나는 그것을 할 수있는 더 좋은 방법이 있는지 알고 싶다. :)

그래서 나는 그 코드를 포함하고 그것을 복사 붙여 넣기 대신에 "변수"를 넣어야한다. .

답변

0

다음과 같은 sudo 기능을 만들 수 있습니다. :

goto skip_face_func 
:face_func 
set x=%1 
set y=%2 
if not defined x set x=0 
if not defined y set y=0 
if %face%==up set /a x=%x%+1 
if %face%==left set /a y=%y%+1 
if %face%==down set /a x=%x%-1 
if %face%==right set /a y=%y%-1 
goto :eof 
:skip_face_func 


:: Making x=1 y=4 
call :face_func 1 4 
echo x:%x% y:%y% 

:: Making x=5 y=2 
call :face_func 5 2 
echo x:%x% y:%y% 
+0

감사합니다. 블록을 붙여서 거기에 코드를 붙여 넣은 다음 필요한 부분에 goto 블록을 넣으십시오. 그것이 효과가있을 것이라고 생각하지는 않았지만 그렇게했습니다. 어쨌든 고마워 : P – Hygkolk

관련 문제