Hjälp med Javascript - Nybörjarnivå

Permalänk
Medlem

Hjälp med Javascript - Nybörjarnivå

Tja! Håller på med en uppgift i javascript och behöver lite hjälp på vägen, så om någon har lite tips på hur jag kan lösa problemet vore det awesome!
Det är så att jag ska göra ett tärningspel, det jag har problem med är att skriva ut den totala poängen. Längst ner i koden försöker jag skriva ut poängen med hjälp av:

var totalScore = Number(score);
sumFields.innerHTML += totalScore;

Men då hamnar poängen bara i en lång rad tex såhär: 5 -5 10 5 5 -5 -5 -5 osv. Jag vill alltså summera poängen efter varje kast. Alltså ett tal som ökas istället för en lång rad med massor av tal.

Jag förstår varför min kod inte fungerar, men jag vet inte hur jag ska lösa det.

Hoppas ni förstår vad jag menar!

var picture, picture2, picture3, roll, nr1, nr2, nr3, pointsField, sumField, totalScore, score; function init() { picture = document.getElementById("dice1"); picture2 = document.getElementById("dice2"); picture3 = document.getElementById("dice3"); pointsField = document.getElementById("pointsField"); sumFields = document.getElementById("sumField"); } window.onload = init; function RTD(nr) { roll = Math.floor((Math.random()*6)+1); if(nr == 1) { picture.src ="dice/" +roll+".jpg"; nr1 = roll; } if(nr == 2) { picture2.src ="dice/" +roll+".jpg"; nr2 = roll; } if(nr == 3) { picture3.src ="dice/" +roll+".jpg"; nr3 = roll; } } function threeThrow() { RTD(1); RTD(2); RTD(3); if(nr1 == nr2 == nr3) { score = 10; pointsField.innerHTML = score; } else if(nr1 == nr2 || nr1 == nr3 || nr2 == nr3) { score = 5; pointsField.innerHTML = score; } else{ score = -5; pointsField.innerHTML = score; } var totalScore = Number(score); sumFields.innerHTML += totalScore; }

Permalänk
Medlem

Eftersom du ändå redan har alla variabler globala (vilket du inte bör!)
så är det bara att du summerar i totalScore

Dessutom ska du använda [CODE] taggar när du lägger in kod.

Permalänk
Medlem

Jag skulle sätta en femma på att du får tillbaka en sträng från innerHTML och att din score läggs till på strängen. Du behöver ta ut värdet som finns i din pointField, addera det med score och sedan sätta din innerHTML med det nya värdet. Det går med andra ord inte att använda += operatorn då det blir sträng = sträng + int.

Permalänk
Medlem
Skrivet av Pie-or-paj:

Eftersom du ändå redan har alla variabler globala (vilket du inte bör!)
så är det bara att du summerar i totalScore

Dessutom ska du använda [CODE] taggar när du lägger in kod.

Tack för ditt svar! Ska titta på det där med mina globala variabler sen.

Har försökt på olika sätt att summera det, men har inte lyckats, skulle du kunna ge ett exempel på hur jag gör?
Är kanske jättesimpelt men är lite trött i huvudet på det här just nu.

Permalänk
Medlem
Skrivet av hagenius:

Tack för ditt svar! Ska titta på det där med mina globala variabler sen.

Har försökt på olika sätt att summera det, men har inte lyckats, skulle du kunna ge ett exempel på hur jag gör?
Är kanske jättesimpelt men är lite trött i huvudet på det här just nu.

totalScore += score

Eller för att göra det tydligare

totalScore = totalScore + score

Permalänk
Medlem
Skrivet av Pie-or-paj:

totalScore += score

Eller för att göra det tydligare

totalScore = totalScore + score

Får dock bara NaN när jag försöker med det

Permalänk
Medlem
Skrivet av hagenius:

Får dock bara NaN när jag försöker med det

Initiera totalScore till 0 innan du försöker räkna med den.
Du kan inte räkna med saker som inte är numeriska.

Permalänk
Medlem

fixade det, glömde spara värdet i en global variabel