iQuiz

irssi quiz, v131021

Autor: wilk

Opis

Jest to skrypt quizowy napisany dla programu irssi. Obsługuje w obecnej postaci quizy klasyczne, czyli wyświetla pytanie i oczekuje na wprowadzenie jednej, prawidłowej odpowiedzi; quizy, w których należy ułożyć poprawną odpowiedź ze składających się na nią losowo pomieszanych liter oraz tryb quizów, w których na każde pytanie jest wiele odpowiedzi. Skrypt działa jedynie w formie autoquizu.

Historia

Skrypt powstał 23 maja 2010 roku w wyniku zapotrzebowania na skrypt quizowy funkcjonujący w popularnym kliencie IRC – irssi. W oficjalnym repozytorium skryptów dla tego programu nie było skryptów stricte quizowych. Początkowym założeniem projektu było przeniesienie podstawowych funkcjonalności jakie oferował skrypt dizzy, wraz z utrzymaniem kompatybilności co do formatu plików z pytaniami. Z czasem skrypt był rozbudowywany i uzyskał możliwość realizacji premier typu mieszacz (październik 2012) oraz familiada (październik 2013; w wersji bez drużyn).

Działanie

Quiz polega na wyświetleniu pytania i oczekiwaniu na podanie poprawnej odpowiedzi, zaś w trybie mieszacza wyświetlane są losowo pomieszane litery składające się na hasło, które jest jednocześnie odpowiedzią. Pierwsza osoba, która udzieli poprawnej odpowiedzi zdobywa stałą, określoną ilość punktów (zwykle jeden). W trakcie trwania pytania gracze mogą odpowiednim poleceniem poprosić o kolejną podpowiedź lub o powtórzenie pytania (w przypadku mieszacza, w domyślnej konfiguracji, powoduje to ponowne przemieszanie rozsypanki liter). W trybie familiady dla każdego pytania przygotowany jest zestaw odpowiedzi, runda gry dobiega końca gdy wszystkie odpowiedzi zostaną odgadnięte lub upłynie czas. W przeciwieństwie do oryginalnej familiady każdy gra tylko indywidualnie, bez przyłączania się do drużyny. Po wyczerpaniu się zestawu pytań quiz dobiega końca, a prowadzący może wyświetlić punktację wszystkich graczy.


Dla graczy

Komendy, które może używać każdy gracz znajdujący się na kanale podczas quizu:

!podp - wyświetlenie podpowiedzi (niedostępne w trybie familiady),
!przyp - ponowne wyświetlenie treści pytania lub hasła,
!ile - skrypt wysyła na kanał informację o liczbie punktów gracza, który wywołał komendę,
!ile [nick] - skrypt wysyła na kanał informację o liczbie punktów gracza o podanym nicku.

Polecenia wyświetlenia podpowiedzi i przypomnienia pytania są zabezpieczone przed floodem i oszukiwaniem, poprzez wprowadzenie opóźnienia przed ponowną możliwością ich użycia.


Dla autorów

• Format pytań i odpowiedzi (quiz klasyczny) w postaci przykładowego zestawu pytań w Notatniku:

Przykładowy plik z pytaniami.

Pytania poprzedzamy kluczem „pyt ”, zaś odpowiedzi „odp ” i umieszczamy naprzemiennie w pliku.

• Format pytań i odpowiedzi (mieszacz) w postaci przykładowego zestawu haseł w Notatniku:

Przykładowy plik z pytaniami do mieszacza.

W każdym wierszu ma być jedno hasło poprzedzone kolejną liczbą, począwszy od „1”.

• Format pytań i odpowiedzi (familiada) w postaci przykładowego zestawu pytań w Notatniku:

Przykładowy plik z pytaniami do mieszacza.

Pytania i zestawy odpowiedzi umieszczamy w pliku naprzemiennie. Odpowiedzi do poszczególnych pytań oddzielamy znakiem gwiazdki „*”.

Uwaga – skrypt przyjmuje także pliki bez wymaganego dla innych skryptów formatu, tj. „pyt”/„odp” w przypadku quizu klasycznego oraz numeracji linii w mieszaczu. Quiz familiadowy może posiadać dowolną ilość odpowiedzi.


Wgranie skryptu do irssi:

Usunięcie skryptu z irssi:

/script load quiz.pl

/script unload quiz.pl


Przykład typowej rozgrywki:

Skrypt należy umieścić w katalogu skryptów swojego irssi (jest to zwykle "~/.irssi/scripts"). W irssi wgrywamy go do pamięci poleceniem:

/script load quiz.pl

Jeśli mamy zamiar puścić quiz typu mieszacz, to należy ustawić odpowiednią zmienną (wartość 1: quiz klasyczny, 2: mieszacz, 3: familiada):

/qtype 2

Następnie uruchamiamy quiz na kanale #kanal korzystając z pliku z pytaniami o nazwie np. pytania.txt:

/qon #kanal pytania.txt

Po wyczerpaniu się pytań z pliku wyświetlamy punktację graczy:

/qstat

Po wyświetleniu wyników quiz kończymy komendą:

/qoff

W następnej kolejności (opcjonalnie) usuwamy skrypt z pamięci irssi:

/script unload quiz.pl


Dodatkowe polecenia:

Wyświetlenie pomocy skryptu – wszystkie polecenia i ustawienia z opisem:

/quiz

Ustawienie opóźnienia wyświetlania kolejnych pytań na np. 10 sekund (w trybie familiady wartość ta traktowana jest mnożona przez 3, czyli „/qdelay 10” ustawia 30 sekund):

/qdelay 10

Ustawienie długości trwania rundy na np. 120 sekund (tylko dla trybu familiadowego):

/qtime 120

Pominięcie bieżącego pytania:

/qskip

Wymuszenie wyświetlenia kolejnej podpowiedzi:

/qhint


Ustawienia skryptu (dla zaawansowanych quizowiczy):

Zmienne ustawiamy korzystając z poniższego polecenia:

/set zmienna wartość

quiz_type - rodzaj quizu (1: klasyczny, 2: mieszacz, 3: familiada)
quiz_delay - opóźnienie między pytaniami w sekundach (domyślnie: 7; familiada: x3)
quiz_round_time - czas trwania rundy w sekundach (domyślnie: 120; tylko familiada)
quiz_anticheat_delay - ochrona przed floodem w sekundach (domyślnie: 3; 0 - wyłączona)
quiz_points_per_answer - ilość punktów przyznawanych za poprawną odpowiedź (domyślnie: 1)
quiz_progressive_points - czy trudniejsze odpowiedzi są lepiej punktowane? (domyślnie: tak; tylko familiada — by miało to sens należy ułożyć odpowiedzi w pliku w porządku od najtrudniejszej do najłatwiejszej)
quiz_random_hints - czy litery w podpowiedziach odsłaniać losowo? (domyślnie: tak)
quiz_show_first_hint - czy wyświetlać pierwszą podpowiedź razem z pytaniem? (domyślnie: nie)
quiz_first_hint_dots - czy pierwsza podpowiedź to tylko kropki? (domyślnie: tak)
quiz_mix_on_remind - czy mieszać litery przy każdym przypomnieniu? (domyślnie: tak; tylko mieszacz)
quiz_cmd_hint - czy polecenie !podp jest aktywne? (domyślnie: tak)
quiz_cmd_remind - czy polecenie !przyp jest aktywne? (domyślnie: tak)

Kliknij by wejść na podstronę dotyczącą jeszcze starszej wersji skryptu iQuiz

Słowniczek pojęć:

Autoquiz
Quiz, który działa w sposób automatyczny. Polega to na tym, że zestawy pytań i odpowiedzi pobierane są przez skrypt quizowy automatycznie ze wskazanego, wcześniej przygotowanego pliku tekstowego. Niektóre (zwłaszcza starsze) skrypty quizowe nie posiadają funkcji autoquizu, wtedy pytania oraz odpowiedzi osoba prowadząca quiz musi wprowadzać ręcznie, na bieżąco.