R-Quiz

R-Quiz ist eine Software, die auf einer Internetseite passend erstellte Inhalte in interaktive Quizze umwandeln kann (Demo).

Version und Download

Aktuelle Version: 3.0 (2017/05/01) - rquiz-3.0.zip (184,2 KB)

Änderungen im Vergleich zur Vorversion (in Englischer Sprache): CHANGES

Features

R-Quiz steht unter der GNU Lesser General Public License (LGPL) und ist damit freie Software. Sie können mein R-Quiz für Ihre Zwecke uneingeschränkt verwenden, solange Sie es selbst nicht verkaufen. Allerdings ist es möglich, damit erstellte Übungsaufgaben kostenpflichtig anzubieten oder es auf Seiten einzusetzen, deren Inhalte erst nach Bezahlung erreichbar sind.

Quiz-Arten

R-Quiz kann zur Zeit Quizze in diesen Arten generieren:

  1. Zuordnungs-Quiz (Drag&Drop - entweder paarweise oder gruppenweise)
  2. Lückentext-Quiz (sowohl mit Drag&Drop als auch mit Eingabefeldern)
    Damit lassen sich nicht nur herkömmliche Lückentexte erstellen, sondern auchSortieraufgaben und sogar ein Bilderpuzzle.
  3. Memo-Quiz
  4. Multiple-Choice-Quiz
  5. Schüttelrätsel-Quiz (mit Eingabefeldern)
    Wörter werden buchstabenweise verwürfelt)
  6. Kreuzworträtsel
  7. Suchsel
  8. Wörterraten (Hangman)

Bis auf das Wörterraten-Quiz lassen sich alle Quizze für ein Lösen auf Papier sinnvoll aus dem Browser heraus ausdrucken.

Internationalisierung

R-Quiz unterstützt Beschriftungen und Hinweistexte in folgenden Sprachen:

  1. Deutsch (Demo)
  2. English (Demo)
  3. Français
  4. Italiano
  5. Latein
  6. Español
  7. Polaco

Integration

R-Quiz besteht im Wesentlichen aus einer JavaScript-Datei rquiz.js und einer passenden CSS-Datei rquiz.css. Damit es möglichst wenig Komplikationen gibt, sind die verwendeten Klassennamen mit Präfixen versehen.

Sie können eine zusätzliche JavaScript-Datei einbinden, die nach dem Vorbild von rquiz-uploader.js erstellt wurde, um von einem Besucher erreichte Werte an einen Webserver zu senden. Ein beispielhaftes PHP-Script rquiz-response.php liegt zur Demonstration bei. Sie können als Antwort an das Quiz eine simple Zahl senden, die als die zuletzt benötigte Anzahl an Versuchen gewertet und an den Besucher ausgegeben wird. Sie können aber auch selbst erstellte Textbausteine als Rückmeldung senden, die dann unverändert im Quiz angezeigt werden.

Script Loader

Wenn Sie auf Ihrer Seite einen Script-Loader einsetzen (z.B. in einer WikiMedia-Umgebung), dann bietet R-Quiz die Möglichkeit nachträglich (wenn das Ereignis DOMContentLoaded schon gefeuert wurde) die Initialisierung vorzunehmen. Dazu notieren Sie in Ihrem Scriptloader folgenden Code:

window.rQuizInit();

Die zugehörige CSS-Datei kann in einem solchen Fall von R-Quiz nicht selbst geladen werden. Darum muss sich dann der Script-Loader kümmern.

So wird's gemacht

R-Quiz sucht nach dem Initialisieren nach Elementen mit bestimmten Klassennamen. Findet es einen passenden, versucht es den Inhalt dieses Elements in ein Quiz umzuwandeln. Hat dieses Element ein lang-Attribut, so versucht das Quiz das darin enthaltene Sprachenkürzel als Spracheinstellung für das Quiz zu benutzen. Und so muss es aussehen:

Zuordnungs-Quiz

<div class="rquiz-matching" lang="en">
  <p>Anleitungstext...</p>
  <table>
    <tr>
      <td>Biene</td>
      <td><img src="biene.jpg" alt="Biene"></td>

    </tr>
  </table>

</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher

Anleitungstext...

BieneBiene

Anleitungstext...

BieneBiene

Wenn Sie mehrere Zeilen verwenden, gibt es mehr als nur ein Paar. Notieren Sie mehr als nur zwei Zellen in einer Tabellenzeile, wird das Quiz in den „Kategorienmodus“ schalten und den Inhalt der jeweils ersten Zelle als Kategorie-Bezeichnung verwenden:

<div class="rquiz-matching">
  <p>Anleitungstext...</p>
  <table>
    <tr>
      <td>Insekten</td>
      <td>Ameise</td>
      <td><img src="biene.jpg" alt="Biene"></td>

    </tr>
  </table>

</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher

Anleitungstext...

InsektenAmeiseBiene

Anleitungstext...

InsektenAmeiseBiene

Lückentext-Quiz

<div class="rquiz-gapfill">
  <p>Anleitungstext...</p>
  <p>Der Mensch ist des <strong>Menschen</strong> Freund. Die <em>Bienen</em> sammeln Honig.</p>
  <p>Eine <b>Biene | Hummel (<img src="biene.jpg" alt="Biene">)</b> ist ein Insekt.</p>
  <p>5 + 6 * 2 - 12 = <i>5()</i></p>
</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher

Anleitungstext...

Der Mensch ist des Menschen Freund. Die Bienen sammeln Honig.

Eine Biene | Hummel (Biene) ist ein Insekt.

5 + 6 * 2 - 12 = 5()

Anleitungstext...

Der Mensch ist des Menschen Freund. Die Bienen sammeln Honig.

Eine Biene | Hummel (Biene) ist ein Insekt.

5 + 6 * 2 - 12 = 5()

Wenn irgendein Textauszeichnungselement (<b>, <i>, <em> oder <strong>) verwendet wird, entsteht daraus ein Drag&Drop-Element. Steht innerhalb eines solchen Elements ein Klammernpaar, in welchem sinnvollerweise ein Lösungshinweis stehen sollte, so wird daraus kein Drag&Drop-Element, sondern ein Texteingabefeld. Man kann mehrere Lösungen für das Texteingabefeld mit dem Pipe-Symbol voneinander getrennt notieren.

Lückentext-Quiz als Bilderpuzzle

<div class="rquiz-gapfill">
  <table class="puzzle">
    <tr>
      <td><em><img alt="" src="...path/to/tile/image1-1..."></em></td>
      <td><em><img alt="" src="...path/to/tile/image1-2..."></em></td>
      <td><em><img alt="" src="...path/to/tile/image1-3..."></em></td>
    </tr>
  </table>
    <tr>
      <td><em><img alt="" src="...path/to/tile/image2-1..."></em></td>
      <td><em><img alt="" src="...path/to/tile/image2-2..."></em></td>
      <td><em><img alt="" src="...path/to/tile/image2-3..."></em></td>
    </tr>
  </table>
    <tr>
      <td><em><img alt="" src="...path/to/tile/image3-1..."></em></td>
      <td><em><img alt="" src="...path/to/tile/image3-2..."></em></td>
      <td><em><img alt="" src="...path/to/tile/image3-3..."></em></td>
    </tr>
  </table>
</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher

Memo-Quiz

<div class="rquiz-memo">
  <table>
    <tr>
      <td>Biene</td>
      <td><img src="biene.jpg" alt="Biene"></td>

    </tr>
    <tr>
      <td>Birne</td>
      <td><img src="birne.jpg" alt="Birne"></td>

    </tr>
  </table>

</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher
BieneBiene
BirneBirne
BieneBiene
BirneBirne

Auch bei diesem Quiz werden die Quiz-Inhalte aus einer Tabelle entnommen. Hat diese Tabelle zwei Spalten, so macht R-Quiz daraus Paare, also Kartensets mit zwei Karten. Bei mehr als zwei Spalten werden daraus Kartensets mit der Anzahl Karten wie die Tabelle Spalten hat.

Multiple-Choice-Quiz

<div class="rquiz-multichoice">
  <p>Welches Tier ist ein Säugetier?(!Hai)(Wal)(Känguru)(!Meise)(Maus)(!Biene)</p>
</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher

Welches Tier ist ein Säugetier? (!Hai)(Wal)(Känguru)(!Meise)(Maus)(!Biene)

Welches Tier ist ein Säugetier? (!Hai)(Wal)(Känguru)(!Meise)(Maus)(!Biene)

Das Quiz sucht beliebige Elemente, in denen Text mit Klammernpaaren steht. Der Teil vor dem ersten Klammernpaar wird als Fragestellung interpretiert und unverändert wieder angezeigt. Die Inhalte in den Klammernpaaren werden zu Buttons umgeformt, die man ein- und ausrasten kann (ähnlich wie eine Checkbox bedienbar). Ein vorangestelltes Ausrufezeichen innerhalb des Klammernpaares markiert den Inhalt als falsche Antwort.

Schüttelrätsel-Quiz

<div class="rquiz-wordjumble">
  <p>Froh zu sein bedarf es <strong>wenig</strong> und wer froh ist, ist ein <strong>König</strong></p>
</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher

Froh zu sein bedarf es wenig und wer froh ist, ist ein König.

Froh zu sein bedarf es wenig und wer froh ist, ist ein König.

Wenn irgendein Textauszeichnungselement (<b>, <i>, <em> oder <strong>) verwendet wird, entsteht daraus ein Eingabefeld, dem in Klammern ein verwürfeltes Wort als Lösungshinweis hinten angestellt wird.

Kreuzworträtsel

<div class="rquiz-crossword">
  <table>
    <tr>
      <td>Biene</td>
      <td>Insekt</td>

    </tr>
    <tr>
      <td>Birne</td>
      <td>Baumobst</td>

    </tr>
  </table>

</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher
BieneInsekt
BirneBaumobst
BieneInsekt
BirneBaumobst

Auch bei diesem Quiz werden die Quiz-Inhalte aus einer Tabelle entnommen. Dabei wird der Textinhalt der ersten Spalte das Lösungswort für das Gitter, der Inhalt der zweiten Spalte der Lösungshinweis.

Suchsel

<div class="rquiz-wordsearch">
  <table>
    <tr>
      <td>Biene</td>
      <td>Birne</td>

    </tr>
  </table>

</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher
BieneBirne
BieneBirne

Auch bei diesem Quiz werden die Quiz-Inhalte aus einer Tabelle entnommen. Dabei wird derTextinhalt einer jeden Tabellenzelle verwendet.

Wörterraten (Hangman)

<div class="rquiz-wordguess">
  <table>
    <tr>
      <td>Biene</td>
      <td>Birne</td>

    </tr>
  </table>

</div>

So macht sich der obige Code auf der Seite bemerkbar:
vorhernachher
BieneBirne
BieneBirne

Auch bei diesem Quiz werden die Quiz-Inhalte aus einer Tabelle entnommen. Dabei wird der Textinhalt einer jeden Tabellenzelle verwendet.

Feedback

Ich freue mich, wenn mein Script für jemanden nützlich ist. Daher sind E-Mails diesbezüglich immer willkommen. Auch für Verbesserungsvorschläge habe ich ein offenes Ohr, da ich auch ständig dazulerne und meine Scripte gerne besser und sicherer mache.