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 1 von 3  1 23   
schulprogrammierer

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

Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 28. Jan 2013, 19:32
Guten Abend liebe Delphi-Praxis Gemeinde!

Ich gehe in die 12. Klasse auf dem Gymnasium.
In Informatik haben wir seit dem 11. Schuljahr die Programmiersprache Delphi.

Als Abschluss sollen wir selbst ein Programm programmieren. Ich habe mich dafür entschieden, ein "Wer Wird Millionär Spiel" zu programmieren (Nein, ich kann mich jetzt nicht mehr umentscheiden). Das Design steht schonmal, nun habe ich noch einige Fragen offen bezüglich des Programmierens.

Wir haben in den 1 1/2 Schuljahren wirklich nur die nötigsten Grundlagen kennengelernt, also mich als etwas anderes als einen blutigen Anfänger zu bezeichnen wäre übertrieben.


Meine größten Probleme:

1. Wie mache ich das mit Fragen und Antworten?
(Ja, das muss ich so unpräzise formulieren. Ich weiss nicht, auf welchen Komponeten ich es darstellen soll, etc.)
2. Wie bekomme ich es hin, dass der Spieler nach jedem Level eine Stufe aufsteigt und die Fragen schwerer werden (also 50€ -> 100 € -> €200 -> ...)

Nun nützt es mir nichts, wenn ich irgendeinen komplizierten Quelltext vorgeworfen kriege. Dann fällt dem Lehrer gleich auf, dass es nicht von mir ist.
Ich suche also eine möglichst einfache Lösung für meine Probleme!
Wenn das Programm nicht ganz perfekt wird, ist auch halb so wild. ´Nach 1 1/2 Jahren minderwertigem Informatikunterricht reichts nicht zu mehr
Danke schonmal im Vorraus für HILFREICHE (!!) Antworten
  Mit Zitat antworten Zitat
evilboy

Registriert seit: 31. Jul 2004
Ort: Berlin
49 Beiträge
 
Delphi 2009 Enterprise
 
#2

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 28. Jan 2013, 19:49
"Nun nützt es mir nichts, wenn ich irgendeinen komplizierten Quelltext vorgeworfen kriege. Dann fällt dem Lehrer gleich auf, dass es nicht von mir ist." – So ist es auch, Hausaufgaben wird hier keiner machen, aber einige Anstöße durchaus.

Fragen und Antworten kannst du in einer INI- oder in einer XML-Datei speichern, aus der diese dann bei Laufzeit geladen werden. Delphi (welche Version verwendest du?) liefert Klassen mit, um INI- und XML-Dateien zu lesen.

Im Programm selbst kannst du die Frage in einem TLabel oder TPanel darstellen, die Antwortmöglichkeiten dann auf TButton.

Die Anzeige der Stufe kannst du auch in einem TLabel oder TPanel darstellen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 28. Jan 2013, 19:54
Hallo und Willkommen in der DP ,

wenn es vorerst nur um die Darstellung geht: ich habe hier mal eben mit Lazarus eine minimale Oberfläche zusammengeklickt. Die Frage sowie "A" bis "D" sind Labels, die Antworten sind Buttons. Wenn die Texte entsprechend kurz gehalten werden, sollte das auch passen, ansonsten muss man ein wenig mit den Einstellungen spielen.
Miniaturansicht angehängter Grafiken
wwm.png  
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 cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 28. Jan 2013, 20:31
"Nun nützt es mir nichts, wenn ich irgendeinen komplizierten Quelltext vorgeworfen kriege. Dann fällt dem Lehrer gleich auf, dass es nicht von mir ist." – So ist es auch, Hausaufgaben wird hier keiner machen, aber einige Anstöße durchaus.

Fragen und Antworten kannst du in einer INI- oder in einer XML-Datei speichern, aus der diese dann bei Laufzeit geladen werden. Delphi (welche Version verwendest du?) liefert Klassen mit, um INI- und XML-Dateien zu lesen.

Im Programm selbst kannst du die Frage in einem TLabel oder TPanel darstellen, die Antwortmöglichkeiten dann auf TButton.

Die Anzeige der Stufe kannst du auch in einem TLabel oder TPanel darstellen.
Warum denn XML? Ist doch viel zu kompliziert. Mit einer INI-Datei kann man das ja schon einfach umsetzen.
Gruß
Cookie
  Mit Zitat antworten Zitat
evilboy

Registriert seit: 31. Jul 2004
Ort: Berlin
49 Beiträge
 
Delphi 2009 Enterprise
 
#5

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 29. Jan 2013, 03:31
Warum denn XML? Ist doch viel zu kompliziert. Mit einer INI-Datei kann man das ja schon einfach umsetzen.
Wir machen ein Array und serialisieren es… okay, ich bin verrückt…

"2. Wie bekomme ich es hin, dass der Spieler nach jedem Level eine Stufe aufsteigt und die Fragen schwerer werden (also 50€ -> 100 € -> €200 -> ...)" – Werden eigentlich mehrere Fragen auf einer Schwierigkeitsstufe gefordert (die dann evtl. zufällig ausgesucht werden), oder nur eine pro Schwierigkeitsstufe? (Bei der Software-Entwicklung üblich, vor der eigentlichen Entwicklung eine Spezifikation schreiben, damit man weiß, was der Kunde eigentlich will )

Man kann z.B. eine Variable definieren, die die Schwierigkeitsstufe repräsentiert, und die Schwierigkeitsstufe dann auch in einem TLabel.Caption anzeigen…

Geändert von evilboy (29. Jan 2013 um 03:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Maya
Maya

Registriert seit: 15. Jun 2011
Ort: Potsdam-Mittelmark
107 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 29. Jan 2013, 09:20
Die Frage sowie "A" bis "D" sind Labels, die Antworten sind Buttons. Wenn die Texte entsprechend kurz gehalten werden, sollte das auch passen, ansonsten muss man ein wenig mit den Einstellungen spielen.
Ich musste erst letzte Woche für eine Art Messe auch so ein Spielchen programmieren und habe für die Antworten auch Panels verwendet, da die auch das Ereignis "OnClick" haben. Sehr schön ist auch, dass man dann die Farbe entsprechend ändern kann, also ob richtig (grün) oder falsch (rot).

Datenbankanbindung habt ihr sicherlich nicht bei euch gemacht?

Ansonsten kann man das auch schön mit INIs umsetzen. Für jede Schwierigkeitsstufe eine INI-Datei und darin dann die Fragen sammeln.

Just my two cents.

Auch wenn OT: Das mit den minderwertigen Info-Unterricht kenne ich auch noch. Das war manchmal ein Spaß ...
Status:
- FIAE
- Rechteinhaberin, ein Rüsselmops sein zu wollen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 29. Jan 2013, 10:17
Die Visualisierung ist nur der Zuckerguss, der Ablauf ist aber das Salz in der Suppe.

Man sollte sich also vor der visuellen Ausgestaltung Gedanken über den Ablauf machen.

Mal ganz grob den reinen Spielbetrieb
Code:
Verloren <= Nein
Gewinnstufe <= 0
Wiederhole Bis Verloren oder Gewinnstufe = 15
{
  Frage <= [Frage holen] // eine Funktion, die eine neue Frage beschafft
  [Visualisieren der Frage]
  Antwort <= [Antwort vom Spieler]
  Ist Antwort = Frage.RichtigeAntwort dann
  {
    Gewinnstufe <= Gewinnstufe + 1
  }
  sonst
  {
    Verloren <= Ja
  }
}
Dieses muss noch weiter verfeinert werden z.B. um
- Was soll alles bei "Frage holen" berücksichtigt werden? (doppelte Fragen zulassen, Fragen abhängig von der Gewinnstufe, etc.)

Daraus ergeben sich dann auch die Anforderungen an neue Variablen, die man im Hauptteil benötigt.

Ist dieses Konstrukt fertig, dann kann man auch die Aufgaben verteilen oder eben einzeln lösen und verstrickt sich nicht in Spaghetti-Code
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 29. Jan 2013, 10:19
D.h., am Ende hat man dann gesalzene Suppe mit Zuckerguss?
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
 
#9

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 30. Jan 2013, 20:53
Vielen Dank schonmal für die vielen guten Tipps

Wie mach ich denn das mit der INI-Datei?
Wie erstelle ich sie bzw. wie binde ich sie in den Quelltext ein??
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#10

AW: Wer Wird Millionär? Abschlussprojekt Klasse 12

  Alt 30. Jan 2013, 23:42
Wie mach ich denn das mit der INI-Datei?
Wie erstelle ich sie bzw. wie binde ich sie in den Quelltext ein??
Hier gibt es ein kurzes Tutorial in der DP. Darin sind auch noch eins im Delphitreff verlinkt.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  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 16:49 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