Advertisement
dariahinz

Untitled

Jun 11th, 2017
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.72 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. gra="Quiz"
  4. rozmiarX="350"
  5. rozmiarY="350"
  6.  
  7. zenity --info --title $gra --width $rozmiarX --height $rozmiarY --text "\n\n\n\n\nWitaj w Quizowaniu! Za chwile zacznie sie rozgrywka. W puli znajduje sie 12 pytan i tylko jedna odpowiedz jest poprawna. Zadaniem jest odpowiedzenie na jak nawieksza ilosc punktow i zgarniecie duzej wygranej. Powodzenia!" --ok-label "Rozpocznij quiz"
  8.  
  9. # funkcja generuje tekst i umieszcza go w zmiennej $informacja
  10. function wyswietlanie_wyniku(){
  11. case "$1" in
  12. "glowny" )
  13. informacja="Gracz: $imie\n\nWyniki kategorii:\n"
  14. informacja="$informacja\n1.Muzyka: $muzyka_wynik/8\n2.Sport: $sport_wynik/8\n3.Jedzenie: $jedzenie_wynik/8\n4.Przyroda: $przyroda_wynik/8\n";;
  15. "muzyka")
  16. informacja="Pytanie 1: \t$odp1\t\t\nPytanie 2: \t$odp2\t\t\nPytanie 3: \t$odp3\t\t\n\nW sumie: \t$muzyka_wynik/8";;
  17. "sport")
  18. informacja="Pytanie 1: \t$odp1s\t\t\nPytanie 2: \t$odp2s\t\t\nPytanie 3: \t$odp3s\t\t\n\nW sumie: \t$sport_wynik/8";;
  19. "jedzenie")
  20. informacja="Pytanie 1: \t$odp1j\t\t\nPytanie 2: \t$odp2j\t\t\nPytanie 3: \t$odp3j\t\t\n\nW sumie: \t$jedzenie_wynik/8";;
  21. "przyroda")
  22. informacja="Pytanie 1: \t$odp1pp\t\t\nPytanie 2: \t$odp2pp\t\t\nPytanie 3: \t$odp3pp\t\t\n\nW sumie: \t$przyroda_wynik/8";;
  23. *) echo "wrong argumnt";;
  24. esac
  25. }
  26.  
  27. menu_kategorii=("Muzyka" "Sport" "Jedzenie" "Przyroda" "Wyniki")
  28. menu_podsumowanie=("Muzyka" "Sport" "Jedzenie" "Przyroda")
  29. menu_pytania=("Pytanie 1" "Pytanie 2" "Pytanie 3")
  30.  
  31. function odpowiedz_udzielona(){
  32. udzielono=$(zenity --error --text "Udzielono juz odpowiedzi, przejdz do nastepnego pytania!")
  33. }
  34.  
  35. function powrot_menu(){
  36. if [[ $? -eq 1 ]]; then
  37. echo "menu glowne"
  38. break
  39. fi
  40. }
  41.  
  42. function odliczanie_czasu(){
  43. time=40
  44. while [[ $time -gt 0 ]]; do
  45. time=$[time - 1]
  46. sleep 1
  47. done
  48. }
  49.  
  50. function podsumowanie(){
  51. podsumowanie=$(zenity --list --height $rozmiarY --width $rozmiarX --title $gra --cancel-label "Menu" --text "\n\n" --column "Wyniki poszczególnych kategorii" "${menu_podsumowanie[@]}")
  52. powrot_menu
  53.  
  54. case "$podsumowanie" in
  55. "${menu_podsumowanie[0]}" )
  56. wyswietlanie_wyniku "muzyka"
  57. wynik=$(zenity --info --title $gra --text "\n\n\nMuzyka:\n$informacja" --height 300 --width 270 --title $gra)
  58. if [[ $? -eq 0 ]]; then
  59. podsumowanie
  60. fi
  61. ;;
  62. "${menu_podsumowanie[1]}" )
  63. wyswietlanie_wyniku "sport"
  64. wynik=$(zenity --info --title $gra --text "\n\n\nSport:\n$informacja" --height 300 --width 270 --title $gra)
  65. if [[ $? -eq 0 ]]; then
  66. podsumowanie
  67. fi
  68. ;;
  69. "${menu_podsumowanie[2]}" )
  70. wyswietlanie_wyniku "jedzenie"
  71. wynik=$(zenity --info --title $gra --text "\n\n\nJedzenie:\n$informacja" --height 300 --width 270 --title $gra)
  72. if [[ $? -eq 0 ]]; then
  73. podsumowanie
  74. fi
  75. ;;
  76. "${menu_podsumowanie[3]}" )
  77. wyswietlanie_wyniku "przyroda"
  78. wynik=$(zenity --info --title $gra --text "\n\n\nPrzyroda:\n$informacja" --height 300 --width 270 --title $gra)
  79. if [[ $? -eq 0 ]]; then
  80. podsumowanie
  81. fi
  82. ;;
  83. esac
  84. }
  85.  
  86.  
  87. function muzyka_panel() {
  88. muzyka=$(zenity --list --height $rozmiarY --width $rozmiarX --title $gra --cancel-label "Menu" --text "\n\n\n" --column "Wybór pytania" "${menu_pytania[@]}")
  89. powrot_menu
  90. case "$muzyka" in
  91. "${menu_pytania[0]}" )
  92. if [[ $odp1 =~ "BRAK" ]]; then
  93. pytanie=$(zenity --list --title $gra --text "Kto skąponował muzykę do słynnego filmu Romana Polańskiego -Dziecko Rosemary?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Jan Ptaszyn Wróblewski" FALSE "Ennio Mericone" FALSE "Krzysztof Komeda" FALSE "Włodzimierz Korcz" )
  94. if [[ $pytanie =~ "Krzysztof Komeda" ]]; then
  95. odp1="PRAWIDŁOWA ODPOWIEDŹ"
  96. muzyka_wynik=$[muzyka_wynik + 1]
  97. else
  98. odp1="ZŁA ODPOWIEDŹ"
  99. fi
  100. muzyka_panel
  101. else
  102. odpowiedz_udzielona
  103. muzyka_panel
  104. fi
  105. ;;
  106. "${menu_pytania[1]}" )
  107. if [[ $odp2 =~ "BRAK" ]]; then
  108. pytanie=$(zenity --list --title $gra --text "Smoke on the Water- to najbardziej znany album jakiego zespołu?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Deep Purple" FALSE "The Doors" FALSE "Led Zeppelin" FALSE "The Rolling Stones" )
  109. if [[ $pytanie =~ "Deep Purple" ]]; then
  110. odp2="PRAWIDŁOWA ODPOWIEDŹ"
  111. muzyka_wynik=$[muzyka_wynik + 1]
  112. else
  113. odp2="ZŁA ODPOWIEDŹ"
  114. fi
  115. muzyka_panel
  116. else
  117. odpowiedz_udzielona
  118. muzyka_panel
  119. fi
  120. ;;
  121. "${menu_pytania[2]}" )
  122. if [[ $odp3 =~ "BRAK" ]]; then
  123. pytanie=$(zenity --list --title $gra --text "Jak brzmi prawdziwe imię i nazwisko amerykańskiej pisenkarki Cher?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Cheryl Coke" FALSE "Denise Richards" FALSE "Charlie Sheen" FALSE "Cherylin Sarkisian LaPiere" )
  124. if [[ $pytanie =~ "Cherylin Sarkisian LaPiere" ]]; then
  125. odp3="PRAWIDŁOWA ODPOWIEDŹ"
  126. muzyka_wynik=$[muzyka_wynik + 1]
  127. else
  128. odp3="ZŁA ODPOWIEDŹ"
  129. fi
  130. echo "pytania"
  131. muzyka_panel
  132. else
  133. odpowiedz_udzielona
  134. muzyka_panel
  135. fi
  136. ;;
  137. esac
  138. }
  139.  
  140. function sport_panel() {
  141. sport=$(zenity --list --height $rozmiarY --width $rozmiarX --title $gra --cancel-label "Menu" --text "\n\n\n" --column "Wybór pytania" "${menu_pytania[@]}")
  142. powrot_menu
  143. case "$sport" in
  144. "${menu_pytania[0]}" )
  145. if [[ $odp1s =~ "BRAK" ]]; then
  146. pytanie=$(zenity --list --title $gra --text "Ile zawodników liczy drużyna siatkarzy?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Pięć" FALSE "Sześć" FALSE "Dziewięć" FALSE "Osiem")
  147. if [[ $pytanie =~ "Sześć" ]]; then
  148. odp1s="PRAWIDŁOWA ODPOWIEDŹ"
  149. sport_wynik=$[sport_wynik + 1]
  150. else
  151. odp1s="ZŁA ODPOWIEDŹ"
  152. fi
  153. sport_panel
  154. else
  155. odpowiedz_udzielona
  156. sport_panel
  157. fi
  158. ;;
  159. "${menu_pytania[1]}" )
  160. if [[ $odp2s =~ "BRAK" ]]; then
  161. pytanie=$(zenity --list --title $gra --text "Jaki medal przywiozła z Aten Agata Wróbel w 2004r.?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Złoty" FALSE "Srebrny" FALSE "Brązowy" FALSE "Nie przywiozła medalu" )
  162. if [[ $pytanie =~ "Brązowy" ]]; then
  163. odp2s="PRAWIDŁOWA ODPOWIEDŹ"
  164. sport_wynik=$[sport_wynik + 1]
  165. else
  166. odp2s="ZŁA ODPOWIEDŹ"
  167. fi
  168. sport_panel
  169. else
  170. odpowiedz_udzielona
  171. sport_panel
  172. fi
  173. ;;
  174. "${menu_pytania[2]}" )
  175. if [[ $odp3s =~ "BRAK" ]]; then
  176. pytanie=$(zenity --list --title $gra --text "Która drużyna narodowa zdobyła w historii najwięcej tytułów Mistrza Świata w piłce nożnej?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Rosja" FALSE "Włochy" FALSE "Niemcy" FALSE "Brazylia" )
  177. if [[ $pytanie =~ "Brazylia" ]]; then
  178. odp3s="PRAWIDŁOWA ODPOWIEDŹ"
  179. sport_wynik=$[sport_wynik + 1]
  180. else
  181. odp3s="ZŁA ODPOWIEDŹ"
  182. fi
  183. echo "pytania"
  184. sport_panel
  185. else
  186. odpowiedz_udzielona
  187. sport_panel
  188. fi
  189. ;;
  190. esac
  191. }
  192. function jedzenie_panel() {
  193. jedzenie=$(zenity --list --height $rozmiarY --width $rozmiarX --title $gra --cancel-label "Menu" --text "\n\n\n" --column "Wybór pytania" "${menu_pytania[@]}")
  194. powrot_menu
  195. case "$jedzenie" in
  196. "${menu_pytania[0]}" )
  197. if [[ $odp1j =~ "BRAK" ]]; then
  198. pytanie=$(zenity --list --title $gra --text "Co znajduje się w serze Casu marzu?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Mięso" FALSE "Larwy" FALSE "Sardynki" FALSE "Kora" )
  199. if [[ $pytanie =~ "Larwy" ]]; then
  200. odp1j="PRAWIDŁOWA ODPOWIEDŹ"
  201. jedzenie_wynik=$[jedzenie_wynik + 1]
  202. else
  203. odp1j="ZŁA ODPOWIEDŹ"
  204. fi
  205. jedzenie_panel
  206. else
  207. odpowiedz_udzielona
  208. jedzenie_panel
  209. fi
  210. ;;
  211. "${menu_pytania[1]}" )
  212. if [[ $odp2j =~ "BRAK" ]]; then
  213. pytanie=$(zenity --list --title $gra --text "Który rodzaj sushi jest największy?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Futo-Maki" FALSE "Naka-Maki" FALSE "Hoso-Maki" FALSE "Suro-Maki" )
  214. if [[ $pytanie =~ "Futo-Maki" ]]; then
  215. odp2j="PRAWIDŁOWA ODPOWIEDŹ"
  216. jedzenie_wynik=$[jedzenie_wynik + 1]
  217. else
  218. odp2j="ZŁA ODPOWIEDŹ"
  219. fi
  220. jedzenie_panel
  221. else
  222. odpowiedz_udzielona
  223. jedzenie_panel
  224. fi
  225. ;;
  226. "${menu_pytania[2]}" )
  227. if [[ $odp3j =~ "BRAK" ]]; then
  228. pytanie=$(zenity --list --title $gra --text "Który z podanych rodzajów piwa należy do piw dolnej fermentacji?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Stout" FALSE "Porter" FALSE "Porter bałtycki" FALSE "IPA" )
  229. if [[ $pytanie =~ "Porter bałtycki" ]]; then
  230. odp3j="PRAWIDŁOWA ODPOWIEDŹ"
  231. jedzenie_wynik=$[jedzenie_wynik + 1]
  232. else
  233. odp3j="ZŁA ODPOWIEDŹ"
  234. fi
  235. echo "pytania"
  236. jedzenie_panel
  237. else
  238. odpowiedz_udzielona
  239. jedzenie_panel
  240. fi
  241. ;;
  242. esac
  243. }
  244. function przyroda_panel() {
  245. przyroda=$(zenity --list --height $rozmiarY --width $rozmiarX --title $gra --cancel-label "Menu" --text "\n\n\n" --column "Wybór pytania" "${menu_pytania[@]}")
  246. if [[ $? -eq 1 ]]; then
  247. echo "menu glowne"
  248. break
  249. fi
  250. case "$przyroda" in
  251. "${menu_pytania[0]}" )
  252. if [[ $odp1pp =~ "BRAK" ]]; then
  253. pytanie=$(zenity --list --title $gra --text "Jak nazywa się Madonna?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Kupa" FALSE "Dupa" )
  254. if [[ $pytanie =~ "Dupa" ]]; then
  255. odp1pp="PRAWIDŁOWA ODPOWIEDŹ"
  256. przyroda_wynik=$[przyroda_wynik + 1]
  257. else
  258. odp1pp="ZŁA ODPOWIEDŹ"
  259. fi
  260. przyroda_panel
  261. else
  262. odpowiedz_udzielona
  263. przyroda_panel
  264. fi
  265. ;;
  266. "${menu_pytania[1]}" )
  267. if [[ $odp2pp =~ "BRAK" ]]; then
  268. pytanie=$(zenity --list --title $gra --text "Jak nazywa się Madonna?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Kupa" FALSE "Dupa" )
  269. if [[ $pytanie =~ "Dupa" ]]; then
  270. odp2pp="PRAWIDŁOWA ODPOWIEDŹ"
  271. przyroda_wynik=$[przyroda_wynik + 1]
  272. else
  273. odp2pp="ZŁA ODPOWIEDŹ"
  274. fi
  275. przyroda_panel
  276. else
  277. odpowiedz_udzielona
  278. przyroda_panel
  279. fi
  280. ;;
  281. "${menu_pytania[2]}" )
  282. if [[ $odp3pp =~ "BRAK" ]]; then
  283. pytanie=$(zenity --list --title $gra --text "Jak nazywa się Madonna?\n\t\t $time" --cancel-label "Powrót" --radiolist --column "wybierz" --column " " FALSE "Kupa" FALSE "Dupa" )
  284. if [[ $pytanie =~ "Dupa" ]]; then
  285. odp3pp="PRAWIDŁOWA ODPOWIEDŹ"
  286. przyroda_wynik=$[przyroda_wynik + 1]
  287. else
  288. odp3pp="ZŁA ODPOWIEDŹ"
  289. fi
  290. echo "pytania"
  291. przyroda_panel
  292. else
  293. odpowiedz_udzielona
  294. przyroda_panel
  295. fi
  296. ;;
  297. esac
  298. }
  299. # wczytywanie imienia gracza
  300. imie=$(zenity --entry --title $gra --text "\n\n\nPodaj swoje imię:" --height 200)
  301. if test -z $imie
  302. then
  303. zenity --error --text "Nie zaakceptowano pustego imienia."
  304. exit
  305. fi
  306.  
  307. muzyka_wynik=0
  308. sport_wynik=0
  309. jedzenie_wynik=0
  310. przyroda_wynik=0
  311.  
  312. odp1="BRAK"
  313. odp2="BRAK"
  314. odp3="BRAK"
  315.  
  316. odp1s="BRAK"
  317. odp2s="BRAK"
  318. odp3s="BRAK"
  319.  
  320.  
  321. odp1j="BRAK"
  322. odp2j="BRAK"
  323. odp3j="BRAK"
  324.  
  325.  
  326. odp1p="BRAK"
  327. odp2p="BRAK"
  328. odp3p="BRAK"
  329.  
  330. odp1pp="BRAK"
  331. odp2pp="BRAK"
  332. odp3pp="BRAK"
  333.  
  334.  
  335. odp1g="BRAK"
  336. odp2g="BRAK"
  337. odp3g="BRAK"
  338.  
  339.  
  340.  
  341. # pętla główna
  342. while true; do
  343. # pętla w ramach menu głównego
  344. while true; do
  345.  
  346. # wyświetlenie menu głównego
  347. wyswietlanie_wyniku "glowny"
  348. opt=$(zenity --list --height $rozmiarY --width $rozmiarX --title=$gra --text="$informacja" --cancel-label "Wyjdź z gry" --ok-label "Wybierz opcję" --column="Kategorie" "${menu_kategorii[@]}")
  349. if [[ $? -eq 1 ]]; then
  350. echo "koniec gry"
  351. exit
  352. break
  353. fi
  354.  
  355. case "$opt" in
  356. "${menu_kategorii[0]}")
  357. muzyka_panel
  358. ;;
  359. "${menu_kategorii[1]}")
  360. sport_panel
  361. ;;
  362. "${menu_kategorii[2]}")
  363. jedzenie_panel
  364. ;;
  365. "${menu_kategorii[4]}")
  366. przyroda_panel
  367. ;;
  368. "${menu_kategorii[6]}")
  369. podsumowanie
  370. ;;
  371. esac
  372.  
  373.  
  374. done
  375. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement