theoretisch
Mitglied
Hallöchen,
ich habe das Problem das ich hier eine js Datei geschrieben habe die leider kein bisschen funktioniert.
Mit Javascript habe ich erst vor kurzem angefangen mich damit zu beschäftigen... davor habe ich nur schon ein wenig Java programmiert... weshalb es durchaus sein kann das ich da ein wenig Code "vermischt" habe.
Mein js das ich geschrieben habe wird leider überhaupt nicht ausgeführt ( und ja die src in der html ist richtig angegeben =D )... und ich habe absolut keine Ahnung wieso nicht... habe schon mit alert alles mögliche versucht... und aus den Fehlermeldungen des Compilers werde ich auch nicht so wirklich schlau. Aber hier erstmal der Code.
window.onload = init;
function init (){
charakter1 = document.getElementById("char1");
charakter2 = document.getElementById("char2");
charakter3 = document.getElementById("char3");
charakter4 = document.getElementById("char4");
charakter1.onclick = function () {chooseCharakter(charakter2, charakter3, charakter4, charakter1);}
charakter2.onclick = function () {chooseCharakter(charakter1, charakter3, charakter4, charakter2); undLos()}
charakter3.onclick = function () {chooseCharakter(charakter2, charakter1, charakter4, charakter3);}
charakter4.onclick = function () {chooseCharakter(charakter2, charakter3, charakter1, charakter4);}
}
function chooseCharakter(x, y ,z, a){
document.getElementsByTagName("section")[0].removeChild(x);
document.getElementsByTagName("section")[0].removeChild(y);
document.getElementsByTagName("section")[0].removeChild(z);
a.className = 'chosen';
}
Wenn nur der Code hier im js steht wird noch alles korrekt ausgeführt. Sobald ich aber das folgende hinzufüge geht gar nichts mehr.
function undLos (){
a = document.getElementById("a0");
b = document.getElementById("b0");
c = document.getElementById("c0");
d = document.getElementById("d0");
e = document.getElementById("e0");
f = document.getElementById("f0");
g = document.getElementById("g0");
h = document.getElementById("h0");
i = document.getElementById("i0");
j = document.getElementById("j0");
k = document.getElementById("k0");
l = document.getElementById("l0");
a.onclick = function () {placeCoin(a);}
b.onclick = function () {placeCoin(b);}
c.onclick = function () {placeCoin(c);}
d.onclick = function () {placeCoin(d);}
e.onclick = function () {placeCoin(e);}
f.onclick = function () {placeCoin(f);}
g.onclick = function () {placeCoin(g);}
h.onclick = function () {placeCoin(h);}
i.onclick = function () {placeCoin(i);}
j.onclick = function () {placeCoin(j);}
k.onclick = function () {placeCoin(k);}
l.onclick = function () {placeCoin(l);}
player = true; // player = boolean(1); --> so besser?
coinIsSet = false;
spielfeld = new Array (12);
function createSpielfeld(x){
var trIdExists = false;
for(String trId:spielfeld){
if (trId == x){// kein equals in js?
trIdExists = true;
}
}
if (!trIdExists){
var string(x) = new Array (12); // ich möchte das angelegte array so nennen wie die zeile (trId)... so möglich?
}
}
function placeCoin (x){
changingPlayers();
createSpielfeld(x);
for (var i=1, coinIsSet, i++){
if (x == null){
var coin = document.createElement('img');
var coinSrc = document.createAttribute('src');
if (player){
coinSrc.value = '../images/player1.png';
reihe1.push('../images/player1.png');
}else{
coinSrc.value = '../images/player2.png';
reihe1.push('../images/player2.png');
}
coin.setAttributeNode(picSrc);
var td = document.getElementById( string(x) + i);
td.appendChild(coin);
coinInPlace = true;
}
}
}
function changingPlayers (){
if (player){
player = false;
}else{
player = true;
}
coinIsSet = false;
}
}
Beim ersten Teil wählt man einfach zwischen 4 Bildern aus und das gewählte wird vergrößert wärend die anderen verschwinden.
Der ganze 2. Teil des Codes soll praktisch ein Viergewinnt Spiel sein bzw werden.
In der html habe ich eine Tabelle.... man spielt gegen einander also klickt abwechselnd mit der Maus.
Immer wenn man an den Anfang einer Tabellenzeile klickt wird von dieser Zeile ein Array angelegt und am Ende ein Bild mit der jeweiligen Farbe des Spielers eingefügt. Sollte von der Zeile schon ein Array vorhanden sein wird überprüft wie viele Bilder schon in der Zeile (dem Array) vorhanden sind und das nächste Bild wird "oben" draufgelegt.
Ich hoffe es ist nicht zu unübersichtlich und soweit verständlich.
Vielleicht kann mir ja der eine oder andere ein paar Tipps geben oder sagen wieso nichts mehr ausgeführt wird ab dem Moment wo der Teil 2 eingefügt wird.
Vielen Dank!
th30r3tisch
ich habe das Problem das ich hier eine js Datei geschrieben habe die leider kein bisschen funktioniert.
Mit Javascript habe ich erst vor kurzem angefangen mich damit zu beschäftigen... davor habe ich nur schon ein wenig Java programmiert... weshalb es durchaus sein kann das ich da ein wenig Code "vermischt" habe.
Mein js das ich geschrieben habe wird leider überhaupt nicht ausgeführt ( und ja die src in der html ist richtig angegeben =D )... und ich habe absolut keine Ahnung wieso nicht... habe schon mit alert alles mögliche versucht... und aus den Fehlermeldungen des Compilers werde ich auch nicht so wirklich schlau. Aber hier erstmal der Code.
window.onload = init;
function init (){
charakter1 = document.getElementById("char1");
charakter2 = document.getElementById("char2");
charakter3 = document.getElementById("char3");
charakter4 = document.getElementById("char4");
charakter1.onclick = function () {chooseCharakter(charakter2, charakter3, charakter4, charakter1);}
charakter2.onclick = function () {chooseCharakter(charakter1, charakter3, charakter4, charakter2); undLos()}
charakter3.onclick = function () {chooseCharakter(charakter2, charakter1, charakter4, charakter3);}
charakter4.onclick = function () {chooseCharakter(charakter2, charakter3, charakter1, charakter4);}
}
function chooseCharakter(x, y ,z, a){
document.getElementsByTagName("section")[0].removeChild(x);
document.getElementsByTagName("section")[0].removeChild(y);
document.getElementsByTagName("section")[0].removeChild(z);
a.className = 'chosen';
}
Wenn nur der Code hier im js steht wird noch alles korrekt ausgeführt. Sobald ich aber das folgende hinzufüge geht gar nichts mehr.
function undLos (){
a = document.getElementById("a0");
b = document.getElementById("b0");
c = document.getElementById("c0");
d = document.getElementById("d0");
e = document.getElementById("e0");
f = document.getElementById("f0");
g = document.getElementById("g0");
h = document.getElementById("h0");
i = document.getElementById("i0");
j = document.getElementById("j0");
k = document.getElementById("k0");
l = document.getElementById("l0");
a.onclick = function () {placeCoin(a);}
b.onclick = function () {placeCoin(b);}
c.onclick = function () {placeCoin(c);}
d.onclick = function () {placeCoin(d);}
e.onclick = function () {placeCoin(e);}
f.onclick = function () {placeCoin(f);}
g.onclick = function () {placeCoin(g);}
h.onclick = function () {placeCoin(h);}
i.onclick = function () {placeCoin(i);}
j.onclick = function () {placeCoin(j);}
k.onclick = function () {placeCoin(k);}
l.onclick = function () {placeCoin(l);}
player = true; // player = boolean(1); --> so besser?
coinIsSet = false;
spielfeld = new Array (12);
function createSpielfeld(x){
var trIdExists = false;
for(String trId:spielfeld){
if (trId == x){// kein equals in js?
trIdExists = true;
}
}
if (!trIdExists){
var string(x) = new Array (12); // ich möchte das angelegte array so nennen wie die zeile (trId)... so möglich?
}
}
function placeCoin (x){
changingPlayers();
createSpielfeld(x);
for (var i=1, coinIsSet, i++){
if (x == null){
var coin = document.createElement('img');
var coinSrc = document.createAttribute('src');
if (player){
coinSrc.value = '../images/player1.png';
reihe1.push('../images/player1.png');
}else{
coinSrc.value = '../images/player2.png';
reihe1.push('../images/player2.png');
}
coin.setAttributeNode(picSrc);
var td = document.getElementById( string(x) + i);
td.appendChild(coin);
coinInPlace = true;
}
}
}
function changingPlayers (){
if (player){
player = false;
}else{
player = true;
}
coinIsSet = false;
}
}
Beim ersten Teil wählt man einfach zwischen 4 Bildern aus und das gewählte wird vergrößert wärend die anderen verschwinden.
Der ganze 2. Teil des Codes soll praktisch ein Viergewinnt Spiel sein bzw werden.
In der html habe ich eine Tabelle.... man spielt gegen einander also klickt abwechselnd mit der Maus.
Immer wenn man an den Anfang einer Tabellenzeile klickt wird von dieser Zeile ein Array angelegt und am Ende ein Bild mit der jeweiligen Farbe des Spielers eingefügt. Sollte von der Zeile schon ein Array vorhanden sein wird überprüft wie viele Bilder schon in der Zeile (dem Array) vorhanden sind und das nächste Bild wird "oben" draufgelegt.
Ich hoffe es ist nicht zu unübersichtlich und soweit verständlich.
Vielleicht kann mir ja der eine oder andere ein paar Tipps geben oder sagen wieso nichts mehr ausgeführt wird ab dem Moment wo der Teil 2 eingefügt wird.
Vielen Dank!
th30r3tisch