시각장애 개발자와 함께하는 아이디어 마이닝 #7. 스크립트 예시, CMD
2024.11.20 09:32
지난 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