-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.sh
executable file
·187 lines (153 loc) · 4.14 KB
/
index.sh
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
#!/bin/bash
### Colors ###
# Regular
BLACK_R='\e[0;30m' # Black
RED_R='\e[0;31m' # Red
GREEN_R='\e[0;32m' # Green
YELLOW_R='\e[0;33m' # Yellow
BLUE_R='\e[0;34m' # Blue
PURPLE_R='\e[0;35m' # Purple
CYAN_R='\e[0;36m' # Cyan
WHITE_R='\e[0;37m' # White
# Bold
BLACK='\e[1;30m' # Black
RED='\e[1;31m' # Red
GREEN='\e[1;32m' # Green
YELLOW='\e[1;33m' # Yellow
BLUE='\e[1;34m' # Blue
PURPLE='\e[1;35m' # Purple
CYAN='\e[1;36m' # Cyan
WHITE='\e[1;37m' # White
# Underline
BLACK_U='\e[4;30m' # Black
RED_U='\e[4;31m' # Red
GREEN_U='\e[4;32m' # Green
YELLOW_U='\e[4;33m' # Yellow
BLUE_U='\e[4;34m' # Blue
PURPLE_U='\e[4;35m' # Purple
CYAN_U='\e[4;36m' # Cyan
WHITE_U='\e[4;37m' # White
# Background
BLACK_BACK='\e[40m' # Black
RED_BACK='\e[41m' # Red
GREEN_BACK='\e[42m' # Green
YELLOW_BACK='\e[43m' # Yellow
BLUE_BACK='\e[44m' # Blue
PURPLE_BACK='\e[45m' # Purple
CYAN_BACK='\e[46m' # Cyan
WITHE_BACK='\e[47m' # White
# Others
NC='\033[0m' # No Color
bold='\033[1m' # Bold
####################################################################################################
### Dirs ###
# Dir
DIR=$(pwd)
# Logos
RALLY_LOGO=$DIR/logos/rallylogo.ascii
# TEAM_LOGO=$DIR/logo/teamlogo.ascii
# Carpeta de lore
LORE=$DIR/lore
# Instrucciones
INTRUCCIONES_SH=$LORE/intrucciones.sh
# Bienvenida
BIENVENIDA_SH=$LORE/bienvenida.sh
# Carpeta de retos/acertijos
RETOS=$DIR/retos
# Primer reto
RETO1_SH=$RETOS/reto1.sh
CREDITOS=$DIR/creditos.ascii
####################################################################################################
### Mensajes Reutilizables###
# Rally-PC
PROMPT=$(echo -e "${GREEN_R}@Rally-PC${NC}:${CYAN_R}~${NC}\$")
# Prompt de espera
MENSAJE_READ=$(echo -e "${bold}[Presiona enter para continuar]${NC}")
####################################################################################################
### MAIN ###
clear
### Funcion que trapea las señales para evitar que el usuario salga del script ###
function trapear {
trap intentarSalir SIGHUP
trap intentarSalir SIGINT
trap intentarSalir SIGQUIT
trap intentarSalir SIGILL
trap intentarSalir SIGTRAP
trap intentarSalir SIGABRT
trap intentarSalir SIGBUS
trap intentarSalir SIGFPE
trap intentarSalir SIGUSR1
trap intentarSalir SIGSEGV
trap intentarSalir SIGUSR2
trap intentarSalir SIGPIPE
trap intentarSalir SIGALRM
trap intentarSalir SIGTERM
trap intentarSalir SIGSTOP
trap intentarSalir SIGTSTP
echo ""
}
### Mensaje que sale al intentar salir del script ###
function intentarSalir {
echo 'No puedes salir una vez iniciado el reto... No seas cobarde.'
}
### Funcion principal ###
function start {
clear
echo -en "${RED}unknow${PROMPT} ${NC}${BLUE}Iniciando...${NC}"
sleep 1
echo -e "\n${RED}unknow${PROMPT} ${NC}Por favor ingresa el nombre de tu equipo. Intenta que sea original y único."
sleep 1
echo -e "${BLUE}[Ingresa el nombre de tu equipo]${NC}"
echo -en "${BLUE}=>${NC} "
read GROUPNAME
echo -e "\n${GREEN}${GROUPNAME}${PROMPT}\n"
sleep 1
read -p "$MENSAJE_READ"
clear
# Logo Rally.
echo -e "$YELLOW$(cat $RALLY_LOGO)$NC" | pv -qL2222
# Logo CEIC / MAC.
# echo -e "$bold$(cat $TEAM_LOGO)$NC" | pv -qL2222
sleep 3
# goto instrucciones.
instrucciones
}
function instrucciones {
source $INTRUCCIONES_SH
while true
do
echo -en "${GREEN}${GROUPNAME}${PROMPT} "
read re
if [ $re = "Iniciar" -o $re = "iniciar" ]
then
echo -en "\n$RED"
echo -en "Que comience el juego..." | pv -qL20
echo -e "$NC\n"
read -p "$MENSAJE_READ"
bienvenida
break
elif [ $re = "Salir" -o $re = "salir" ]
then
echo -e "${GREEN}${bold}Ha salido del script.${NC}"
break
else
echo -e "${RED}${bold}Opción inválida.\n${NC}"
continue
fi
done
}
function bienvenida {
# trapear
source $BIENVENIDA_SH
clear
bandersnatch
}
function bandersnatch {
source $RETO1_SH $GROUPNAME
sleep 1
echo -e "KSLASD"
cat $CREDITOS | pv -qL1000
}
### Inicio del script ###
start
sleep 1