AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Wer Wird Millionär? Abschlussprojekt Klasse 12

Wer Wird Millionär? Abschlussprojekt Klasse 12

Offene Frage von "DeddyH"
Ein Thema von schulprogrammierer · begonnen am 28. Jan 2013 · letzter Beitrag vom 20. Feb 2013
Antwort Antwort
Seite 2 von 3     12 3   
schulprogrammierer

Registriert seit: 28. Jan 2013
5 Beiträge
 
#11

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 15:57
Die Tutorials sind ja gut und schön.
Aber wie müsst ich das in meinem Projekt realisieren?

Erstmal alle Fragen (für jede Schwierigkeitsstufe) in eine INI-Datei packen.
Müssen die Antworten gleich dazu oder in eine extra Datei?

Wie bind ich dann die INI-Dateien in meinen Quelltext ein?

1. Frage holen, wie Sir Rufo bereits in seinem Quelltext geschrieben hat.
Wie mach ich das? LoadFromFile?
2. Antwort vom Spieler
3. Antwort überprüfen (Wie mach ich das mit den Antworten am besten?)
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#12

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 16:33
Moin, moin
also ich persöhnlich finde, dass Ini-Dateien für Fragen zu groß dimensioniert sind. Einfacher wär es wenn du die Fragen in txt-Dateien packst und sie daraus in eine Memo lädst und dann zufällig welche aussuchst. Am besten machst du für jede Stufe eine txt-Datei, so brauchst du keine komplizierten Aufrufe:

Meine Vorstellung:
Delphi-Quellcode:
var
level: Integer;
fragenummer: Inetger;
begin
Randomize;
memo.lines.loadfromfile(extractfilepath(paramstr(0))+'dawodiedateiliegen'+inttostr(level)+'.txt');
fragenummer:= random(memo.lines.count);
fragelabel.caption:= memo.lines[fragenummer*5];
panela.caption:= memo.lines[fragenummer*5+1];
panelb.caption:= memo.lines[fragenummer*5+2];
panelc.caption:= memo.lines[fragenummer*5+3];
paneld.caption:= memo.lines[fragenummer*5+4];
end;
Die Txt wäre dann so angeordnet:
Code:
Frage
AntwortA
AntwortB
AntwortC
AntwortD
Richtig
Frage
AntwortA
AntwortB
AntwortC
AntwortD
Richtig
Frage
AntwortA
AntwortB
AntwortC
AntwortD
Richtig
...
Dies ist einfach und glaubwürdig.

Gruß Puke
Gruß Puke

Geändert von Puke (11. Feb 2013 um 17:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 16:40
Und was ist daran jetzt einfacher als T(Mem)IniFile?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#14

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 16:55
Wenn er nie Inis hatte?
Warum sollte er es auf einaml können?
Gruß Puke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 17:02
Weil er die Tutorials durchgearbeitet und hoffentlich ein wenig geübt hat? Mal ein Minibeispiel: angenommen, eine solche Inidatei für eine Schwierigkeitsstufe sähe so aus
Code:
[1]
Frage=Wieviel ist 2*2?
Richtig=4
Falsch1=42
Falsch2=Rembrandt
Falsch3=Hä?
[2]
Frage=Wer führte Regie beim Film "Die Vögel"?
Richtig=Alfred Hitchcock
Falsch1=Woody Allen
Falsch2=Stephen Spielberg
Falsch3=George Lucas
[3]
Frage=3 Dinge braucht der Mann: Feuer, Pfeife, ...
Richtig=Stanwell
Falsch1=Rauchmelder
Falsch2=Feuerlöscher
Falsch3=Dudelsack
Dann kann man daraus ganz einfach eine zufällig gewählte Frage samt Antworten herausholen (der Code ist ganz bewusst nicht optimal, etwas Arbeit soll ja noch bleiben):
Delphi-Quellcode:
procedure TForm1.ReadQuestion(const IniName: string);
var
  Ini: TMemIniFile;
  Sections: TStringlist;
  Question: string;
begin
  Memo1.Lines.Clear;
  Ini := TMemIniFile.Create(IniName);
  try
    Sections := TStringlist.Create;
    try
      Ini.ReadSections(Sections);
      Question := Sections[Random(Sections.Count)];
      Label1.Caption := Ini.ReadString(Question, 'Frage', 'Keine Frage vorhanden, nanu?');
      Memo1.Lines.Add(Ini.ReadString(Question, 'Richtig', ''));
      Memo1.Lines.Add(Ini.ReadString(Question, 'Falsch1', ''));
      Memo1.Lines.Add(Ini.ReadString(Question, 'Falsch2', ''));
      Memo1.Lines.Add(Ini.ReadString(Question, 'Falsch3', ''));
    finally
      Sections.Free;
    end;
  finally
    Ini.Free;
  end;
end;
Danach sollten die Frage in Label1 und alle Antworten in Memo1 stehen. Man muss sich natürlich noch merken, welche die richtige ist, sie zufällig durcheinandermischen etc., aber mir ging es jetzt nur um das Auslesen. Evtl. auftretende Fehler sollten natürlich auch noch behandelt werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#16

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 17:06
Ok,
doch ich denke mal nicht, dass "ini.readsections" zum Lehrplan gehört. Und ich kenne meinen Infolehrer, der weiß was kopiert ist. Also geben wir ihm einfach keinen Anlass. Vor allem weil unser Freund das mit dem "Loadfronmfile" schon kannte.

Gruß Puke
Gruß Puke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 17:13
Und die F1-Taste ist bei den Schulrechnern ausgebaut? Ich verrate ja hier keine streng geheimen Vorgehensweisen, die nur den Eingeweihten aus dem erlauchten Kreis der Joghurt-Ritter vermittelt werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Puke
Puke

Registriert seit: 7. Nov 2012
123 Beiträge
 
Delphi XE5 Architect
 
#18

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 17:29
Naja,
das Internet ist auf den Schulrechnern auch nicht ausgeschaltet.
Es geht halt darum, dass ich glaube (muss nicht richtig sein) der Lehrer wird sich denken, dass deine Lösung vllt. abgeschrieben sein könnte und meine irgendwie schlechter, dafür aber echter rüberkommt. Soll heißen, dass bei meiner Lösung die Chancen, unentdeckt zu bleiben, ein wenig besser stehen, als bei deiner.

Soll er entscheiden. Deine "einfachere" oder meine "abstrakte" Lösung, uns kann es egal sein.



Gruß Puke.
Gruß Puke
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 17:31
Soll er entscheiden. Deine "einfachere" oder meine "abstrakte" Lösung, uns kann es egal sein.
So sehe ich das auch. Wenn man sich ein Thema für ein Projekt aussucht, dann muss man auch entscheiden, auf welche Art und Weise man das umsetzen möchte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
schulprogrammierer

Registriert seit: 28. Jan 2013
5 Beiträge
 
#20

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 11. Feb 2013, 18:44
Sehr schön, dass hier so fleißig diskutiert wird

Klar, ich will mir hier ja auch nicht alles vorsagen lassen, oder nen kompletten Quelltext geben lassen. Ich brauch nur ein paar Denkanstöße, um das Projekt zu realisieren. Was anderes lässt mein Wissensstand nicht zu

Ich denke mal, ich werde die txt-Datei nehmen, denn damit hab ich schon gearbeitet (wer nicht?!).
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:16 Uhr.
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