go4million 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. #!/usr/bin/env bash
  2. #=========HEADER==========================================|
  3. #AUTOR
  4. # Jefferson Rocha <lrcjefferson@gmail.com>
  5. #
  6. #PROGRAMA
  7. # go4million - Vida Criminal
  8. #
  9. #DESCRIÇÃO
  10. # Jogo de criminoso totalmente lunático.
  11. #=========================================================|
  12. # Iniciando Cor do ambiente
  13. ambient="\e[32;40;1m"
  14. printf "$ambient"
  15. clear
  16. #====TESTES========================#
  17. #==================================#
  18. #====BIBLIOTECAS===================#
  19. . go4million.msg
  20. . go4million.persons
  21. #==================================#
  22. #====VARIAVEIS=====================#
  23. GAME="Go4Million - Vida Criminal"
  24. VERSION="0.2beta"
  25. #Cartões de dinheiro
  26. greencard="0"
  27. #Jogador
  28. MONEY="500"
  29. LIFE="10"
  30. GUN="Pistola 32"
  31. REPUTATION="50"
  32. #Cores
  33. red="\e[31;1m"
  34. blue="\e[44;1m"
  35. cyan="\e[36;1m"
  36. yellow="\e[33;1m"
  37. pink="\e[35;1m"
  38. white="\e[37;1m"
  39. underline="\e[4m"
  40. end="\e[m"
  41. #==================================#
  42. #====FUNCOES=======================#
  43. ########## AJUDA ##############
  44. HELP()
  45. {
  46. clear
  47. cat <<EOF
  48. ${GAME} versão ${VERSION}.
  49. 2018 - Jefferson Rocha
  50. Este jogo é ficticio e o desenvolvedor não se resposabiliza por nada!
  51. ------- INSTRUÇÕES
  52. O seu objetivo é chegar a 1 MILHÃO de reais sem morrer antes é claro.
  53. ${GAME} não possui pointsave ou seja, saiu/morreu o jogo reseta.
  54. Para conseguir o tão sonhado 1 MILHÃO você deve fazer tudo que é mais errado
  55. nesta vida!
  56. Assaltos, planejamento, serial killer etc... Tudo dependerá de você e claro do jogo.
  57. Você tem ${LIFE} vidas de inicio, se você estiver com sorte você ira conseguir
  58. pontos de vida ao decorrer do jogo, tome cuidado a onde você se mete pois se sua
  59. sorte não estiver com você é vida a menos na certa, afinal o jogo é randômico e depende da
  60. sorte.
  61. ------- DICA
  62. Consiga o máximo de dinheiro no inicio para comprar armas! você necessita delas para
  63. conseguir ter um maior sucesso em suas tramoias.
  64. Cuide da sua reputação! se sua reputação for baixa e entrar aonde não deveria você perde tudo!
  65. ------ CARTÃO VERDE
  66. digite no jogo greencard e ganhe 500 Reais.
  67. Bom jogo.
  68. EOF
  69. ENTER # função
  70. }
  71. ########## Ferramenta ##########
  72. BAR() # Barra
  73. {
  74. printf "${blue} Dinheiro: ${MONEY} R$ | "
  75. printf "${blue} Reputação: ${REPUTATION} | "
  76. printf "${blue} Vida: ${LIFE}/10 |${end}\n"
  77. printf "${blue} Arma: ${GUN} ${end}\n\n "
  78. }
  79. LIFE_CONFERENCE() # Conferencia de vida
  80. {
  81. if [ "$LIFE" -eq "0" ]; then
  82. printf "Suas vidas acabaram.\n"
  83. printf "GAME OVER.\n"
  84. exit 1
  85. fi
  86. }
  87. ENTER() # Enter
  88. {
  89. printf "\nEnter para prosseguir"; read
  90. }
  91. ########## COMBATE #########
  92. COMBAT()
  93. {
  94. PERSON_LIFE="100" # Vida da vitima
  95. TOTAL="0" # Valor total
  96. printf "${underline}VÍTIMA:${end}${white} ${PERSON[$RANDOM_VITIM]}${end}\n\n" # Nome da vítima.
  97. while true; do
  98. if [ "$PERSON_LIFE" -eq "0" ] || [ "$PERSON_LIFE" -lt "0" ]; then # Menor que 0 vaza.
  99. printf "\nVocê Mando ${PERSON[$RANDOM_VITIM]} Para as profundezas!\n"
  100. break
  101. fi
  102. sleep 0.4s
  103. # Gerando um hit aleatorio.
  104. hit=$(($RANDOM % 10))
  105. case $hit in
  106. 1) # Cabeça
  107. _head="100"
  108. PERSON_LIFE=$(($PERSON_LIFE - $_head))
  109. REPUTATION=$(($REPUTATION + 1)) # reputação +1
  110. MONEY=$(($MONEY + 200)) # Dando 200 conto para o player.
  111. printf "${cyan}-->Você Acertou a Cabeça. Foi FATAL!${end}\n"
  112. printf "\n\nBoa pontaria! Você recebeu 200 reais de bônus pelo belo tiro!!\n"
  113. printf "+1 de Reputação!\n"
  114. break
  115. ;;
  116. 2) # Pescoço
  117. _neck="30"
  118. PERSON_LIFE=$(($PERSON_LIFE - $_neck))
  119. printf "${yellow}-->Você Acertou o Pescoço. Quase fatal! Vida: ${PERSON_LIFE}/100${end}\n"
  120. ;;
  121. 3) # Barriga
  122. _belly="20"
  123. PERSON_LIFE=$(($PERSON_LIFE - $_belly))
  124. printf "${pink}-->Você Acertou a Barriga. Essa doeu! Vida: ${PERSON_LIFE}/100${end}\n"
  125. ;;
  126. 4) # Perna direita
  127. _leg_right="12"
  128. PERSON_LIFE=$(($PERSON_LIFE - $_leg_right))
  129. printf "${white}-->Você Acertou a Perna Direita. Não anda mais! Vida: ${PERSON_LIFE}/100${end}\n"
  130. ;;
  131. 5) # Perna esquerda
  132. _leg_left="13"
  133. PERSON_LIFE=$(($PERSON_LIFE - $_leg_left))
  134. printf "${white}-->Você Acertou a Perna Esquerda. Vida: ${PERSON_LIFE}/100${end}\n"
  135. ;;
  136. 6) # Outro
  137. _other="3"
  138. PERSON_LIFE=$(($PERSON_LIFE - $_other))
  139. printf "${white}-->Você Acertou alguma parte. Vida: ${PERSON_LIFE}/100${end}\n"
  140. ;;
  141. 7) # Raspão
  142. _scrape="2"
  143. PERSON_LIFE=$(($PERSON_LIFE - $_scrape))
  144. printf "${white}-->De Raspão! Vida: ${PERSON_LIFE}/100${end}\n"
  145. ;;
  146. *) # Errou
  147. _missed="0"
  148. printf "${red}-->Você errou o tiro!${end}\n"
  149. ;;
  150. esac
  151. done
  152. }
  153. ########## LOCAIS ##########
  154. # Zona
  155. ZONE()
  156. {
  157. # Variaveis somente local
  158. typeset choice
  159. typeset ALEATORY_MSG
  160. typeset DESTINY
  161. # Valor que a puta recebe
  162. typeset receive="100"
  163. cat <<EOF
  164. Chegamos na zona mais motherfuck da cidade.
  165. Podemos começar a fazer alguma coisa, o que deseja fazer?
  166. 1) Matar geral
  167. 2) Sexo
  168. EOF
  169. while : ;do
  170. printf "\n> "; read choice
  171. choice="${choice^^}" # Tudo em maiusculo.
  172. if [ "$choice" = "1" ]; then
  173. if [ $((($RANDOM % 12)+1)) -gt "5" ]; then # > 9, 1 vida a menos.
  174. LIFE=$(($LIFE - 1)) # Decremento da vida.
  175. ALEATORY_NUMBER_MSG=$((($RANDOM % $msg_number_over)+1)) # Número aleatorio para mensagem
  176. printf "${red}${MSG_OVER[$ALEATORY_NUMBER_MSG]}${end}\n" # Mensagem aleatoria
  177. LIFE_CONFERENCE # Conferindo se vida acabou.
  178. if [ $((($RANDOM % 6)+1)) -eq "3" ]; then # Se for cagado perde tbm 100 reais
  179. MONEY=$(($MONEY - 200))
  180. printf "${red}-SORTUDO! Você perdeu 200 R\$!${end}\n"
  181. fi
  182. printf "${red}-Você perdeu 1 vida! lhe restam mais: ${LIFE}.${end}\n"
  183. ENTER # Função enter.
  184. break
  185. else
  186. RANDOM_VITIM=$(($RANDOM % $persons))
  187. COMBAT # Chamada da função para matação.
  188. printf "${cyan}+200 reais.${end}\n"
  189. MONEY=$(($MONEY + 200)) # Duzentinho para o jogadoh
  190. ENTER # Função enter.
  191. break
  192. fi
  193. elif [ "$choice" = "2" ]; then
  194. ALEATORY_NUMBER_MSG=$((($RANDOM % $msg_number_sex)+1))
  195. [ "$ALEATORY_NUMBER_MSG" -eq "1" ] && LIFE=$(($LIFE + 1)) # Igual a 1? ganha 1 vida.
  196. [ "$ALEATORY_NUMBER_MSG" -eq "5" ] && receive="200"
  197. printf "${cyan}${MSG_SEX[$ALEATORY_NUMBER_MSG]}${end}\n"
  198. MONEY=$(($MONEY - $receive))
  199. ENTER # Prosseguir.
  200. break
  201. else
  202. printf "? Cê tá maluco, digita a porra certa KCTA.\n"
  203. continue
  204. fi
  205. done
  206. }
  207. #### PEQUENOS FURTOS
  208. SMALL_THEFT()
  209. {
  210. printf "Em desenvolvimento\n"
  211. ENTER
  212. }
  213. # LOJA
  214. STORE()
  215. {
  216. #LISTA DE ARMAS
  217. revolver=(
  218. "Taurus 817 .38 250 R$"
  219. "Taurus 88 .38 1.000 R$"
  220. "Colt Python .357 3.500 R$"
  221. )
  222. while : ;do
  223. clear
  224. BAR # Barra de informações do usuario
  225. printf "Seja bem vindo ao 'ARMADO ATÉ OS DENTES' Store.\nVeja a lista para você comprar, lembre-se de ter dinheiro suficiente.\nPara retornar digite: retornar\n\n"
  226. printf "${red}### Revolver${end}\n"
  227. printf "1) ${revolver[0]}\n"
  228. printf "2) ${revolver[1]}\n"
  229. printf "3) ${revolver[2]}\n"
  230. printf "\n> "; read choice
  231. case "$choice" in
  232. 1) VALOR="250" ; [ "$VALOR" -gt "$MONEY" ] && { printf "Grana insuficiente.\n"; ENTER; continue ;}
  233. MONEY=$(($MONEY - $VALOR))
  234. GUN=$(printf "${revolver[0]}" | awk '{print $1, "Modelo",$2}') # Pegando campos Arma e modelo
  235. POWER="3"
  236. printf "Sua arma agora é '${GUN}' e seu poder é '${POWER}'"
  237. ;;
  238. 2) VALOR="1000" ; [ "$VALOR" -gt "$MONEY" ] && { printf "Grana insuficiente.\n"; ENTER; continue ;} ;;
  239. 3) VALOR="3500" ; [ "$VALOR" -gt "$MONEY" ] && { printf "Grana insuficiente.\n"; ENTER; continue ;} ;;
  240. retornar) break ;;
  241. *) printf "Já fumou? opção inválida man.\n" ;;
  242. esac
  243. read
  244. done
  245. }
  246. # Quadrilha
  247. GANG() # Entrar para uma gang
  248. {
  249. printf "EM desenvolvimento\n"
  250. ENTER
  251. }
  252. #==================================#
  253. ####### Loop Principal ########
  254. while true ;do
  255. clear
  256. BAR
  257. cat <<-EOF
  258. Cafofo.
  259. Para ver as instruções do jogo digite: ajuda
  260. Para ver a história do personagem digite: historia
  261. 1) Rolê na Cidade
  262. 2) Entrar para uma quadrilha
  263. 3) Ir para Zona
  264. 4) Pequenos Roubos
  265. 5) Visitar a Loja
  266. 6) Se Suicidar
  267. EOF
  268. printf "\n> "; read choice
  269. case $choice in
  270. 3) ZONE ;;
  271. 4) SMALL_THEFT ;;
  272. 5) STORE ;;
  273. 6) printf "BOOOOOM, sua cabeça explodiu.\n"; exit 0 ;;
  274. ajuda) HELP ;;
  275. historia|história) HISTORY ;;
  276. greencard)
  277. if [ "$greencard" -lt "1" ]; then
  278. greencard="1"
  279. MONEY=$(($MONEY + 500))
  280. else
  281. printf "Você já adquiriu o Greencard.\n\n"
  282. ENTER
  283. continue
  284. fi
  285. ;;
  286. *) printf "Hey brother, opção inválida.\n" ;;
  287. esac
  288. done