Artikel JavaScript och Node.js

  • Författare
  • Meddelande
Online
Användarvisningsbild

mos

dbwebb

  • Inlägg: 11076
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Artikel JavaScript och Node.js

Inlägg17 jan 2019, 21:10

Artikeln "JavaScript och Node.js" ger de första stapplande stegen i hur man skriver JavaScript-kod i Node.js. Artikeln visar hur man kör interpretator, hur man bygger ett main-program och hur man jobbar med kod i filer där man kan lägga funktioner och klasser och sedan importera dem i moduler in i main-programmet.

Bidra med tips och trix eller ställ frågor om artikeln.
...
..:
.... /mos

lisj18

webbsurfare

  • Inlägg: 7
  • Blev medlem: 26 aug 2018, 23:10

Re: Artikel JavaScript och Node.js

Inlägg31 jan 2019, 23:38

När jag skriver koden för tärningen i yatzy-spelet enligt nedan så får jag siffror mellan 1 och 7 och det blir ju fel. Tar jag bort +1 så får jag istället siffror mellan 0 och 6 vilket också blir fel.
För visst är det väl den raden som ger vilka siffror som ska slumpas ut? Eller är det något annat som bestämmer det som jag har missat?


Kod: Markera allt
* @returns {integer} The value of the rolled dice min=1 and max=faces.
     */
    roll(faces=6) {
        this.dice = Math.round(Math.random() * faces + 1);
        return this.dice;
Online
Användarvisningsbild

mos

dbwebb

  • Inlägg: 11076
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Artikel JavaScript och Node.js

Inlägg01 feb 2019, 11:48

Du har så rätt, dessutom är du nog först att påpeka att jag skrivit fel kod för att slumpa tärningen, stabilt gjort.

Det är Math.round() som spelar oss ett spratt, Math.floor() blir bättre.
Kod: Markera allt
> Math.random()
0.5631046138450704
> Math.round(6.6)
7
> Math.floor(6.6)
6


Så koden som slumpar tärningen bör se ut så här.
Kod: Markera allt
    /**
     * Roll the dice and remember tha value of the rolled dice.
     *
     * @param {integer} faces The number of faces of the dice, defaults to 6.
     *
     * @returns {integer} The value of the rolled dice min=1 and max=faces.
     */
    roll(faces=6) {
        this.dice = Math.floor(Math.random() * faces + 1);
        return this.dice;
    }


Jag uppdaterar artikeln, och kursrepots exempelprogram.
...
..:
.... /mos

Vilka är online

Användare som besöker denna kategori: MagI och 3 gäster