AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Galgenraten

Ein Thema von Amateurprogammierer · begonnen am 19. Mär 2013 · letzter Beitrag vom 20. Mär 2013
Antwort Antwort
Amateurprogammierer

Registriert seit: 19. Mär 2013
1 Beiträge
 
#1

Galgenraten

  Alt 19. Mär 2013, 20:35
Hallo,
Ich möchte gern mit Delphi Galgenraten/Hangman programmieren.

Die gesuchten Wörter habe ich in einer .txt Datei.
Frage Nummer 1: Wie wähle ich zufällig eines dieser Worte aus, und zeige dieses Wort dann unaufgedeckt (in Strichen, also pro Buchstabe ein Label) auf dem Bildschirm?

Den Buchstaben, den ich vermute, gebe ich in ein Edit Feld ein. Beim Klick auf einen Button wird kontrolliert ob diese in dem Wort vorkommt. Wenn ja, sie wird dieser Buchstabe in dem Wort aufgedeckt, wenn nein wird ein Teil des Galgens gezeichnet.Nun Frage Nummer 2: wie überprüfe ichob der Buchstabe im Wort enthalten ist?


MfG
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#2

AW: Galgenraten

  Alt 19. Mär 2013, 20:51
Hallo,
sehr viele Fragen auf einmal.
Die gesuchten Wörter habe ich in einer .txt Datei.
Frage Nummer 1: Wie wähle ich zufällig eines dieser Worte aus, und zeige dieses Wort dann unaufgedeckt (in Strichen, also pro Buchstabe ein Label) auf dem Bildschirm?
Mein Vorschlag:
Eine Tstringlist erzeugen, die Datei laden, einen zufälligen Eintrag ermitteln ..., z.B.
Delphi-Quellcode:
var woerter:tstringlist;
    anzahl,zufall:integer;
    ratewort:string;
begin
    randomize;
    woerter:=tstringlist.create;
    woerter.loadfromfile('deindateiname.txt');
    anzahl:=woerter.count;
    zufall:=random(anzahl);
    ratewort:=woerter[zufall];
    ...
    woerter.free;
end;
Bei den ... würde ich vorschlagen, das Wort für den Anfang (ist einfacher) in Großbuchstaben umwandeln. Einen zweiten String, z.B. gerateneswort, machst Du so lang wie Dein ratewort, aber mit einem Zeichen, z.B. #:
Delphi-Quellcode:
    gerateneswort:='';
    for i:=1 to length(ratewort) do gerateneswort:=gerateneswort+'#';
So, das war schon ziemlich viel Hilfe. Versuche es erst einmal bis hier hin.

Beste Grüße
Mathematiker
  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
 
#3

AW: Galgenraten

  Alt 19. Mär 2013, 23:09
Bitte Randomize nur einmal in der Anwendung aufrufen, wenn es halbwegs zufällig sein soll
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
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#4

AW: Galgenraten

  Alt 20. Mär 2013, 00:57
Hallo,

nicht nur Randomize nur einmal aufrufen! Auch die Liste der gesuchten Wörter nur einmal pro Spiel einlesen; ist nicht wirklich prickelnd, wenn nur N Worte in der Liste vorliegen und eines davon mehrfach pro Spiel zufällig ausgewählt wird.
Besser (sicherstellen, dass genügent Worte für einen Hangman vorliegen) beim Spielstart alle Möglichkeiten einlesen, ein Wort per Zufall bestimmen und den Zufallswert aus der Liste entfernen.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#5

AW: Galgenraten

  Alt 20. Mär 2013, 05:07
Hallo,
Bitte Randomize nur einmal in der Anwendung aufrufen, wenn es halbwegs zufällig sein soll
Besser (sicherstellen, dass genügent Worte für einen Hangman vorliegen) beim Spielstart alle Möglichkeiten einlesen, ein Wort per Zufall bestimmen und den Zufallswert aus der Liste entfernen.
Beides vollkommen richtig.
Ich glaube aber, das überfordert ihn noch mehr. Selbst die Stringliste dürfte schon schwierig sein. Wenn ich es richtig verstanden habe, geht es um die ersten Schritte mit Delphi.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Antwort Antwort


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:50 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