![]() |
In click
Hallo,
Ich habe die Aufgabe ein Programm im Informatik Unterricht zu programmieren, dazu habe ich als Vorlage das Spiel reigns genommen. Kurzform: da gibt es ein Text und 2 Reaktionen darauf welche sich auf deine Stats auswirken. Diese beiden Knöpfe wollte ich zwar einbauen aber den Programmtext eigentlich hauptsächlich in das TForm schreiben da ich lediglich will das beim klicken eines Button sich die stats ändern und eine neue Frage bzw. Situation erzeugt , da die ganzen Situationen jedoch zufällig sein sollen also zufällig ausgewähl wollte ich das alles in das TForm reinpacken kann mir jemand erklären wie ich das am besten mache ? Oder Anregungen für andere Herangehensweisen ? Falls jemand das nicht ganz verstanden hat kann ich das nochmal genauer erläutern MFG MrRocTaX |
AW: In click
Willkommen.
Nicht böse sein. Aber kannst du dein Problem noch einmal etwas genauer und verständlicher schildern? Ändere auch den Thread-Titel ab denn der ist definitiv nichts-sagend. |
AW: In click
Du könntest dir eine Basisklasse für deine Fragen erstellen:
Delphi-Quellcode:
Hier könnten dann auch weitere Daten abgelegt werden (etwa Erfahrungspunkte die man für eine Antwort bekommt, oder Geld, usw...
TQuestion = Class
private fId: Integer; fText: String; fYesId: Integer; fNoId: Integer; ... public construcor create(AId: Integer; const AText: String; YesID, NoID: Integer); end; Natürlich könnten dann auch weiter Klassen abgeleitet werden die nicht nur ja/nein als Antwort bedingen... Dann benötigst du eine Liste mit der du deine Geschichte verwalten kannst. Mit einem aktuellen Delphi etwa
Delphi-Quellcode:
TList geht natürlich auch, dann muss die Objektverwaltung selbst gemacht werden.
fStory: TObjectList<TQuestion>
Die Geschichte baust du dann z.B. im FormCreate deiner Mainform auf:
Delphi-Quellcode:
Natürlich muss TQuestion einen passenden Constructor dafür haben.
begin
fStory := TObjectList<TQuestion>.Create; fStory.Add(TQuestion.Create(1, 'Das Auto bremst kurz ab und du hast die Gelegenheit herauszuspringen. Wagst du es?', 2,3)); fStory.Add(TQuestion.Create(2, 'Gerade so geschafft, das Fahrzeug reißt aus und kracht gegen eine Mauer. Gehst du hin und siehst nach ob jemand überlebt hat?', 3, 4)); fStory.Add(TQuestion.Create(3, 'Sorry du bist tod!, -1, -1)); ... Das eigentliche Spiel beginnt immer mit Item 0 deiner Story. Du zeigst den Text an und der Anwender kann dann mit Ja oder Nein antworten. Entsprechend seiner Wahl nimmst du dann die fYesId oder fNoId und durchsuchst die Liste nach dieser fId. Das ensprechende Item enthält dann die nächste Frage (oder beendet die Geschichte). |
AW: In click
Zitat:
|
AW: In click
Zitat:
Wenn es Dich abhält, konstruktiv zu dem Problem beizutragen, ist das nur okay. Aber eine Diskussion im Sinne von "Lern erstmal Deutsch" wollen und werden wir hier nicht beginnen. |
AW: In click
Was ist eigentlich ein Hautsatz? Glashaus, Steine...
Sherlock |
AW: In click
Ich fasse mal zusammen was ich verstanden habe. Vielleicht habe ich es ja total falsch verstanden aber PC-Spiele und deren Logik ist nicht mein Gebiet:
- das Formular soll drei TLabel besitzen - das Formulöar soll zwei TButton besitzen Zwei Labels zeigen Texte an wie ... "Kraft: 5" oder "Unbesiegbarkeit: 2" oder was auch immer. Ein Klick auf einen Button soll nun "Kraft: 5" in "Kraft: (random-Wert)" ändern. Dann gibt es noch eine zufällige Frage, welche ebenfalls in einem Label angezeigt wird. Mit Klick auf den zweiten Button (?) soll eine zufällige Frage aus einem Pool gefischt und in diesem Label angezeigt werden. |
AW: In click
Mich erinnert das an alte Dosen-Zeiten.
bei verschiedenen Fragen konntest Du antworten was Du wolltest aber bei zweimal "links" oder "rechts" hintereinander bist Du hinaus gepflogen. Gruß K-H |
AW: In click
Soo also tut mir erstmal leid für meine Rechtschreibung, sowie für die schlechte Schilderung des Themas. Ich schreibe das Alles über das Handy und da ist es oftmals nicht so einfach auf Rechtschreibung zu achten, wobei es ja auch einige so geschafft haben. Es war halt spät abends und ich wollte lediglich erkunden ob das hier ein Forum ist wo ich solche Hilfe bekomme oder nur eins für fortgeschrittene etc. Da ihr mir ja fast alle sehr hilfsbereit geantwortet habt will ich euch das Problem nochmal genauer erläutern und hoffe auf weitere Anregungen und Hilfe. Zuvor will ich jedoch anmerken, dass ich ein relativer Laie in Delphi 7 bin, ich komme ganz gut zurecht mit Logik aber die ganze Syntax ist mir nicht so geläufig.
|
AW: In click
Also, meine Idee war ein memo Feld in der eine Situation beschrieben ist, links und rechts davon sind zwei weitere in der die möglichen antworten stehen. Nun soll man auf ein button unter jenen klicken und somit diese Antwort auswählen darauf hin soll sich eine Zahl die über den ganzen steht ( insgesamt 4 Zahlen also ggf. Auch mehrere) ändern. Dann soll die nächste Situation kommen und alles soll sich beim button click automatisch ändern. Welche Situation erzeugt wird soll jedoch zufällig geschehen, es soll eine aus einem bestimmten pool von Situationen genommen werden.(wie ich diese zufällige Auswahl gestalte ist mir auch noch nicht ganz in den Sinn gekommen) Ich freue mich auf jeden Fall, dass ihr mir helfen wollt und hoffe ich habe das etwas besser geschildert. Bei weiteren fragen fragt ruhig
MFG MrRocTaX PS: wie ändere ich den Titel ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz