Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie erstellt Datenbanken und baut sie in ein Spiel ein? (https://www.delphipraxis.net/145739-wie-erstellt-datenbanken-und-baut-sie-ein-spiel-ein.html)

R4c0N 7. Jan 2010 14:16

Datenbank: Weiß ich nicht! • Zugriff über: weiß ich nicht!

Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Hi, ich bin noch absoluter Neuling auf dem Gebiet hier und hoffe jemand kann mir bei meinem Problem helfen.
Ich möchte gerne eine art Wer wird Millionär mit Delphi Programmieren.
Meine Idee war, dass ich zu jeder Fragenkategorie (50 Euro, 100 Euro...) eine Datenbank erstelle und Delphi dann zufällig eine davon rauspicken lasse.
Die Datenbank bräuchte pro Frage 8 "Informationen": Frage, Antwort A, Antwort B, Antwort C, Antwort D, Buchstabe der richtigen Antwort, 2 Buchstaben die beim 50:50 Joker verschwinden sollen.
Wie kann ich nun so eine Datenbank erstellen und wie kann ich Delphi "sagen" dass es aus dieser Datenbank einen zufälligen Datensatz rausnehmen soll?
Bitte in "einfachen Worten" antworten da ich noch ein ziemlicher idiot mit Delphi bin^^

(Jetz fällt mir noch auf dass ich Programmiersprache und son Zeug angeben muss, ich benutze Delphi 6, ich nehme mal an das ist Delphi Win32 dann, Datenbank hab ich leider überhaupt keine Ahnung welche ich benutze oder so)

s.h.a.r.k 7. Jan 2010 14:19

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Wenn du noch komplett neu bist in Delphi, dann stellt sich die Frage, ob du schon mal was mit SQL gemacht hast, oder vergleichbares!? Wenn nicht, dann solltest du dir erst mal INI- oder XML-Dateien aneignen. Damit lässt sich dein Problem auch wunderbar lösen.

Zudem hast du einen Designfehler in deinem Plan bzw. so wie du es haben willst, wird es nicht wirklich funtkioneren :zwinker:

freak4fun 7. Jan 2010 14:23

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Ich kann auch noch das hier empfehlen. :) Datenbanken halte ich auch für etwas überzogen für ein solches Programm. Dein Konzept ist auch noch nicht optimal.

Luckie 7. Jan 2010 14:24

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Falscher Ansatz, meiner Meinung nach. Ich würde eine Tabelle nehmen mit folgenden Feldern: Frage, Antwort A, Antwort B, Antwort C, Antwort D, richtige Antwort, Schwierigkeitsgrad.

Wird der 50:50 Joker genommen werden zufällig zwei Antworten gelöscht, dabei muss geprüft werden, dass nicht die richtige Antwort dabei ist.

Der Schwierigkeitsgrad wird benötigt, um die Frage der Gewinnstufe zu zu ordnen: 50 Euro Schwierigkeitsgard 1, 16.000 Euro Schwierigkeitsgrad 5 zum Beispiel.

Wenn du jetzt eine Frage stellen willst, suchst du dir alle Datensätze mit dem zugehörigen Schwierigkeitsgrad raus und wählst davon einen zufällig aus.

Der Rest ergibt sich eigentlich schon aus dem Aufbau der Tabelle.

Sir Rufo 7. Jan 2010 14:39

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Mein Tip zur Datenbank:
- Frage
- Antwort (richtig)
- Antwort (alternativ 1)
- Antwort (alternativ 2)
- Antwort (alternativ 3)
- Schwierigkeit

Damit ist a klar, welche Antworten bei 50:50 rausfliegen (alternativ 1,2 oder 3)
Die Aufteilung in A, B, C, D kann dann per Zufall erfolgen (Bei Frage 574 ist dann nicht immer A richtig)

R4c0N 7. Jan 2010 16:35

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Danke schonmal für die schnelle Hilfe, ich bin grad dabei das Records Tutorial hier auszuprobieren (http://www.delphi-treff.de/tutorials...ateien/page/4/).
Hab dazu jetz noch ne Frage, irgendwie komm ich da nämlich nich weiter. Auf der Seite "Oberfläche" erstellt man ja sozusagen eine neue Anwendung, ein neues Projekt. Das habe ich jetz mal in einen anderen Ordner gespeichert, sollte man das in den selben Ordner speichern?
Und dann auf der Seite:"Datei Öffnen" wird ein Text angegeben denn man als OnCreate Ereignis angeben soll, diesen Text habe ich 1:1 jetzt in die ursprüngliche Anwendung, also das richtige projekt und nicht was ich da grad erstellt hab, eingegeben, natürlich mit meinem Datei namen. Wenn ich diesen Text nämlich im anderen Projekt eingebe steht da, dass "Datei" ein undefinierter Bezeichner ist.
Wenn ich nun allerdings diesen Text 1:1 in mein ursprüngliches Projekt kopiere und eben an meine Dateinamen anpasse, sieht das folgendermaßen aus:

Delphi-Quellcode:
procedure TFOKlassik1.FormCreate(Sender: TObject);
var path: string;

begin
path := ExtractFilePath(ParamStr(0));
AssignFile(Datei,path+'Fragen.dat');
if FileExists(path+'Fragen.dat') then ReSet(Datei)
else ReWrite(Datei);
end;
aber als Fehlermeldung steht dann in der Zeile "AssignFile" nach dem Wort "Datei" da: "(" erwartet aber "," gefunden.
Was soll ich jetzt tun?

freak4fun 7. Jan 2010 16:54

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Hast du das drin?
Delphi-Quellcode:
datei: file of Adresse;

R4c0N 7. Jan 2010 16:59

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Zitat:

Zitat von freak4fun
Hast du das drin?
Delphi-Quellcode:
datei: file of Adresse;

LOL^^ thx, jetz klappts, ich hatte bei mir sozusagen stehn: Adresse: file of Datei

maaaan da such ich die ganze zeit und dann isses nur son minifehler TT^^

R4c0N 7. Jan 2010 18:14

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
So, jetzt bin ich fast fertig, eigtl. nur noch ein kleines problemchen mit meinem "Record" Programm.
Und zwar folgendes:
Wenn ich nun einen Datensatz eingeben will wie in dem Tutorial beschrieben, kommt E/A Fehler 103.
Durch googlen denk ich mittlerweile dass das daran liegt dass die neu erstellte "Fragen.dat" nicht geöffnet wird. Aber woran kann das liegen?
Hier ist der Quelltext aus dem Teil:"Datei öffnen":

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);

var path: string;

begin
path := ExtractFilePath(ParamStr(0));
  AssignFile(datei, path+'Fragen.dat');
  if FileExists(path+'Fragen.dat') then ReSet(datei)
  else ReWrite(datei);
end;

Namenloser 7. Jan 2010 19:51

Re: Wie erstellt Datenbanken und baut sie in ein Spiel ein?
 
Ich bin mir nicht sicher, aber gibt ExtractFilePath den Pfad eventuell ohne abschließenden Backslash zurück? Ändere die Zeile mal so:
Delphi-Quellcode:
path := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0)));


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 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