diff --git a/application.js b/application.js index 724c8fe..d734ff7 100644 --- a/application.js +++ b/application.js @@ -1,5 +1,176 @@ -var pages; +var levels = [500, 1000, 2000, 5000, 10000, 20000, 40000, 75000, 125000, 250000, 500000, 1000000]; +var currLevel; +var points; +var usedQuestions; +var numberOfQuestions; +var isLost; -$(document).ready(function() { - pages = UIkit.switcher('#pages'); -}); +(function () { + numberOfQuestions = questions.length; + if (numberOfQuestions < 12) { + alert("You need at least 12 questions!"); + } +})(); + +function loadHomeScreen() { + $('.intro-section').show(); + $('.question-container').hide(); + $(".next-button").text("Nastepne pytanie"); + $(".level-" + currLevel).removeClass("uk-label-warning"); + for (var i = 0; i < currLevel + 1; i++) { + $(".level-" + i).removeClass("uk-label-success"); + } + $(".level-0").addClass("uk-label-warning"); + setHelpers('disabled'); +} + +function startGame() { + points = 0; + currLevel = 0; + isLost = false; + usedQuestions = []; + $('.intro-section').hide(); + $('.question-container').show(); + loadQuestion(); + setHelpers('start'); +} + +function endGame() { + $("#end-game span").text(countScore()); + UIkit.modal("#end-game").show(); +} + +function checkAnswer(event) { + $(event).css("border", "5px solid gold"); + var isCorrect = $(event).attr("data-correct"); + if (isCorrect === 'false') { + isLost = true; + $(".next-button").text("Zobacz wygraną"); + $(event).css("background-color", '#d32c46'); + for (var i = 0; i < 4; i++) { + var isCorrect = $(".answer-" + i).attr("data-correct"); + if (isCorrect !== 'false') { + $(".answer-" + i).css("background-color", '#32d296'); + } + $(".answer-" + i).attr("disabled", true); + } + } else { + $(event).css("background-color", '#32d296'); + $(".level-" + currLevel).removeClass("uk-label-warning"); + $(".level-" + currLevel).addClass("uk-label-success"); + for (var i = 0; i < 4; i++) { + $(".answer-" + i).attr("disabled", true); + } + currLevel++; + } + $(".next-button").show(); +} + +function nextQuestion() { + if (isLost) { + endGame(); + } else if (currLevel < 12) { + loadQuestion(); + } else { + UIkit.modal("#won-milion").show(); + } + $(".next-button").hide(); +} + +function loadQuestion() { + $(".level-" + currLevel).addClass("uk-label-warning"); + var index = chooseQuestion(); + var question = questions[index]; + $(".question-text > h2").text(question.text); + var correctAnswer = question.answers[0]; + var answers = question.answers; + shuffle(answers); + + for (var i = 0; i < 4; i++) { + var answer = question.answers[i]; + var isCorrect = (correctAnswer === answer); + var letter = String.fromCharCode(i + 65) + ") "; + $('.answer-' + i).text(letter + answer); + $('.answer-' + i).attr("data-correct", isCorrect); + $('.answer-' + i).css("background-color", ""); + $('.answer-' + i).css("border", ""); + $('.answer-' + i).attr("disabled", false); + } +} + +function countScore() { + if (currLevel < 2) return 0; + else if (currLevel < 6) return levels[1]; + else if (currLevel < 12) return levels[6]; + else return levels[11]; +} + +function chooseQuestion() { + var index = Math.floor(Math.random() * numberOfQuestions); + while (usedQuestions.indexOf(index) !== -1) { + index = Math.floor(Math.random() * numberOfQuestions); + } + usedQuestions.push(index); + return index; +} + +function shuffle(array) { + for (var i = array.length - 1; i > 0; i--) { + var j = Math.floor(Math.random() * (i + 1)); + var x = array[i]; + array[i] = array[j]; + array[j] = x; + } +} + +function fiftyFifty() { + $("#helper-fifty").addClass("custom-disabled"); + var choosen = []; + while (choosen.length < 2) { + var number = Math.floor(Math.random() * 4); + if (choosen.indexOf(number) < 0) { + var isCorrect = $('.answer-' + number).attr("data-correct"); + if (isCorrect !== 'true') { + $('.answer-' + number).attr("disabled", true); + choosen.push(number); + } + } + } +} + +function askAudience() { + $("#helper-audience").addClass("custom-disabled"); + countdown(120); +} + +function callFriend() { + $("#helper-phone").addClass("custom-disabled"); + countdown(60); +} + +function countdown(time) { + $("#timeleft").text(time); + $("#timer").show(); + var downloadTimer = setInterval(function () { + time--; + $("#timeleft").text(time); + if (time <= 0) { + clearInterval(downloadTimer); + UIkit.modal("#end-of-time").show(); + $('#timer').hide(); + } + }, 1000); +} + +function setHelpers(val){ + if (val === 'disabled') { + $("#helper-audience").addClass("custom-disabled"); + $("#helper-fifty").addClass("custom-disabled"); + $("#helper-phone").addClass("custom-disabled"); + }else { + $("#helper-audience").removeClass("custom-disabled"); + $("#helper-fifty").removeClass("custom-disabled"); + $("#helper-phone").removeClass("custom-disabled"); + } + +} \ No newline at end of file diff --git a/miliarderzy.css b/miliarderzy.css new file mode 100644 index 0000000..aee9c7e --- /dev/null +++ b/miliarderzy.css @@ -0,0 +1,17 @@ +.question-container { + display: none; +} + +.next-button { + display: none; +} + +#timer { + display: none; +} + +.custom-disabled { + background-color: #908d8d; + color: white; + pointer-events: none; +} \ No newline at end of file diff --git a/miliarderzy.html b/miliarderzy.html index 9a330a0..df686c4 100644 --- a/miliarderzy.html +++ b/miliarderzy.html @@ -5,11 +5,76 @@ KSI Miliarderzy + + +
+
+

Telefon do przyjaciela

+ Tylko raz w czasie gry możesz zadzwonić do przyjaciela z prośbą o pomoc. + Po nawiązaniu połączenia uruchomiony zostanie stoper, który odmierzy dokładnie 60 sek. + Po tym czasie połączenie musi zostać zakończone. Czy chcesz zadzwonić teraz? +

+ + +

+
+
+
+
+

Pytanie do publiczności

+ Po wybraniu tego koła zegar zacznie odliczać 120 sekund, w czasie których możesz zapytać dowolną liczbę osób o + prawidłową odpowiedź. + Niedozwolone jest wyszukiwanie odpowiedzi w internecie. Koło można wykorzystać tylko raz w czasie gry. + Czy chcesz wykorzystać je teraz? +

+ + +

+
+
+
+
+

50 na 50

+ Po wybraniu tego koła system odrzuci 2 błędne odpowiedzi pozostawiając 1 dobra i 1 złą. + Opcję tę można wykorzystać tylko 1 raz w czasie gry. Czy chcesz wykorzystać koło? +

+ + +

+
+
+
+
+ +

Gratulacje!

+ Właśnie dołączyłeś do elitarnego grona KSIowych Milionerów - gratulujemy! + Odbierz swoją nagrodę u przedstawiciela Koła! +
+
+
+
+ +

Wynik

+ Kończysz grę z wynikiem 10 zł +
+
+
+
+ +

Koniec czasu!

+
+
- +
+
+

+ Czy chcesz rozpocząć swoją walkę o milion? +

+ +
+
+
+
+

+ Lorem ipsum dolor sit amet? +

+
+ +
+ + + + +
+ + + +
+
+ diff --git a/questions.js b/questions.js index 54b845f..85247c7 100644 --- a/questions.js +++ b/questions.js @@ -1,137 +1,139 @@ -var pytania = [ - //uwaga: pierwsza odpowiedź jest prawidłowa, randomizcja w czasie runtime! +var questions = [ { - pytanie: "Ile bajtów ma kilobajt?", odpowiedzi: ["1024", "1000", "miliard", "8"] + text: "Ile bajtów ma kilobajt?", + answers: ["1024", "1000", "miliard", "8"] }, { - pytanie: "Ile bajtów ma megabajt?", odpowiedzi: ["1048576", "miliard", "1024", "1000"] + text: "Ile bajtów ma megabajt?", + answers: ["1048576", "miliard", "1024", "1000"] }, { - pytanie: "Ile bajtów ma bit?", odpowiedzi: ["1/8", "8", "1024", "128"] + text: "Ile bajtów ma bit?", + answers: ["1/8", "8", "1024", "128"] }, { - pytanie: "Co to jest ZIP?", - odpowiedzi: ["format kompresji", "format obrazka", "format dokumentu", "plik wykonywalny"] + text: "Co to jest ZIP?", + answers: ["format kompresji", "format obrazka", "format dokumentu", "plik wykonywalny"] }, - //{pytanie: "Ile lat ma KSI?", odpowiedzi: ["41","16","100","40"]}, + //{text: "Ile lat ma KSI?", answers: ["41","16","100","40"]}, { - pytanie: "Jakim skrótem klawiaturowym możesz cofnąć ostatnią zmianę?", - odpowiedzi: ["Ctrl+Z", "Ctrl+Y", "Ctrl+B", "Ctrl+Alt+Del"] + text: "Jakim skrótem klawiaturowym możesz cofnąć ostatnią zmianę?", + answers: ["Ctrl+Z", "Ctrl+Y", "Ctrl+B", "Ctrl+Alt+Del"] }, { - pytanie: "Jakim poleceniem można wydrukować określony komunikat na ekran w konsoli linuksowej?", - odpowiedzi: ["echo", "ls", "dir", "send"] + text: "Jakim poleceniem można wydrukować określony komunikat na ekran w konsoli linuksowej?", + answers: ["echo", "ls", "dir", "send"] }, { - pytanie: "Kiedy odbywa się 13. edycja Studenckiego Festiwalu Informatycznego?", - odpowiedzi: ["16-18.03", "15-20.04", "8-10.04", "1-3.03"] + text: "Kiedy odbywa się 13. edycja Studenckiego Festiwalu Informatycznego?", + answers: ["16-18.03", "15-20.04", "8-10.04", "1-3.03"] }, { - pytanie: "Które z poniższych NIE jest przeglądarką?", odpowiedzi: ["Word", "Chrome", "Frefox", "Safari"] + text: "Które z poniższych NIE jest przeglądarką?", answers: ["Word", "Chrome", "Frefox", "Safari"] }, { - pytanie: "Kto jest autorem jądra systemu operacyjnego Linux?", - odpowiedzi: ["Linus Torvalds", "Richard M. Stallman", "Anthony Linux", "Bill Gates"] + text: "Kto jest autorem jądra systemu operacyjnego Linux?", + answers: ["Linus Torvalds", "Richard M. Stallman", "Anthony Linux", "Bill Gates"] }, { - pytanie: "Który z poniższych nie jest systemem operacyjnym?", odpowiedzi: ["Arduino", "FreeBSD", "OS X", "DOS"] + text: "Który z poniższych nie jest systemem operacyjnym?", answers: ["Arduino", "FreeBSD", "OS X", "DOS"] }, { - pytanie: "Jaki test musiałaby zdać maszyna, aby można było uznać, że myśli?", - odpowiedzi: ["Turinga", "McDonalda", "Assena", "Ahera"] + text: "Jaki test musiałaby zdać maszyna, aby można było uznać, że myśli?", + answers: ["Turinga", "McDonalda", "Assena", "Ahera"] }, { - pytanie: "Do czego służy CAPTCHA?", - odpowiedzi: ["do potwierdzenia że informację wysyła człowiek", "do szyfrowania wiadomości", "do tworzenia testów automatycznych", "do przeprowadzania wyborów internetowych"] + text: "Do czego służy CAPTCHA?", + answers: ["do potwierdzenia że informację wysyła człowiek", "do szyfrowania wiadomości", "do tworzenia testów automatycznych", "do przeprowadzania wyborów internetowych"] }, { - pytanie: "Który komputer jest najstarszy?", odpowiedzi: ["Eniac", "Amiga", "Odra", "Macintosh"] + text: "Który komputer jest najstarszy?", answers: ["Eniac", "Amiga", "Odra", "Macintosh"] }, { - pytanie: "Który z poniższych programów NIE służy do tworzenia grafiki?", - odpowiedzi: ["Wolfram Alpha", "MS Paint", "GIMP", "Photoshop"] + text: "Który z poniższych programów NIE służy do tworzenia grafiki?", + answers: ["Wolfram Alpha", "MS Paint", "GIMP", "Photoshop"] }, - //{pytanie: "Jak nazywamy łamanie zabezpieczeń sieci telefonicznych, najczęściej celem uzyskania połączenia darmowego lub tańszego niż tradycyjne?", odpowiedzi: ["phreaking","hacking","threating","handling"]}, + //{text: "Jak nazywamy łamanie zabezpieczeń sieci telefonicznych, najczęściej celem uzyskania połączenia darmowego lub tańszego niż tradycyjne?", answers: ["phreaking","hacking","threating","handling"]}, { - pytanie: "Pod jakim adresem mieści się Wydział Matematyki i Informatyki UJ?", - odpowiedzi: ["Łojasiewicza 6", "Norymberska 12", "Ruczajowa 5", "Gołębia 23"] + text: "Pod jakim adresem mieści się Wydział Matematyki i Informatyki UJ?", + answers: ["Łojasiewicza 6", "Norymberska 12", "Ruczajowa 5", "Gołębia 23"] }, { - pytanie: "Który adres IP jest nieprawidłowy?", - odpowiedzi: ["192.268.1.201", "127.0.0.1", "::1", "149.156.65.204"] + text: "Który adres IP jest nieprawidłowy?", + answers: ["192.268.1.201", "127.0.0.1", "::1", "149.156.65.204"] }, { - pytanie: "Jak nazywani są hakerzy działający zupełnie legalnie lub też starający się nie wyrządzać szkód?", - odpowiedzi: ["whitehat", "redhat", "blackhat", "Bonzo"] + text: "Jak nazywani są hakerzy działający zupełnie legalnie lub też starający się nie wyrządzać szkód?", + answers: ["whitehat", "redhat", "blackhat", "Bonzo"] }, { - pytanie: "Który kabel służy do połączeń sieciowych?", odpowiedzi: ["skrętka", "molex", "SATA", "DVI"] + text: "Który kabel służy do połączeń sieciowych?", answers: ["skrętka", "molex", "SATA", "DVI"] }, { - pytanie: "Które z poniższych NIE służy do połączania dysków?", odpowiedzi: ["MOLEX", "iSCSI", "SATA", "USB"] + text: "Które z poniższych NIE służy do połączania dysków?", answers: ["MOLEX", "iSCSI", "SATA", "USB"] }, { - pytanie: "Jak nazwyał się pierwszy polski Internet?", odpowiedzi: ["NASK", "Odra", "CERT", "DNS"] + text: "Jak nazywał się pierwszy polski Internet?", answers: ["NASK", "Odra", "CERT", "DNS"] }, { - pytanie: "Co odpowiada za zamianę nazw domenowych (np. google.pl) na adresy IP", - odpowiedzi: ["DNS", "DHCP", "ARP", "TCP/IP"] + text: "Co odpowiada za zamianę nazw domenowych (np. google.pl) na adresy IP", + answers: ["DNS", "DHCP", "ARP", "TCP/IP"] }, - //{pytanie: "Co robi klawisz SysRq w Linuksie?", odpowiedzi: ["zapewnia dostęp do debugera jądra","nic - był wykozrsytywany tylko w DOSie","przyspiesza procesor","służy do blokowania ekranu"]}, - //{pytanie: "12 Ile bajtów ma bit?", odpowiedzi: ["1/8","8","1024","128"]},//pytań nie może być mniej jak 12!!! + //{text: "Co robi klawisz SysRq w Linuksie?", answers: ["zapewnia dostęp do debugera jądra","nic - był wykozrsytywany tylko w DOSie","przyspiesza procesor","służy do blokowania ekranu"]}, + //{text: "12 Ile bajtów ma bit?", answers: ["1/8","8","1024","128"]},//pytań nie może być mniej jak 12!!! { - pytanie: "Ile porównań potrzeba, aby posortować ciąg 1000 elementów? Wybierz najmniejszą wystarczającą liczbę", - odpowiedzi: ["10000", "10", "1000", "100000"] + text: "Ile porównań potrzeba, aby posortować ciąg 1000 elementów? Wybierz najmniejszą wystarczającą liczbę", + answers: ["10000", "10", "1000", "100000"] }, { - pytanie: "Jaka jest najpopularniejsza architektura procesorów komputerowych?", - odpowiedzi: ["x86", "sparc", "powerpc", "avr"] + text: "Jaka jest najpopularniejsza architektura procesorów komputerowych?", + answers: ["x86", "sparc", "powerpc", "avr"] }, { - pytanie: "Kto jest twórcą najpopularniejszej architektury komputerowej?", - odpowiedzi: ["John von Neumann", "Alan Turing", "Albert Einstein", "Linus Torvalds"] + text: "Kto jest twórcą najpopularniejszej architektury komputerowej?", + answers: ["John von Neumann", "Alan Turing", "Albert Einstein", "Linus Torvalds"] }, { - pytanie: "Ile okładek książek wystarczy przeczytać, aby znaleźć określoną pozycję na półce 1000 ułożonych alfabetycznie książek?", - odpowiedzi: ["10", "5", "50", "100"] + text: "Ile okładek książek wystarczy przeczytać, aby znaleźć określoną pozycję na półce 1000 ułożonych alfabetycznie książek?", + answers: ["10", "5", "50", "100"] }, { - pytanie: "Co to jest Maszyna Turinga?", - odpowiedzi: ["Teroretyczny model obliczeń", "Maszyna rozszyfrowująca kod enigmy", "komputer zaprojektowany przez Alana Turinga", "algorytm wyszukiwania słów w tekście"] + text: "Co to jest Maszyna Turinga?", + answers: ["Teroretyczny model obliczeń", "Maszyna rozszyfrowująca kod enigmy", "komputer zaprojektowany przez Alana Turinga", "algorytm wyszukiwania słów w tekście"] }, { - pytanie: "Co to jest SQL?", - odpowiedzi: ["Język zapytań do baz danych", "System do przechowywania informacji", "Język do tworzenia stron internetowych", "Program do tworzenia raportów finansowych"] + text: "Co to jest SQL?", + answers: ["Język zapytań do baz danych", "System do przechowywania informacji", "Język do tworzenia stron internetowych", "Program do tworzenia raportów finansowych"] }, { - pytanie: "Który z poniższych nie jest językiem programowania?", odpowiedzi: ["XML", "C++", "Java", "Haskel"] + text: "Który z poniższych nie jest językiem programowania?", answers: ["XML", "C++", "Java", "Haskel"] }, { - pytanie: "Który z poniższych systemów operacyjnych powstał jako powierszy?", - odpowiedzi: ["Unix", "Windows 95", "Linux", "MsDOS"] + text: "Który z poniższych systemów operacyjnych powstał jako pierwszy?", + answers: ["Unix", "Windows 95", "Linux", "MsDOS"] }, { - pytanie: "Jaka jest pojemność płyty CD?", odpowiedzi: ["700MB", "4,7GB", "50GB", "500kB"] + text: "Jaka jest pojemność płyty CD?", answers: ["700MB", "4,7GB", "50GB", "500kB"] }, { - pytanie: "Którym z kabli nie podłączymy monitora?", odpowiedzi: ["SAS", "HDMI", "DisplayPort", "VGA"] + text: "Którym z kabli nie podłączymy monitora?", answers: ["SAS", "HDMI", "DisplayPort", "VGA"] }, { - pytanie: "Które z poniższych słów jest nazwą języka programowania?", - odpowiedzi: ["Python", "Anaconda", "Cobra", "Boa"] + text: "Które z poniższych słów jest nazwą języka programowania?", + answers: ["Python", "Anaconda", "Cobra", "Boa"] }, { - pytanie: "Liczba 81 w systemie szesnastkowym to", odpowiedzi: ["51", "1010001", "121", "3E"] + text: "Liczba 81 w systemie szesnastkowym to", answers: ["51", "1010001", "121", "3E"] }, { - pytanie: "Które z protokołów służy do wysyłania poczty email?", odpowiedzi: ["smtp", "pop3", "ftp", "imap"] + text: "Które z protokołów służy do wysyłania poczty email?", answers: ["smtp", "pop3", "ftp", "imap"] }, { - pytanie: "Czym w informatyce jest demon (daemon)?", - odpowiedzi: ["proces pracujacy w tle", "rodzaj wirusa komputerowego", "błędny program zachowywujący się jak nawiedzony", "typ protokołu sieciowego"] + text: "Czym w informatyce jest demon (daemon)?", + answers: ["proces pracujacy w tle", "rodzaj wirusa komputerowego", "błędny program zachowywujący się jak nawiedzony", "typ protokołu sieciowego"] }, { - pytanie: "Używanie której technologii NIE poprawi naszego bezpieczeństwa w internecie?", - odpowiedzi: ["HTTP", "VPN", "TLS", "SFTP"] + text: "Używanie której technologii NIE poprawi naszego bezpieczeństwa w internecie?", + answers: ["HTTP", "VPN", "TLS", "SFTP"] } ]; diff --git a/vendor/uikit-icons.min.js b/vendor/uikit-icons.min.js new file mode 100644 index 0000000..25d3e6b --- /dev/null +++ b/vendor/uikit-icons.min.js @@ -0,0 +1,3 @@ +/*! UIkit 3.0.0-beta.38 | http://www.getuikit.com | (c) 2014 - 2017 YOOtheme | MIT License */ + +!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define("uikiticons",i):t.UIkitIcons=i()}(this,function(){"use strict";var t={album:' ',ban:' ',behance:' ',bell:' ',bold:' ',bolt:' ',bookmark:' ',calendar:' ',camera:' ',cart:' ',check:' ',clock:' ',close:' ',code:' ',cog:' ',comment:' ',commenting:' ',comments:' ',copy:' ',database:' ',desktop:' ',download:' ',dribbble:' ',expand:' ',facebook:' ',file:' ',flickr:' ',folder:' ',forward:' ',foursquare:' ',future:' ',github:' ',gitter:' ',google:' ',grid:' ',happy:' ',hashtag:' ',heart:' ',history:' ',home:' ',image:' ',info:' ',instagram:' ',italic:' ',joomla:' ',laptop:' ',lifesaver:' ',link:' ',linkedin:' ',list:' ',location:' ',lock:' ',mail:' ',menu:' ',minus:' ',more:' ',move:' ',nut:' ',pagekit:' ',pencil:' ',phone:' ',pinterest:' ',play:' ',plus:' ',pull:' ',push:' ',question:' ',receiver:' ',refresh:' ',reply:' ',rss:' ',search:' ',server:' ',settings:' ',shrink:' ',social:' ',soundcloud:' ',star:' ',strikethrough:' ',table:' ',tablet:' ',tag:' ',thumbnails:' ',trash:' ',tripadvisor:' ',tumblr:' ',tv:' ',twitter:' ',uikit:' ',unlock:' ',upload:' ',user:' ',users:' ',vimeo:' ',warning:' ',whatsapp:' ',wordpress:' ',world:' ',xing:' ',yelp:' ',youtube:' ',"500px":' ',"arrow-down":' ',"arrow-left":' ',"arrow-right":' ',"arrow-up":' ',"chevron-down":' ',"chevron-left":' ',"chevron-right":' ',"chevron-up":' ',"cloud-download":' ',"cloud-upload":' ',"credit-card":' ',"file-edit":' ',"git-branch":' ',"git-fork":' ',"github-alt":' ',"google-plus":' ',"minus-circle":' ',"more-vertical":' ',"paint-bucket":' ',"phone-landscape":' ',"play-circle":' ',"plus-circle":' ',"quote-right":' ',"sign-in":' ',"sign-out":' ',"tablet-landscape":' ',"triangle-down":' ',"triangle-left":' ',"triangle-right":' ',"triangle-up":' ',"video-camera":' '};function i(e){i.installed||e.icon.add(t)}return"undefined"!=typeof window&&window.UIkit&&window.UIkit.use(i),i}); \ No newline at end of file