쉘 스크립트 이용해서 간단한 게임을 만들어 봤다.
이해 쉽게 주석 달아 놨음
자세한건 : https://github.com/realsung/Shell_Game
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
hhs#!/bin/bash
function main_print(){ # 메인 옵션들 출력
echo "◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎"
echo "= ="
echo -e "\033[1;31m= 1. 겜 시작 ="
echo -e "\033[1;33m\033[0m""= ="
echo -e "\033[1;31m= 2. 도움말 ="
echo -e "\033[1;33m\033[0m""= ="
echo -e "\033[1;31m= 3. 종료 ="
echo -e "\033[1;33m\033[0m""= ="
echo -e "\033[1;36m= About : https://github.com/realsung/Shell_Game ="
echo -e "\033[1;33m\033[0m""= ="
echo -e "◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎-◎"
}
function menu(){ # 게임 메뉴들
echo "[0] 뒤로가기"
echo "[1] 숫자 맞추기 게임"
echo "[?] 업데이트 예정..."
}
function game1(){ # 1. 숫자 맞추기 게임
echo "숫자 맞추기 게임"
echo "1 ~ 100 사이의 숫자를 입력 해주세요"
rand=$(( ( $RANDOM % 100 ) + 1 )) # 랜덤 함수 사용해서 100까지 숫자중 랜덤 숫자 하나 지정
for((i=0; i<=7; i++)); # 8번 반복
do
echo -e "\033[1;32m" # [*] Input 초록색 지정
printf "[*] Input : "
read game1_input # 입력
echo -e "\033[1;33m\033[0m" #나머지는 일반 색
if [ ${rand} -eq ${game1_input} ]; then # 랜덤 값과 내가 입력한 값이 같으면
echo "You got it!!" # 잘했음
break ;
else
if [ ${rand} -gt ${game1_input} ]; then # 내가 입력한 값이 랜덤 값보다 작으면
echo "더 높은 수를 입력하세요"
elif [ ${rand} -lt ${game1_input} ]; then # 내가 입력한 값이 랜덤 값보다 크면
echo "더 낮은 수를 입력하세요"
fi
fi
done
sleep 2s
echo ""
}
function helpme(){ # 도움말
echo "[*] 게임 시작을 눌렀을 때 "
sleep 1s
echo "1. 숫자 맞추기 게임"
sleep 1s
echo "랜덤으로 숫자가 나옵니다."
sleep 1s
echo "당신은 8번의 기회가 있습니다"
sleep 1s
echo "1~100까지의 숫자 중에 하나를 맞추면 되는 게임입니다."
sleep 3s
echo ""
}
function end(){ # 종료
echo "정말 종료할거야? ㅠ "
sleep 0.5s
echo "1. 종료"
sleep 0.5s
echo "2. 아니야"
echo -e "\033[1;31m" # [*] Input 빨강색 지정
printf "[*] Input : "
read exit
echo -e "\033[1;33m\033[0m" #나머지는 일반 색
if [ ${exit} -eq 1 ]; then # 1 누르면 종료
echo "Bye Bye ~"
exit 0
elif [ ${exit} -eq 2 ]; then #2 누르면 뒤로가기
continue ;
else
echo "입력 값이 잘못됨"
fi
echo ""
}
while :
do
main_print # 1,2,3 옵션 있는 거 출력
echo -e "\033[1;32m" # [*] Input 초록색 지정
printf "[*] Input : "
read input # 입력
echo -e "\033[1;33m\033[0m" #나머지는 일반 색
if [ ${input} -eq 1 ]; then #1번 눌렀을 때 game1 함수 실행
menu # 메뉴함수 호출
echo -e "\033[1;32m" # [*] Input 초롤색 지정
printf "[*] Input : "
read memu_num # 입력
echo -e "\033[1;33m\033[0m" #나머지는 일반 색
if [ ${memu_num} -eq 0 ]; then # 메뉴 번호 = 0 뒤로가기
echo ""
continue ;
elif [ ${memu_num} -eq 1 ]; then # 메뉴번호 = 1 숫자맞추기 게임
game1
else
echo "입력 값이 잘못됨"
echo ""
fi
elif [ ${input} -eq 2 ]; then #2번 눌렀을 때 도움말들
helpme # 도움말 함수 호출
elif [ ${input} -eq 3 ]; then #3번 눌렀을 때 종료 옵션
end # 종료 함수 호출
else
echo "1,2,3중에 하나만 고르세요"
fi
done
|
'ShellScript' 카테고리의 다른 글
Shell Script 정리 (0) | 2018.12.02 |
---|