Javascript Funktion wird nicht "aufgerufen"
Hallo ich möchte eine Javascript AI von Code Bullet verbessern.
Ich dachte das ist eine gute Idee da ich Javascript lernen möchte und habe mir die ChessAI von ihm angeschaut und angefangen sie einbisschen umzuschreiben doch jetzt stehe ich vor einem Problem ich wollte das man direkt auf der Webseite festlegen kann welche Farbe die AI spielen soll und welche der Spieler.
Er hat dies in der sketch.js festgelegt mit und nun habe ich die html datei wie folgt dafür angepasst.
Doch es scheint so als ob die funktionen garnicht aufgerufen werden wenn ich auf einen der knöpfe drücke zum test habe ich die alert zeilen eingesetzt doch da mir auch die alerts nicht angezeigt werden gehe ich davon aus das diese garnicht aufgerufen werden.
Danke im Vorraus,
StillBad
Ich dachte das ist eine gute Idee da ich Javascript lernen möchte und habe mir die ChessAI von ihm angeschaut und angefangen sie einbisschen umzuschreiben doch jetzt stehe ich vor einem Problem ich wollte das man direkt auf der Webseite festlegen kann welche Farbe die AI spielen soll und welche der Spieler.
Er hat dies in der sketch.js festgelegt mit
var whiteAI = false;
var blackAI = true;
<script>
function BlackAIenable() {
if (blackAI) {
alert("iam here")
var blackAI = false;
runAIs();
showAIs();
else
alert("i am not here")
var blackAI = true;
runAIs();
showAIs();
}
}
function WhiteAIenable() {
if (whiteAI) {
alert("white here")
var whiteAI = false;
runAIs();
showAIs();
else
alert("jds")
var whiteAI = true;
runAIs();
showAIs()
}
}
</script>
</head>
<body>
<button onclick="WhiteAIenable()">Weiße Ai ein/ausschalten</button>
<button onclick="BlackAIenable()">Schwarze Ai ein/ausschalten</button>
</body>
Danke im Vorraus,
StillBad
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 423648
Url: https://administrator.de/forum/javascript-funktion-wird-nicht-aufgerufen-423648.html
Ausgedruckt am: 17.03.2025 um 03:03 Uhr
12 Kommentare
Neuester Kommentar
Hallo,
Gruß,
Peter
Zitat von @StillBad:
auf einen der knöpfe drücke zum test habe ich die alert zeilen eingesetzt doch da mir auch die alerts nicht angezeigt werden gehe ich davon aus das diese garnicht aufgerufen werden.
Wo hast du diese html Seite geandert? Bei dir lokal oder auf den Webserver im Internet?auf einen der knöpfe drücke zum test habe ich die alert zeilen eingesetzt doch da mir auch die alerts nicht angezeigt werden gehe ich davon aus das diese garnicht aufgerufen werden.
Gruß,
Peter
Werden sie nicht, weil dein Code mehrere Syntaxfehler enthält. Die geschweiften Klammern der If-Blöcke wurden geöffnet aber vor/nach dem else jeweils nicht wieder geschosssen/neu geöffnet. Das hätte dir ein Blick in die Browser-Konsole aber auch selbst verraten. Selbst bei JavaScript löst das einen Syntaxfehler aus.

Funktioniert immer noch nicht
Kein Wunder, Schussel, da fehlen jede Menge Semikolon's hinter den alerts und hinter showAIs().Zeilen 3,9,17,23,26
Erste Devise beim Lernen von JavaScript: Arbeite exakt, vergessene Sprachelemente und Groß und Kleinschreibung werden dir nicht verziehen!
Außerdem bringt dir das Definieren der Variablen in den IF-Konstrukten nichts, die sind nach beenden wieder verschwunden, definiere sie global oder klassenbasiert, dann sind sie auch funktionsübergreifend verfügbar.
Ich empfehle dir dringend erst mal die Grundlagen von Javascript gründlich zu lernen und mit " kleinen " Übungsaufgaben anzufangen. Du scheinst dir da offensichtlich noch zu viel zuzumuten.
Du hast auch nur die Hälfte von dem gemacht, was ich gesagt habe. Wenn du nach Aufforderung nicht in der Lage bist einen Blick in die Devtools zu werfen, musst du noch sehr viel lernen junger Padawan.
Jain. Selikolons zu setzen gilt als Best Practice, da sie in Ausnahmefällen erforderlich sind und Minifying erleichtern. Ich mache das über Linter auch so, wenns unbedingt JS sein muss. Aber grundsätzlich sind sie optional. Bei seinem simplen Code macht es keinen Unterschied. Außer der Code läuft in alten IE Browsern. Dass das jemand tut, vor allem um JS zu lernen, bezweifle ich jetzt mal.
Zitat von @138810:
Kein Wunder, Schussel, da fehlen jede Menge Semikolon's hinter den alerts und hinter showAIs().
Zeilen 3,9,17,23,26
Kein Wunder, Schussel, da fehlen jede Menge Semikolon's hinter den alerts und hinter showAIs().
Zeilen 3,9,17,23,26
Jain. Selikolons zu setzen gilt als Best Practice, da sie in Ausnahmefällen erforderlich sind und Minifying erleichtern. Ich mache das über Linter auch so, wenns unbedingt JS sein muss. Aber grundsätzlich sind sie optional. Bei seinem simplen Code macht es keinen Unterschied. Außer der Code läuft in alten IE Browsern. Dass das jemand tut, vor allem um JS zu lernen, bezweifle ich jetzt mal.

Jepp, aber wenn er sie schon in den anderen Zeilen setzt, dann auch einheitlich und nicht so ein Mischmasch, das fördert nur den Höddel.
Moin ..
Schau mal hier: https://www.w3schools.com/js/js_variables.asp
Die Seite ist mein persönlicher Favorit um schnell mal was nachzusehen und das für deutlich mehr als nur JS.
VG
Zitat von @StillBad:
Noch eine Frage gibt es eine lösung die variable besser festzulegen zb. über ein Cookie oder ähnliches?
Noch eine Frage gibt es eine lösung die variable besser festzulegen zb. über ein Cookie oder ähnliches?
Schau mal hier: https://www.w3schools.com/js/js_variables.asp
Die Seite ist mein persönlicher Favorit um schnell mal was nachzusehen und das für deutlich mehr als nur JS.
VG

Schwarz-braun ist die Haselnuss. B-)