Gute Tag Forum
Bin grad dabei etwas schreiben zu lernen. Ja und habe da keine erfahrung und ja bin ganz am anfang.
Aber dennoch habe ich da eine Aufgabe bekommen wo ich nicht weiter kommen.
Geht um das Spiel Kniffel. Da stehen immer aufgaben die ich machen soll. Bei style.css hab ich alles verstanden aber hier bei script.js komm ich nicht weiter.
HTML
/**
* Gesamtpunktzahl
*
* @var number
*/
var score = 0;
/**
* Anzahl der get‰tigten W¸rfe in dieser Runde
*
* @var number
*/
var rolled = 0;
/**
* Alle aktuellen W¸rfelwerte
*
* @var array
*/
var values = [];
/**
* Alle W¸rfel werfen
*
* @return void
*/
function rollDices() {
// Alle HTML Elemente mit der CSS Klasse "dice" ermitteln
var dices = document.getElementsByClassName('dice');
// Die aktuellen W¸rfelwerte zur¸cksetzen
values = [];
for (var i = 0; i < dices.length; i++) {
// @TODO W¸rfel nicht w¸rfeln, wenn dieser gehalten wird
// Eine Zufallszahl zwischen 1 und 6 generieren und dem W¸rfel zuweisen
dices[i].value = Math.floor((Math.random() * 6) + 1);
// Aktuellen W¸rfelwert merken
var value = parseInt(dices[i].value);
values.push(value);
}
// Anzahl der get‰tigten W¸rfe erhˆhen
rolled++;
}
/**
* W¸rfel einem Feld zuweisen
*
* @param HTMLElement field
* @param mixed type
* @return void
*/
function assignDices(field, type) {
// @TODO Verhindern Sie, dass die W¸rfel einem Feld mehr als einmal zugewiesen werden kˆnnen
// Die zu vergebenden Punkte
var points = 0;
// Punkte berechnen
switch (type) {
// Einser bis Sechser @TODO Erweitern Sie, damit auch Dreier, Vierer, F¸nfer und Sechser berechnet werden
case 1:
case 2:
points = getEinserBisSechser(type);
break;
case 'Dreierpasch':
points = getPasch(3);
break;
case 'Viererpasch':
points = getPasch(4);
}
// Punkte zuweisen
field.innerHTML = points;
// Gesamtpunktzahl erhˆhen und in das HTML Element mit der ID score schreiben
score += points;
document.getElementById('score').innerHTML = score;
// Runde zur¸cksetzen
resetRound();
}
/**
* Einser bis Sechser berechnen
*
* @param number num
* @return void
*/
function getEinserBisSechser(num) {
var points = 0;
for (var i = 0; i < values.length; i++) {
if (values[i] == num) {
points += num;
}
}
return points;
}
/**
* Pasch berechnen
*
* @param number num
* @return void
*/
function getPasch(num) {
var points = 0;
// @TODO Berechnen Sie einen Dreier- und Viererpasch
return points;
}
/**
* Diese Runde zur¸cksetzen
*
* @return void
*/
function resetRound() {
var dices = document.getElementsByClassName('dice');
for (var i = 0; i < dices.length; i++) {
// Alle W¸rfel loslassen
dices[i].removeAttribute('data-hold');
// Alle W¸rfelwerte zur¸cksetzen
dices[i].value = 0;
}
// Alle gemerkten W¸rfelwerte zur¸cksetzen
values = [];
// @TODO Setzen Sie die Anzahl der get‰tigten W¸rfe zur¸ck
}
/**
* W¸rfel halten oder loslassen
*
* @param HTMLElement dice
* @return void
*/
function toggleDice(dice) {
// @TODO Verhindern Sie, dass die W¸rfel gehalten oder losgelassen werden kˆnnen, bevor mindestens einmal gew¸rfelt wurde
if (dice.getAttribute('data-hold')) {
// Das HTML Attribut "data-hold" existiert bereits und wird entfernt
dice.removeAttribute('data-hold');
} else {
// Das HTML Attribut "data-hold" existiert noch nicht und wird gesetzt
dice.setAttribute('data-hold', 1);
}
// Fokus auf diesen W¸rfel entfernen
dice.blur();
}
Alles anzeigen
Und zwar bei "// Alle HTML Elemente mit der CSS Klasse "dice" ermitteln" komm ich direkt nicht weiter
Kann mir jemand da vll unter die Armen greifen und helfen es zu verstehen was und wie es geht???
Vielen dank im Vorraus ;););)
Gruß 247