Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Quiz! (https://www.delphipraxis.net/104310-quiz.html)

.chicken 1. Dez 2007 11:23


Quiz!
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich habe mal wieder n bisl mit Delphi rumgespielt und mich in Ini-Dateien probiert.
Habe dazu ein simples Quiz geschrieben, welches dank des QuizKatalogs um Fragen erweiterbar ist.

Die Fragen werden in der Ini-Datei "Fragen.ini" gespeichert und mit einem simplen CAESAR-Verfahren verschlüsselt, damit nicht jeder der die Datei öffnet direkt die Antworten einsehen kann. Dazu habe ich eine TCryptIniFile Klasse erstellt, die um einige Funktionen erweitert wurde.

Die Datei muss im selben Verzeichnis wie das Quiz!-Spiel liegen, damit es auf diese zugreifen und die Fragen laden kann.

Leider sind momentan erst 10Fragen vorhanden, ich hoffe ihr helft mir evtl. beim erweitern des Katalogs! :)
Außerdem stehen zwei verschiedene Joker (50/50 und Abschreiben) zur Verfügung. Man kann das Quiz! jederzeit verlassen und das gewonnene Geld nehmen, beantwortet man jedoch eine Frage falsch, verliert man alles. Schafft man es 25Fragen richtig zu beantworten, hat man das Spiel gewonnen!

Naja vielmehr gibt es nicht zu sagen, seht es euch doch einfach selbst an :)
Wie gesagt, wenn ihr es evtl. um ein paar Fragen erweitert habt, dann würde ihc mich sehr freuen, wenn ihr die Fragen.ini Datei hochladen würdet ;-)

3_of_8 1. Dez 2007 12:11

Re: Quiz!
 
Das mit der Verschlüsselung würde ich persönlich lassen, es ist nämlich unnötig. Wer will, kann die Daten auch so ändern und wer nicht will, versucht es erst gar nicht.

.chicken 1. Dez 2007 12:22

Re: Quiz!
 
Hm...danke erstmal für den Kommentar ;-)
Aber schaden tut es so doch auch nicht oder? Ich meine ist ja nur ne kleine Spielerei um das "Cheaten" zu erschweren ;-) Klar mit dem Katalog kann man eh alles einsehen und es ist auch nicht schwer ein Programm zum Entschlüsseln zu schreiben, aber irgendwie faend ichs doof, wenn ich ein Spiel kaufe und dann ne Datei beiliegt in der ich einstellen kann unendlich Leben und Geld zu habe, wenn du verstehst was ich meine ;-)

Seppel 1. Dez 2007 12:39

Re: Quiz!
 
Na dann machs so, man kann erst was ändern wenn mans einmal durch hat^^, dann bekommt man ein pw und kanns entschlüsseln und der katalog muss dann auch erst freigeschaltet werden.

.chicken 1. Dez 2007 12:53

Re: Quiz!
 
Naja das find ich irgendwie net so gut. Nur weil mans einmal durch hat hat man ja noch nicht alle Fragen beantwortet, und der Katalog soll ja nur für die jenigen sein, die gerne eigene Fragen vll für Freunde oder sowas machen möchten ;-)

.chicken 2. Dez 2007 20:40

Re: Quiz!
 
Habe mir überlegt, um den Katalog besser erweitern zu können, eine Funktion zu implementieren, der die Fragen aus dem Katalog ins Internet in eine Datenbank speist, aus der dann die anderen User ihre Fragen aktualisieren können.

Wie meint ihr kann ich das am einfachsten realisieren? Ohne zu großen Aufwand. Einfach in eine normale Datei schreiben? Wie verhindere ich dann doppelte Einträge?

Hoffe ihr habt da Ideen, danke ;-)

Thanatos81 2. Dez 2007 21:06

Re: Quiz!
 
Zitat:

Zitat von .chicken
Habe mir überlegt, um den Katalog besser erweitern zu können, eine Funktion zu implementieren, der die Fragen aus dem Katalog ins Internet in eine Datenbank speist, aus der dann die anderen User ihre Fragen aktualisieren können.

Wie meint ihr kann ich das am einfachsten realisieren? Ohne zu großen Aufwand. Einfach in eine normale Datei schreiben? Wie verhindere ich dann doppelte Einträge?

Hoffe ihr habt da Ideen, danke ;-)

unter normale Datei verstehe ich jetzt mal eine Plaintext. Für Plaintexts nutze ich gerne StringListen, da würden dir dann wohl die Methoden .LoadFromFile, .SaveToFile, .Add und .Duplicates weiter helfen. Die würde ich mir mal in der OH anschauen. Der Aufbau der Textdatei könnte z.B. wie folgt aussehen:

Code:
Wie viele Zentimeter ergeben einen Meter?|10|100|1000|10000|1|
Wie viele Minuten ergeben eine Stunde?|10|100|60|30|2|
Also Frage|Antwort 1|Antwort 2|Antwort 3|Antwort 4|Index der richtigen Antwort|
Da müsste man nur schauen, ob .Duplicates mit Sonderzeichen ordentlich umgeht, denke aber schon. Problem ist: Beim schreiben der Textdatei braucht der Client entweder FTP-Zugriff oder du müsstest einen HTTP-Upload per PHP, Flash o.Ä. realisieren.

Hoffe das gibt dir ein paar Denkanstöße ;-)

.chicken 3. Dez 2007 15:11

Re: Quiz!
 
Hm ich weiss nich ob du das n bisl falsch verstanden hast ;-)
Also ich speichere die Daten ja bisher in einer ini-Datei, das funktioniert auch super. Aber ihc kann ja wahrscheinlich nicht online in eine ini-Datei schreiben, dazu muesste ich sie dann runterladen und wieder hochladen, was blöd waere, denn wenn zwei Leute gleichzeitig updaten wollen, dann klappt das ja nicht ;-)

Also ich dachte dass ich das Format einer iniDatei also:

[xyz]
xxx=yyy
zzz=www

beibehalte und einfach online in eine TxtDatei schreibe, die ich dann hinterher runterlade und in einer ini speichere.
Aber wie verhinder ich dann zB doppelte Einträge? Und womit schreibe ich nochmal online in die Txt?

Thanatos81 3. Dez 2007 16:12

Re: Quiz!
 
Zitat:

Zitat von .chicken
[...]dazu muesste ich sie dann runterladen und wieder hochladen, was blöd waere, denn wenn zwei Leute gleichzeitig updaten wollen, dann klappt das ja nicht ;-)[...]

Um das runter- und wieder hochladen wirst du nur rumkommen wenn du entweder ne DB nimmst und direkten DB-Zugriff von außen durch dein Delphi-Prog hast, oder indem du dir eine Mini-API auf dem Server einrichtest. Zumindest ist mir kein anderer Weg bekannt.

.chicken 3. Dez 2007 16:24

Re: Quiz!
 
Hm, dann lass ich das erstmal, is mir jetzt zu kompliziert mich in Mysql in Verbindung mit Delphi einzuarbeiten ^^
Is ja eh nur ne kleine Spielerei ^^

Danke für die Info ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz