Zum Inhalt springen

[VB 6.0] Wer wird Millionär - Joker


Smilla

Empfohlene Beiträge

Hmm das ist ein ganz schöner Brocken...

Das Einfachste wäre natürlich das komplett Zufallsbedingt zu machen, dadurch würden diese beiden Joker aber ihren Sinn verlieren weil ja dann einfach nur der PC statt dem Spieler raten würde.

Eine andere Möglichkeit hängt davon ab wie du die Fragen abgelegt hat. Wenn diese in bestimmte Kategorieen unterteilt sind könntest du den Spieler am Anfang drei Kategorieen auswählen lassen in denen jeweils einer seiner Telefonjoker seine Stärke hat.

Kommt jetzt eine Frage und der Spieler wählt seinen Telefonjoker muss er einen der drei zuvor gewählten aussuchen der dann angerufen wird.

Dann ermittelst du anhand eines Zufallswertes ob der Joker die Antwort kennt, wobei wenn der Joker in dem Themengebiet der Frage seine Stärke hat du einen Bonus auf den Zufallswert draufrechnest um die Chance zu erhöhen das er dieAntwort kennt.

Für den Puplikumsjoker könntest du dann ähnlich vorgehen. Du sagt z.B. das immer 100 Leute im Publikum sitzen und jeder Person weißt du am Anfang eine zufällige Stärke in einem Themengebiet zu. Wenn dann der Publikumsjoker gewählt wird ermittelst du für jede dieser 100 Personen genau wie bei dem Telefonjoker ob sie die Antwort weiß. Wenn sie die Antwort nicht weiß dann kannst du ja eine zufällige andere Antwort nehmen.

Evtl. könnte man in die Berechnung ob eine "Person" eine Antwort weiß noch einen Schwierigkeitsgrad einfließen lassen den man bei jeder Frage hinterlegt. Dadurch könnte man vermeiden das bei ganz einfachen Allgemeinfragen niemand die Antwort weiß weil der Zufallswert immer ungünstig ausgefallen ist...

Irgendwie raucht mir jetzt der Kopf :beagolisc

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für eure Antworten! :)

Ich schreib mal kurz hier rein wie ich es jetzt gelöst habe. Vielleicht interessiert es ja jemand.

Also der Publikumsjoker funktioniert bei mir folgendermaßen:

Zu erst wird per Zufall entschieden ob das Publikum recht hat oder nicht.

Dann werden 4 Zufallszahlen erzeugt die zusammen 100 ergeben. Das sind dann die einzelnen Prozentsätze. Ich bestimmte dann den Maximalwert der Zahlen. Wenn das Publikum recht hat, bekommt die Richtige Antwort den Maximalwert. Die Restlichen Werte werden auf die falschen Antworten verteilt. Darstellen tu ich das in einem kleinen Formular das aufgeht wenn man auf den Publikumsjoker klickt. Ich habe 4 rechteckige Shapes in verschiedenen Farben genommen, je nach größe der Zahl sind die Shapes unterschiedlich groß! Sieht aus wie echt ;)

Telefonjoker:

Es öffnet sich ein Formular, dort kann man aus 3 vorgegebenen Personen (bei mir sinds Michael Ballack, Jürgen Klinsmann und Brad Pitt ;) ) wählen welche man "anrufen" möchte. Per Zufall wird entschieden welche Antwort die Person gibt. Es öffnet sich ein weiteres Formular mit einer Sprechblase in der dann in Textform die Antwort ausgegeben wird.

In Planung ist noch Ton und Sprachausgabe! ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zu erst wird per Zufall entschieden ob das Publikum recht hat oder nicht.

Ich weiss nicht wie Du es realisiert hast, ich würde es abhängig von der Schwierigkeitsstufe der Frage abhängig machen: Bei leichten Fragen sollte die Wahrscheinlichkeit der richtigen Antwort nahe 100% liegen, bei der 1. Mio € Frage würde ich nahe an 50% gehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe den Schwierigkeitsgrad der Fragen außer Acht gelassen... Wobei das was du sagst klingt gut! ;)

In meiner Accessdatenbank wo die Fragen drin sind sind diese auch in 5 Schwierigkeitsstufen eingeteilt. (Es gibt ein Feld in dem die Zahl der Schwierigkeitsstufe drin steht).

Nur mein Problem ist, ich generiere am Anfang eine Zufallszahl, und dann hole ich mir mit einem Recordset den Eintrag aus der Datenbank dessen ID die Zufallszahl hat. Soweit kein Problem. Nur wie berücksichtige ich nun noch den Schwierigkeitsgrad? Ich kann ja keine 2 Where Bedingungen an den SQL String binden... Idee?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo, ich verstehe leider nicht Dein Vorgehen.

2 WHERE Statements kannst du entweder mit einer verschachtelten SQL Anweisung oder mit AND Verknüpfen WHERE A='bla' AND B='blubb'

Vieleicht zu meinem imaginären Datenmodell ;)

Ich hätte bei mir im Table u.a.

- Die Frage

- 4 Antworten (Die 1. Antwort ist die richtige, angezeigt im Programm werden sie zufällig)

- Die Schwierigkeitsstufe

Wie gesagt, anzeigen würde ich die Antworten zufällig. Wenn jetzt der Telefonjoker gezogen wird, würde ich zuerst nach dem Schwierigkeitsgrad der Frage schauen. Nehmen wir mal an, es ist der höchste: Wenn die Rückgabe-Zufallszahl zwischen 0 und 999 liegt, würde ich beim höchsten Schwierigkeitsgrad die richtige Antwort zeigen, wenn sich die Zahl zwischen 0 und 600 befindet, also in ca. 60% der Fälle.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das mit den Kategorien lässt sich auch, allerdings mit etwas mehr Aufwand, programmieren:

Du hast zu jeder Frage eine Kategorie. Sagen wir mal es gibt 10 Kategorien von Sport über Pflanzen, Showbiz bis hin zu Politik. Alle natürlich in einem separatem Table ;)

Beim Spielbegin wählst du aus 10 Personen für den Telefonjoken aus. Jeder dieser Personen ist Experte in einer (oder zwei) Kategorien.

Wenn nun eine Frage aus z.B. der Politik kommt und Du hast glücklicherweise zu Begin einen Experten-Telfefon-Joker aus dem Politik dabei, so würde ich die Wahrscheinlichkeit, mit der die richtige Frage beim Telefon-Joker angezeigt wird um, sagen wir mal 20%, erhöhen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Alle natürlich in einem separatem Table ;)

Warum das? Die Kategorie muss doch nur ein weiteres Feld in der Tabelle sein.

Für jede Kategorie eine eigene Tabelle zu machen erzeugt doch nur unnötige Tabellen und joins wenn man die aktuelle Frage auswählt.

Außerdem erschwert es das hinzufügen weiterer Kategorieen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Warum das?

Nicht für jede Kategorie ein Table, für die Kategorien ein Table (3 NF):

Table Category:

Cat_ID (PK); Cat_Name

Table Questions:

... Cat_ID (FK)

Ist ne n:1 Relation (Mehrere Fragen können einer Kategorie zugeordnet sein)

Table PhoneJokers

... Cat_ID (FK)

Zu unterscheiden wäre

- Eine Person kann in einer Kategorie Experte sein

- Eine Person kann in ein oder mehreren Kategorien Experte sein

- Mehrere Personen können in einer Kategorie Experte sein

- Mehrere Personen können in mehreren Kategorien Experte sein

Würde man die letzte Frage mit einer bestimmten Kategorie löschen, so würde auch die Kategorie gelöscht.

Bei jeder neuen Frage müsste der Kategorie-Name als Text eingegeben werden. Bei meiner Version genügt eine Combobox mit allen Einträgen des Cat-Table.

Sicherlich ist performance ein Vorteil von Redundanz, ich denke allerdings nicht, dass in diesem Rahmen, dass Performanz kritisch ist... sondern es soll ein Spiel als Lerneffekt programmiert werden.

Außerdem erschwert es das hinzufügen weiterer Kategorieen...

Das verstehe ich nicht. Wo ist das Problem?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...