Startseite › Foren › Deutsches LiveCode-Forum › Probleme mit Hangman
- Dieses Thema hat 7 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 4 Jahren, 2 Monaten von
bonwolly.
-
AutorBeiträge
-
-
Dezember 22, 2020 um 20:59 Uhr #25354
Hallo,
bin gerade dabei das Kapitel „Hangman“ durchzuarbeiten. Mein Problem ist, glaube ich, der Part „mousechar“ Ich habe mir zur Kontrolle zwei Textfelder eingebaut und habe festgestellt, dass das Ratewort ermittelt wird, aber der Buchstabe unter der Maus (mousechar) offensichtlich nicht. Habe schon nach Rechtschreibfehlern gesucht ( ist nicht gerade meine Stärke 🙂 ) komme aber leider nicht weiter. Kann mir jemand helfen?global rateWort, buchstabe, fehler
on ermittleWort
set the icon of the button „hangman“ to empty
put fld „langerText“ into wortListe
put the number of words of wortListe into anzahl
put random (anzahl) into zufallsWort
put word zufallsWort of wortListe into rateWort
put toUpper (rateWort) into rateWort
put rateWort into fld „testfeld“
end ermittleWorton zeileAnzeigen
put empty into fld „dasWort“
repeat for each char c in rateWort
put „_ “ after fld „dasWort“
end repeat
end zeileAnzeigenon auswertung
put the mousechar into buchstabe
put buchstabe into fld „testfeld1“
if buchstabe is in ratewort then
buchstabeZeigen
else
galgenZeichnen
end if
end ausWertungon buchstabeZeigen
put the number of chars of rateWort into anzahl
repeat with x = 1 to anzahl
if (char x of ratewort) = buchstabe then
put buchstabe into char ( x*2-1) of fld „dasWort“
end ifend repeat
end buchstabeZeigenon galgenZeichnen
add 1 to fehler
set the icon of btn „hangman“ to the id of img („hangman“&fehler)
end galgenZeichnenon endauswertung
if fehler = 6 then
answer „Leider gescheitert! Das richtige Wort war : „&ratewort
end if
if „_“ is not in „dasWort“ then
answer „Glückwunsch! Das Wort ist komplett!“
end if
end endauswertungVielen Dank und beste Grüße
Wolfgang -
Dezember 25, 2020 um 13:25 Uhr #25397
ok, ich hab da noch mal rumprobiert und habe festgestellt das dies hier das Problem zu sein scheint:
on auswertung
put the mousechar into buchstabe
put buchstabe into fld „testfeld1“so ähnlich im Buch beschrieben. Ich habe nur diese Funktion auf einem einfachen Stack getestet.
Da passiert überhaupt nichts! somit funktionert natürlich das ganze Skript nicht wirklich und man kommt beim erlernen von Live Code per Buch nicht weiter.
Das gleiche Problem hat Jon19 vor kurzem auch hier beschrieben. Hat jemand eine Idee?
Frohe Weihnachten und danke im VorrausWolfgang
-
Dezember 25, 2020 um 16:27 Uhr #25399
Hi Wolfgang,
wie schon Jon gesagt, ich kenne das Spiel nicht, und weiß daher nicht, was und wie gespielt wird.
Aber wann wird „auswertung“ denn ausgeführt?
„the mousechar“ ist der Buchstabe unter der Maus, also muss selbige offensichtlich über irgendwinem Buchstaben schweben zu dem Zeitpunkt!? Sehr verwirrend… 😎Gruß
Klaus
-
Dezember 25, 2020 um 17:08 Uhr #25401
Hallo KLaus,
ich weiß leider nicht wie man hier Bilder hochladen kann. dann wäre es einfacher.
In dem Spiel muss ein zufälliges Wort erraten werden, das in einem Textfeld ( rateWort) verdeckt durch Unterstriche dargestellt wird. In einem weiteren Textfeld befinden sich Buchstaben von A-Z. Klickt man nun mit der Maus einen richtigen Buchstaben an soll er statt der Unterstriche ( in rateWort) angezeigt werden. Wenn nicht erscheint ein Teil eines Galgens bis nach 6 Versuchen der Galgen komplett mit Leiche
🙂 erscheint.Das funktioniert mit dem auswählen des Zufallswort und der Darstellung im Textfeld „rateWort“ mit den Unterstichen einwandfrei. Alleinen diese mousechar-Funktion leider nicht. Die Variable dafür ist leer!
on auswertung
put the mousechar into buchstabe
if buchstabe is in ratewort then
buchstabeZeigen
else
galgenZeichnen
end if
end ausWertungGruß
Wolfgang -
Dezember 26, 2020 um 18:50 Uhr #25426
Hi Wolfgang,
danke, den Spielverlauf habe ich mir schon zusammen gereimt, aber wann, wo und wie soll
denn der obige Handler „on ausWertung“ aufgerufen/ausgeführt werden?Das ist mir völlig unklar, da der Handler ja voraussetzt, daß die Maus über irgendeinem
Text steht -> the mousecharWenn dem nicht so ist, ist diese Variable buchstabe natürlich leer.
Gruß
Klaus
-
Dezember 26, 2020 um 20:26 Uhr #25428
Hallo Klaus,
jetzt hab ich es auf Grund deines Einwandes kapiert,“on ausWertung“ wird gar nicht aufgerufen.
Da fällt man als Anfänger natürlich nicht gleich drüber, zumal der Autor des Buches es eigentlich genauso beschrieben hat wie ich es ich es gemacht habe.Originalauszug aus dem Buch:
Das Wort wird ermittelt, die Striche werden angezeigt. Dann kann es jetzt ans Raten gehen. Wenn auf einen Buchstaben geklickt wird, dann soll geprüft werden, ob sich der Buchstabe im Ratewort befindet. Falls ja, dann wird er dort eingetragen, falls nein, dann wird der Galgen ein Stück weitergezeichnet. Prinzipiell sieht das Skript dazu so aus:
on auswertung
if buchstabe is in ratewort then
buchstabeZeigen else
galgenZeichnen
end if
end auswertung
Das ist übrigens nicht schematisch skizziert, sondern so sieht bereits das richtige endgültige Skript aus. if buchstabe is in ratewort prüft konkret, ob der gerade gewählte Buchstabe in der globalen Variablen ratewort enthalten ist. Was noch fehlt, ist die Ermittlung des gewählten Buchstabens, über die wir schon gesprochen haben.
put the mousechar into buchstabe
Damit wird das Zeichen, über dem die Maus sich gerade befindet, in die Variable buchstabe geschrieben. Dieser Befehl muss an den Anfang des Skripts, gleich hinter on auswertung.
Das funktioniert so sicher nicht. Damit haben sicher schon andere Leser Probleme gehabt, z.B Jon19
Ich probiere mal rum, wie ich das lösen kann.Vielen Dank für deine Hilfe und noch schöne Restweihnachten
Wolfgang -
Dezember 28, 2020 um 18:00 Uhr #25468
Ach so, die Lösung steht gar nicht explizit im Buch? Na, toll…
Eventuell sollte „on auswertung“ direkt beim Klick auf einen Buchstaben aufgerufen werden?
Also „on mouseup“ statt einem eigenen Handler? Das ergäbe durchaus Sinn. -
Dezember 29, 2020 um 13:45 Uhr #25493
Hallo Klaus,
Ja, habe ich auch so gemacht und jetzt funktioniert es. Dafür habe ich jetzt beim nächsten Schritt, beim Anzeigen der Galgenbilder ein Problem. Dazu melde ich mich aber erst wenn ich die Lösung selber gefunden hab. Bei dieser Aufgabe im Buch scheinen mir einige Sachen nicht 100%tig zu sein. Z.B. verschwinden die Striche nicht im Textfeld, wenn die Buchstaben angezeigt werden. Wahrscheinlich liegt es an mir. Ich melde mich hier nochmal sobald ich mehr weiß.
LG
Wolfgang
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.