iQuiz

irssi quiz, v130627

Autor: wilk

Opis

Jest to skrypt quizowy napisany dla programu irssi. Obsługuje w obecnej postaci quizy klasyczne, czyli wyświetla pytania i oczekuje na wprowadzenie jednej, prawidłowej odpowiedzi oraz quizy typu mieszacz, gdzie należy ułożyć poprawną odpowiedź ze składających się na nią losowo pomieszanych liter. Skrypt iQuiz 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 biegiem czasu skrypt był rozbudowywany i uzyskał możliwość realizacji innych quizów.

Działanie

Quiz polega na wyświetleniu pytania i oczekiwaniu na podanie prawidłowej odpowiedzi. 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ą liczbę punktów (zazwyczaj 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). 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,
!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):

pyt Tresc pytania
odp prawidlowa odpowiedz
pyt Jak nazywa się przyrzad do pomiaru wartosci dzialajacej sily?
odp silomierz
pyt Podaj Mistrza Polski w pilce noznej w sezonie 2006/2007
odp Zaglebie Lubin

W Notatniku plik z pytaniami mógłby wyglądać np. tak:

Przykładowy plik z pytaniami.

Poza liniamy zaczynającymi się od pyt i odp w pliku nie powinno być żadnego innego tekstu.

• Format pytań i odpowiedzi (mieszacz):

1 haslo nr1
2 haslo_nr2
3 haslo numer 3
4 haslo nr 4

W kazdym wierszu ma być jedna odpowiedź poprzedzona kolejnym numerem.

W Notatniku plik z pytaniami o tematyce "rzeki" mógłby wyglądać np. tak:

Przykładowy plik z pytaniami do mieszacza.

Poza wierszami z numerem i treścią haseł (odpowiedzi) nie powinno być w pliku żadnych innych znaków.

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.


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 wczytujemy 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):

/set quiz_type 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 się 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:

/qdelay 10

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)
quiz_delay - opóźnienie między pytaniami w sekundach (domyślnie: 7)
quiz_anticheat_delay - ochrona przed floodem w sekundach (domyślnie: 3)
quiz_points_per_answer - ilość punktów przyznawanych za poprawną odpowiedź (domyślnie: 1)
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)

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 pliku tekstowego. Niektóre skrypty quizowe nie posiadają funkcji autoquizu i pytania oraz odpowiedzi należy wtedy wprowadzać podczas trwania zabawy ręcznie.