Hallo,
Die Tipps für Fragende habe ich sehr wohl beachtet und dachte, dass meine Frage präzise genug ist.
Nicht wirklich. Ohne eine einzige Zeile Code kann man nur raten, worum es genau geht.
Es gibt globale Variablen, da ich mehrere Funktionen nutze.
Das ist genau das Problem, denn
Ein Spieler kann jetzt aber [..] über die Adresszeile seines Browsers die (globale) Variable Punkte ändern und somit das Spiel manipulieren.
Dann verzichte halt auf globale Variablen, siehe oben. Das geht auch, wenn man "mehrere Funktionen" nutzt. Globale Variablen müssen nicht sein und sind immer irgendwie problematisch.
Die Funktionen werden auch innerhalb HTML aufgerufen (z.B. mit onclick). Dabei kann ich keine Variable übergeben, da sie an dieser Stelle unbekannt ist. Z.B. onclick="Spielzug(1,Punkte)"; funktioniert nicht.
Statt die Eventhandlerfunktionen direkt in HTML-Tags zu notieren, wie z.B. <button onclick="...">
, kann man sie auch per Script zuweisen, d.h. etwas wie myButton.onclick = Spielzug(1,Punkte);
funktioniert dann problemlos.
Aber wie schon gesagt, JavaScript ist immer relativ unsicher. Auch ohne globale Variablen kann man von außen Manipulieren und den Handler-Funktionen einfach andere Werte übergeben, sogar über die Adresszeile, wenn man weiß wie. Ob sich der Aufwand also lohnt, extra alles umzuprogrammieren? So als Übung um zum Dazulernen vielleicht schon.
Beim Spiel schummeln ist ohnehin eine Kinderei. Macht ja nicht wirklich Spass. Wertvolle Preise aussetzen kannst du so natürlich nicht.
Gruß, Don P