메뉴 건너뛰기

A11Y

지난 11월 9일에 있었던 "나도코딩" 세미나에서 발표한 내용을 요약한 자료 입니다.

 

7. 스크립트 예시, CMD

 

MS-DOS 시절부터 컴퓨터를 사용하던 사용자라면 배치파일(*.bat) 라는 말에 매우 익숙할 것이다. 필자도 (*.cmd) 대신 (*.bat) 파일을 주로 작성하게 된다.

배치파일, 즉 CMD 스크립트 역시 훌륭한 프로그래밍 언어이다.

프로그래밍에 필요한 변수 대입, 연산, 반복문, 조건문, goto 를 이용한 분기 등 기본적인 요소는 다 가지고있으니 말이다.

%random% 예약어로 무작위 수를 구할 수도 있다.

예를 들어 CMD 명령창에서

 

set /a 1+2+3+4

 

라고 입력하여 간단한 계산기처럼 활용할 수 있다.

그럼, 간단한 야구게임을 한 번 *.bat 파일로 작성해 보겠다. 배치파일의 특성상 % 입력을 위해 %% 를 쓰거나 중첩된 변수 사용을 위해 !변수! 처럼 작성하는 좀 성가신 부분은 있으나, 익숙해지면 간단한 아이디어 표현에 활용할 수 있을 것이다.

 

===코드===

 

@echo off

setlocal enabledelayedexpansion

set myscore=0

set yourscore=0

for /l %%i in (1,1,9) do (
  for %%j in ("초", "말") do (
   echo %%i회 %%j
    set /p mynum=0 부터 9 사이의 수를 누르세요.
    set /a yournum=!random! %%10
    set /a result=mynum + yournum
set /a result=result %%10
    set score=0

    if !result!==3 (
      echo 홈 런~~~
      set score=1
    ) else if !result!==6 (
      echo 투 론~~~~
      set score=2
    ) else if !result!==9 (
      echo 쓰리 론~~~~~~
      set score=3
    ) else (
      echo 아우우웃~
    )

    if %%j=="초" (
      set /a myscore=myscore + score
    ) else (
      set /a yourscore=yourscore + score
    )
  )
)

echo 경기 끝~
echo 점수는 %myscore% 대 %yourscore%

endlocal

 

 

===결과===

 

1회 "초"
0 부터 9 사이의 수를 누르세요.아우우웃~
1회 "말"
0 부터 9 사이의 수를 누르세요.쓰리 론~~~~~~
2회 "초"
0 부터 9 사이의 수를 누르세요.투 론~~~~
2회 "말"
0 부터 9 사이의 수를 누르세요.아우우웃~
3회 "초"
0 부터 9 사이의 수를 누르세요.아우우웃~
3회 "말"
0 부터 9 사이의 수를 누르세요.투 론~~~~
4회 "초"
0 부터 9 사이의 수를 누르세요.아우우웃~
4회 "말"
0 부터 9 사이의 수를 누르세요.홈 런~~~
5회 "초"
0 부터 9 사이의 수를 누르세요.쓰리 론~~~~~~
5회 "말"
0 부터 9 사이의 수를 누르세요.아우우웃~
6회 "초"
0 부터 9 사이의 수를 누르세요.아우우웃~
6회 "말"
0 부터 9 사이의 수를 누르세요.홈 런~~~
7회 "초"
0 부터 9 사이의 수를 누르세요.아우우웃~
7회 "말"
0 부터 9 사이의 수를 누르세요.쓰리 론~~~~~~
8회 "초"
0 부터 9 사이의 수를 누르세요.아우우웃~
8회 "말"
0 부터 9 사이의 수를 누르세요.홈 런~~~
9회 "초"
0 부터 9 사이의 수를 누르세요.아우우웃~
9회 "말"
0 부터 9 사이의 수를 누르세요.아우우웃~
경기 끝~
점수는 5 대 11