How to add a dice into branching scenario

I have already coded my HTML, CSS and JavaScript for school project relating to branching scenarios. I want to add a dice in a few places to make the game more interactive. However I can’t seem to make it work because whenever I try to add the dice at id: 19, 23, 29 and 34 in JS the whole thing stops working.

"use strict";
const heading_element = document.getElementById('heading'); //laver en heading, relevant på nogle af objecterne
const txt_element = document.getElementById('txt'); //henter de elementer der skal kunne ændres for hver skift
const buttonsContainer = document.getElementById('buttons-container'); //henter knapperne så de kan justeres alt efter om der skal være 2 eller 3

//Array med objecter(som indeholder array)
const steps = [ //et array
  {
    id: 0, //med et object
    heading: "Pros. VS Cons",
    txt: "En beslutningsrejse",
    options: [ //med et array
      {
        target: 1,
        txt: "Regler"
      },
      {
        target: 2,
        txt: "Start"
      }
    ]
  },
  {
    id: 1,
    heading: "Regler",
    txt: "Spillet bygger på princippet “Affordable loss” som omhandler entreprenørskab. I spillet skal du tage de valg som du selv føler passer bedst til dig og dine ideér, du vil undervejs skulle tage valg, som enten koster dig penge eller øger din indkomst. Alt efter hvilke valg du tager, kan du også få en ekstra chance undervejs til at tjene lidt ekstra i form af et terning kast.",
    options: [{
      target: 2,
      txt: "Start spil"
    }]
  },
  { //spillet/testen starter med dette
    id: 2,
    txt: "Du skal til at starte din første virksomhed op. Din start kapital er: 100 $. Du vil blive præsenteret for forskellige scenarier, med to svar valgmuligheder, hvor du træffer valget. ",
    options: [{
      target: 3,
      txt: "Næste"
    }]
  },
  { //første gren
    id: 3,
    txt: "Du har startet din virksomhed, men inden du kan komme rigtig i gang skal du beslutte dig om du vil arbejde hjemme fra eller leje et lokale.",
    options: [{
        target: 4,
        txt: "Du ønsker at arbejde hjemmefra."
      },
      {
        target: 5,
        txt: "Du ønsker at leje dig ind i et kontorfællesskab."
      }
    ]
  },
  {
    id: 4,
    txt: "Du har valgt at starte din virksomhed op derhjemme og har nu fået indrettet dit hjemmekontor. Dertil har du også tilmeldt dig diverse start-up forums, hvor du vil have mulighed for sparing og lignende.",
    options: [{
      target: 6,
      txt: "Næste"
    }]
  },
  {
    id: 5,
    txt: "Du har valgt at leje dig ind i et kontorfællesskab med andre start-up virksomheder og får derved også udvidet dit netværk. Det koster dig -$10",
    options: [{
      target: 6,
      txt: "Næste"
    }]
  },
  {
    id: 6,
    txt: "Du er nu kommet på plads og er klar til at markedsføre din virksomhed, så du kan få nogle kunder!",
    options: [{
        target: 7,
        txt: "Du vælger at hyre en markedsføringskonsulent til at køre kampagnen for din virksomhed."
      },
      {
        target: 8,
        txt: "Du vælger selv at lave din markedsføring ved at ringe rundt til diverse virksomheder og tilbyde din service, samt egen digitale kampagner osv. "
      }
    ]
  },
  {
    id: 7,
    txt: "Markedsføringskonsulenten har gjort et rigtig godt job og har fået spredt budskabet om din virksomhed. Du har fået en del kundekontrakter. Markedsføringen har kostet dig -$10.Du indtjener $10",
    options: [{
      target: 9,
      txt: "Næste"
    }]
  },
  {
    id: 8,
    txt: "Du ringer rundt til diverse virksomheder og ender med at få enkelte kunder. Men budskabet om at du har opstartet en virksomhed er ikke nået særlig langt ud. Du indtjener $10",
    options: [{
      target: 9,
      txt: "Næste"
    }]
  },
  {
    id: 9,
    txt: "Du har nu været selvstændig i noget tid, og alt ser ud til at gå godt. Du har derfor nu mulighed for at fortsætte som enkelt mands virksomhed eller ansætte en studentermedhjælper.",
    options: [{
        target: 10,
        txt: "Du vælger at ansætte en studentermedhjælper."
      },
      {
        target: 24,
        txt: "Du vælger at fortsætte alene, uden nogle medarbejder"
      }
    ]
  },
  { //BRANCHING MED STUDIEMEDHJAELPER
    id: 10,
    txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt. Dig og studiemedarbejderen deler arbejdet mellem jer.",
    options: [{
      target: 11,
      txt: "Næste"
    }]
  },
  {
    id: 11,
    txt: "Kunden er tilfreds med arbejdet og anbefaler din virksomhed til andre. Studentermedhjælperen koster -$10. Du tjener på kommende kunder $30",
    options: [{
      target: 12,
      txt: "Næste"
    }]
  },
  {
    id: 12,
    txt: "Din kunde var tilfreds, så du og din studentermedhjælper har travlt med at arbejde igennem den lange liste af nye tilstrømmende kunder.",
    options: [{
        target: 13,
        txt: "Du ansætter en mere erfaren fuldtidsmedarbejder, og begynder at tage imod større kundeopgaver."
      },
      {
        target: 14,
        txt: "Du tager kun imod små kundeopgaver, sammen med din studiemedhjælper."
      }
    ]
  },
  {
    id: 13,
    txt: "Din indtægt er steget, da du ved at have ansat endnu en medarbejder nu kan acceptere flere og større projekter. Den nye medarbejder koster -$30. Du tjener $60",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 14,
    txt: "Du tjener stadig selvom du kun acceptere små kunde opgaver. Du ville dog have kunnet tjent mere hvis du havde ansat endnu en medarbejder. Du tjener $10",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 15,
    txt: "Grundet de mange forskellige opgaver, som kræver forskellige programmer, begynder din computer at køre dårligere, hvilket påvirker opgaverne og skubber deadlines.",
    options: [{
        target: 16,
        txt: "Du vælger at vente med at skaffe en bedre computer til et senere tidspunkt"
      },
      {
        target: 17,
        txt: "Du vælger at skaffe en bedre computer for at kunne nå deadlines og få tilfredse kunder"
      }
    ]
  },
  {
    id: 16,
    txt: "Din computer er blevet markant langsommere og giver problemer med nuværende og kommende deadlines.",
    options: [{
      target: 18,
      txt: "Næste"
    }]
  },
  {
    id: 17,
    txt: "Du køber en ny computer, som betydeligt forbedre dit arbejdshastighed. Den nye computer koster -$20. Du tjener $40",
    options: [{
      target: 19,
      txt: "Næste"
    }]
  },
  {
    id: 18,
    txt: "Computeren bryder sammen, og du må desværre vente 2 uger før en ny kan komme. Det resultere i at du må udskyde deadlines med dine kunder. Grundet din manglende rettidig omhu vil du komme til at miste indtægt i den periode, hvor du ingen computer har.Det koster dig -$30",
    options: [{
      target: 20,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 19,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
      target: 33,
      txt: "Næste"
    }],

  },
  {
    id: 20,
    txt: "På trods af de problemer din virksomhed har stødt på, så er den kommet godt ud af dem. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
    options: [{
        target: 21,
        txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
      },
      {
        target: 22,
        txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
      }
    ]
  },
  {
    id: 21,
    txt: "Dagen er kommet for status og revisoren er kommet. Revisoren kan ikke finde det han leder efter og han ender med at bruge længere tid ved dig.Det koster $20",
    options: [{
      target: 35,
      txt: "Næste"
    }]
  },
  {
    id: 22,
    txt: "Dagen er kommet for status. Da revisoren ankommer ligger alle dokumenter klar og han tager hurtigt videre til hans næste klient. Det koster $10",
    options: [{
      target: 23,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 23,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
      target: 35,
      txt: "Næste"
    }],
  },
  { //BRANCHING UDEN STUDIEMEDHJÆLPER
    id: 24,
    txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt.",
    options: [{
      target: 25,
      txt: "Næste"
    }]
  },
  {
    id: 25,
    txt: "Kunden er ikke tilfreds med arbejdet og anbefaler dig derfor ikke til andre i deres omkreds. Du tjener $10.",
    options: [{
      target: 26,
      txt: "Næste"
    }]
  },
  {
    id: 26,
    txt: "Kunden var ikke tilfreds med dit arbejde og du overvejer derfor om du burde ansætte en studentermedhjælper til at hjælpe med større opgaver, så det samme ikke sker igen.",
    options: [{
        target: 27,
        txt: "Du vælger ikke at ansætte en, men derimod arbejde videre alene. Du vil dog kun tage imod opgaver med længere deadlines"
      },
      {
        target: 28,
        txt: "Du ansætter en studentermedhjælper, så du kan tage imod flere opgaver med både korte- og lange deadlines, "
      }
    ]
  },
  {
    id: 27,
    txt: "Da du har valgt at fortsætte med at arbejde alene, vælger du ikke at acceptere større opgaver og mister derfor muligheden for en større økonomisk fortjeneste. Du tjener $10",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 28,
    txt: "Du ansætter en studentermedhjælper, så du kan fordele arbejdspresset og varetage større arbejdsopgaver som også har større økonomiske fortjenester. Studentermedhjælperen koster - $20. Du tjener $40",
    options: [{
      target: 29,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 29,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
        target: 30,
        txt: "Næste"
      },

    ],
  },
  {
    id: 30,
    txt: "I har taget i mod mange store opgaver, som giver et stort arbejdspres derfor har du og din medarbejder brug for en bedere computer for at kunne følge med.0",
    options: [{
        target: 31,
        txt: "Du venter med at skaffe en bedre computer, da den trodsalt stadig kan bruges."
      },
      {
        target: 32,
        txt: "Du vælger at købe en bedre computer for at sikre, at I kan nå deadlines."
      }
    ]
  },
  {
    id: 31,
    txt: "Din medarbejder begynder at have bøvl med computeren og det giver problemer med nuværende og kommende deadlines.",
    options: [{
      target: 20,
      txt: "Næste"
    }]
  },
  {
    id: 32,
    txt: "Du køber nye computer til din medarbejder, og det gør at deres arbejdshastighed er hurtigere og de når deres deadlines. Du får endnu flere tilfredse kunder. Den nye computer koster -$20. Du tjener $40",
    options: [{
      target: 33,
      txt: "Næste"
    }]
  },
  {
    id: 33,
    txt: "Det går godt for din virksomhed. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
    options: [{
        target: 21,
        txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
      },
      {
        target: 34,
        txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
      }
    ]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 34,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
        target: 35,
        txt: "Næste"
      }

    ],
  },
  { /* DETTE ER SLUTNINGEN AF SPILLET!! */
    id: 35,
    txt: "Regnskabet er ordnet, så lad os se hvordan det er gået din virksomhed indtil nu"
  },
]


function scenarieStart(stepIndex) { // denne starter scenariet
  const currentStep = steps[stepIndex]; //henter det step man er på

  heading_element.textContent = currentStep.heading;
  txt_element.textContent = currentStep.txt; //justere teksten så det passer til hvor man er/henter txt fra den step man er på

  buttonsContainer.innerHTML = ""; //fjerner knapperne i html, så de kun dukker op i det antal af targets man har, prøvede at slette dem helt i html og denne linje men så fungere det ikke. 

  currentStep.options.forEach((option, index) => { //kører de forskellige valgmuligheder igennem for hvert step
    const button = document.createElement("button"); //danner knapper for hver valgmulighed der er
    button.textContent = option.txt; //indsætter txt for hver valgmulighed på knappen
    button.classList.add("btn"); //tilføjer styling på knappen

    button.addEventListener("click", () => { //tilføjer en event, så knapperne rent faktisk kan navigerer
      scenarieStart(option.target); //denne kigger efter de valgt man har taget og kører en videre til det næste step
    });

    buttonsContainer.appendChild(button); //skaber knapperne som barn af containeren/tilføjer knappen til html igen
  });
}


//denne sikre at det hele starter fra step 0
scenarieStart(0);
<title>Pros._VS_Cons!</title>
<link rel="stylesheet" href="css/style.css">
<script src="script.js" defer></script>

<img src="img/bg_1-100.jpg" alt="retro baggrund af windows 95" aria-hidden="true" class="bg">
<header id="header">

</header>
<main class="window">
  <div class="branch">
    <div id="heading">Heading</div>
    <div id="txt">Text</div>
    <div id="buttons-container">
      <button class="btn">option_1</button>
      <button class="btn">option_2</button>
      <button class="btn">option_3</button>
    </div>

  </div>
</main>

I have tried adding this function in the id where the dice is needed:

// Function to roll the dice
function rollDice() {
    // Generate a random number between 1 and 6
    let diceRoll = Math.floor(Math.random() * 6) + 1;
    
    // Display the result
    document.getElementById('diceResult').innerHTML = `You rolled: ${diceRoll}`;
    
    // Update the dice image (optional, if you have dice images)
    let diceImage = document.getElementById('diceImage');
    diceImage.src = `dice${diceRoll}.png`; // Assuming you have images named dice1.png, dice2.png, etc.
}

I’ve also tried adding a secondary HTML with JS in it, so it links to that when the dice is meant to be shown.

2

Here is a version that handles the money and the dice.

Make sure all amounts are on the format $NN or -$NN – for example your initial amount was “100 $” which would need a specific case to handle

You could change the array I use to test the heading contains "Tag en chance!" instead

I hope it is what you meant. Enjoy – Held og lykke.

"use strict";
const heading_element = document.getElementById('heading'); 
const txt_element = document.getElementById('txt'); 
const buttonsContainer = document.getElementById('buttons-container'); 

const brugTerninger = [19, 23, 29, 34]; // Steps where the dice roll interruption occurs
let attemptsLeft = 3; // Counter for the dice roll attempts
let playerMoney = 0;

function scenarieStart(stepIndex) {
  const currentStep = steps[stepIndex];
  heading_element.textContent = currentStep.heading || "Spil videre";
  
  // Parse and adjust the player's bankroll based on the text content
  updatePlayerMoneyBasedOnText(currentStep.txt);
  
  txt_element.textContent = currentStep.txt;
  buttonsContainer.innerHTML = ""; 

  // Check if the current step is an interruption step
  if (brugTerninger.includes(stepIndex)) {
    initiateDiceRoll(stepIndex); // Pass the current step index
  } else {
    // Only proceed if there are options in the current step
    if (currentStep.options && currentStep.options.length > 0) {
      currentStep.options.forEach((option) => {
        const button = document.createElement("button");
        button.textContent = option.txt;
        button.classList.add("btn");

        button.addEventListener("click", () => {
          scenarieStart(option.target);
        });

        buttonsContainer.appendChild(button);
      });
    } else {
      // Handle the case when there are no more options (e.g., the end of the game)
      txt_element.textContent = "Spillet er slut. Tak for at spille!";
    }
  }
}

// Function to handle dice roll interruption
function initiateDiceRoll(stepIndex) {
  heading_element.textContent = "Tag en chance!";
  txt_element.textContent = `Du har 3 forsøg til at slå en 6'er. Forsøg tilbage: ${attemptsLeft}`;

  const rollButton = document.createElement("button");
  rollButton.textContent = "Slå terningen";
  rollButton.classList.add("btn");

  rollButton.addEventListener("click", () => {
    const diceRoll = Math.floor(Math.random() * 6) + 1;
    document.getElementById('diceResult').innerHTML = `Du slog: ${diceRoll}`;
    
    if (diceRoll === 6) {
      // Success, give $25 and continue
      txt_element.textContent = "Tillykke! Du slog en 6'er og har tjent $25!";
      playerMoney += 25; // Add $25 to the player's money
      updatePlayerMoney(); // Update the UI to reflect the new money
      attemptsLeft = 3; // Reset the attempts for the next chance phase
      removeRollButton(rollButton); // Remove dice roll button
      proceedToNextStep(stepIndex); // Continue to next step
    } else {
      // Decrement attempts left and check if any attempts remain
      attemptsLeft--;
      if (attemptsLeft > 0) {
        txt_element.textContent = `Du slog ikke en 6'er. Forsøg tilbage: ${attemptsLeft}`;
      } else {
        // No more attempts, continue without reward
        txt_element.textContent = "Du slog ikke en 6'er, men spillet fortsætter.";
        attemptsLeft = 3; // Reset the attempts for the next chance phase
        removeRollButton(rollButton); // Remove dice roll button
        proceedToNextStep(stepIndex); // Continue to next step
      }
    }
  });

  buttonsContainer.appendChild(rollButton);
}

function proceedToNextStep(currentStepIndex) {
  const currentStep = steps[currentStepIndex];
  // Are there options for the current step?
  if (currentStep.options && currentStep.options.length > 0) {
    // Get the next step based on the current step's options
    const nextStep = currentStep.options[0].target;

    const continueButton = document.createElement("button");
    continueButton.textContent = "Fortsæt";
    continueButton.classList.add("btn");

    continueButton.addEventListener("click", () => {
      scenarieStart(nextStep); // Move to the next step
    });

    buttonsContainer.appendChild(continueButton);
  } else {
    // Handle case where there are no options, typically end of game
    txt_element.textContent = "Spillet er slut. Tak for at spille!";
  }
}

function removeRollButton(button) {
  // Disable and remove the dice roll button
  button.disabled = true;
  button.remove();
}

// Update player's money display
function updatePlayerMoney() {
  const moneyElement = document.getElementById('playerMoney');
  if (moneyElement) {
    moneyElement.textContent = `Din nuværende balance: $${playerMoney}`;
  }
}

// Function to parse text and adjust the player money based on monetary values
function updatePlayerMoneyBasedOnText(text) {
  const moneyPattern = /-?$d+/g; // Regex to find money patterns like $20 or -$30
  const matches = text.match(moneyPattern);

  if (matches) {
    matches.forEach((match) => {
      const value = parseInt(match.replace('$', '')); // Remove '$' and parse the number
      playerMoney += value; // Add or subtract from the player's money
    });
    updatePlayerMoney(); // Update the money display after parsing
  }
}

// Initialize the game
scenarieStart(0);
<title>Pros._VS_Cons!</title>
<link rel="stylesheet" href="css/style.css">
<script src="script.js" defer></script>

<img src="img/bg_1-100.jpg" alt="retro baggrund af windows 95" aria-hidden="true" class="bg">
<header id="header">

</header>
<main class="window">
  <div id="playerMoney">Din nuværende balance: $0</div>
  <div id="diceResult"></div>
  <img id="diceImage" src="" alt="Dice image" style="display:none;">

  <div class="branch">
    <div id="heading">Heading</div>
    <div id="txt">Text</div>
    <div id="buttons-container">
      <button class="btn">option_1</button>
      <button class="btn">option_2</button>
      <button class="btn">option_3</button>
    </div>

  </div>
</main>

<script>
  //Array med objecter(som indeholder array)
  const steps = [ //et array
    {
      id: 0, //med et object
      heading: "Pros. VS Cons",
      txt: "En beslutningsrejse",
      options: [ //med et array
        {
          target: 1,
          txt: "Regler"
        },
        {
          target: 2,
          txt: "Start"
        }
      ]
    },
    {
      id: 1,
      heading: "Regler",
      txt: "Spillet bygger på princippet “Affordable loss” som omhandler entreprenørskab. I spillet skal du tage de valg som du selv føler passer bedst til dig og dine ideér, du vil undervejs skulle tage valg, som enten koster dig penge eller øger din indkomst. Alt efter hvilke valg du tager, kan du også få en ekstra chance undervejs til at tjene lidt ekstra i form af et terning kast.",
      options: [{
        target: 2,
        txt: "Start spil"
      }]
    },
    { //spillet/testen starter med dette
      id: 2,
      txt: "Du skal til at starte din første virksomhed op. Din start kapital er: $100. Du vil blive præsenteret for forskellige scenarier, med to svar valgmuligheder, hvor du træffer valget. ",
      options: [{
        target: 3,
        txt: "Næste"
      }]
    },
    { //første gren
      id: 3,
      txt: "Du har startet din virksomhed, men inden du kan komme rigtig i gang skal du beslutte dig om du vil arbejde hjemme fra eller leje et lokale.",
      options: [{
          target: 4,
          txt: "Du ønsker at arbejde hjemmefra."
        },
        {
          target: 5,
          txt: "Du ønsker at leje dig ind i et kontorfællesskab."
        }
      ]
    },
    {
      id: 4,
      txt: "Du har valgt at starte din virksomhed op derhjemme og har nu fået indrettet dit hjemmekontor. Dertil har du også tilmeldt dig diverse start-up forums, hvor du vil have mulighed for sparing og lignende.",
      options: [{
        target: 6,
        txt: "Næste"
      }]
    },
    {
      id: 5,
      txt: "Du har valgt at leje dig ind i et kontorfællesskab med andre start-up virksomheder og får derved også udvidet dit netværk. Det koster dig -$10",
      options: [{
        target: 6,
        txt: "Næste"
      }]
    },
    {
      id: 6,
      txt: "Du er nu kommet på plads og er klar til at markedsføre din virksomhed, så du kan få nogle kunder!",
      options: [{
          target: 7,
          txt: "Du vælger at hyre en markedsføringskonsulent til at køre kampagnen for din virksomhed."
        },
        {
          target: 8,
          txt: "Du vælger selv at lave din markedsføring ved at ringe rundt til diverse virksomheder og tilbyde din service, samt egen digitale kampagner osv. "
        }
      ]
    },
    {
      id: 7,
      txt: "Markedsføringskonsulenten har gjort et rigtig godt job og har fået spredt budskabet om din virksomhed. Du har fået en del kundekontrakter. Markedsføringen har kostet dig -$10. Du indtjener $10",
      options: [{
        target: 9,
        txt: "Næste"
      }]
    },
    {
      id: 8,
      txt: "Du ringer rundt til diverse virksomheder og ender med at få enkelte kunder. Men budskabet om at du har opstartet en virksomhed er ikke nået særlig langt ud. Du indtjener $10",
      options: [{
        target: 9,
        txt: "Næste"
      }]
    },
    {
      id: 9,
      txt: "Du har nu været selvstændig i noget tid, og alt ser ud til at gå godt. Du har derfor nu mulighed for at fortsætte som enkelt mands virksomhed eller ansætte en studentermedhjælper.",
      options: [{
          target: 10,
          txt: "Du vælger at ansætte en studentermedhjælper."
        },
        {
          target: 24,
          txt: "Du vælger at fortsætte alene, uden nogle medarbejder"
        }
      ]
    },
    { //BRANCHING MED STUDIEMEDHJAELPER
      id: 10,
      txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt. Dig og studiemedarbejderen deler arbejdet mellem jer.",
      options: [{
        target: 11,
        txt: "Næste"
      }]
    },
    {
      id: 11,
      txt: "Kunden er tilfreds med arbejdet og anbefaler din virksomhed til andre. Studentermedhjælperen koster -$10. Du tjener på kommende kunder $30",
      options: [{
        target: 12,
        txt: "Næste"
      }]
    },
    {
      id: 12,
      txt: "Din kunde var tilfreds, så du og din studentermedhjælper har travlt med at arbejde igennem den lange liste af nye tilstrømmende kunder.",
      options: [{
          target: 13,
          txt: "Du ansætter en mere erfaren fuldtidsmedarbejder, og begynder at tage imod større kundeopgaver."
        },
        {
          target: 14,
          txt: "Du tager kun imod små kundeopgaver, sammen med din studiemedhjælper."
        }
      ]
    },
    {
      id: 13,
      txt: "Din indtægt er steget, da du ved at have ansat endnu en medarbejder nu kan acceptere flere og større projekter. Den nye medarbejder koster -$30. Du tjener $60",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 14,
      txt: "Du tjener stadig selvom du kun acceptere små kunde opgaver. Du ville dog have kunnet tjent mere hvis du havde ansat endnu en medarbejder. Du tjener $10",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 15,
      txt: "Grundet de mange forskellige opgaver, som kræver forskellige programmer, begynder din computer at køre dårligere, hvilket påvirker opgaverne og skubber deadlines.",
      options: [{
          target: 16,
          txt: "Du vælger at vente med at skaffe en bedre computer til et senere tidspunkt"
        },
        {
          target: 17,
          txt: "Du vælger at skaffe en bedre computer for at kunne nå deadlines og få tilfredse kunder"
        }
      ]
    },
    {
      id: 16,
      txt: "Din computer er blevet markant langsommere og giver problemer med nuværende og kommende deadlines.",
      options: [{
        target: 18,
        txt: "Næste"
      }]
    },
    {
      id: 17,
      txt: "Du køber en ny computer, som betydeligt forbedre dit arbejdshastighed. Den nye computer koster -$20. Du tjener $40",
      options: [{
        target: 19,
        txt: "Næste"
      }]
    },
    {
      id: 18,
      txt: "Computeren bryder sammen, og du må desværre vente 2 uger før en ny kan komme. Det resultere i at du må udskyde deadlines med dine kunder. Grundet din manglende rettidig omhu vil du komme til at miste indtægt i den periode, hvor du ingen computer har. Det koster dig -$30",
      options: [{
        target: 20,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 19,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
        target: 33,
        txt: "Næste"
      }],

    },
    {
      id: 20,
      txt: "På trods af de problemer din virksomhed har stødt på, så er den kommet godt ud af dem. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
      options: [{
          target: 21,
          txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
        },
        {
          target: 22,
          txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
        }
      ]
    },
    {
      id: 21,
      txt: "Dagen er kommet for status og revisoren er kommet. Revisoren kan ikke finde det han leder efter og han ender med at bruge længere tid ved dig. Det koster $20",
      options: [{
        target: 35,
        txt: "Næste"
      }]
    },
    {
      id: 22,
      txt: "Dagen er kommet for status. Da revisoren ankommer ligger alle dokumenter klar og han tager hurtigt videre til hans næste klient. Det koster $10",
      options: [{
        target: 23,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 23,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
        target: 35,
        txt: "Næste"
      }],
    },
    { //BRANCHING UDEN STUDIEMEDHJÆLPER
      id: 24,
      txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt.",
      options: [{
        target: 25,
        txt: "Næste"
      }]
    },
    {
      id: 25,
      txt: "Kunden er ikke tilfreds med arbejdet og anbefaler dig derfor ikke til andre i deres omkreds. Du tjener $10.",
      options: [{
        target: 26,
        txt: "Næste"
      }]
    },
    {
      id: 26,
      txt: "Kunden var ikke tilfreds med dit arbejde og du overvejer derfor om du burde ansætte en studentermedhjælper til at hjælpe med større opgaver, så det samme ikke sker igen.",
      options: [{
          target: 27,
          txt: "Du vælger ikke at ansætte en, men derimod arbejde videre alene. Du vil dog kun tage imod opgaver med længere deadlines"
        },
        {
          target: 28,
          txt: "Du ansætter en studentermedhjælper, så du kan tage imod flere opgaver med både korte- og lange deadlines, "
        }
      ]
    },
    {
      id: 27,
      txt: "Da du har valgt at fortsætte med at arbejde alene, vælger du ikke at acceptere større opgaver og mister derfor muligheden for en større økonomisk fortjeneste. Du tjener $10",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 28,
      txt: "Du ansætter en studentermedhjælper, så du kan fordele arbejdspresset og varetage større arbejdsopgaver som også har større økonomiske fortjenester. Studentermedhjælperen koster - $20. Du tjener $40",
      options: [{
        target: 29,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 29,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
          target: 30,
          txt: "Næste"
        },

      ],
    },
    {
      id: 30,
      txt: "I har taget i mod mange store opgaver, som giver et stort arbejdspres derfor har du og din medarbejder brug for en bedere computer for at kunne følge med.0",
      options: [{
          target: 31,
          txt: "Du venter med at skaffe en bedre computer, da den trodsalt stadig kan bruges."
        },
        {
          target: 32,
          txt: "Du vælger at købe en bedre computer for at sikre, at I kan nå deadlines."
        }
      ]
    },
    {
      id: 31,
      txt: "Din medarbejder begynder at have bøvl med computeren og det giver problemer med nuværende og kommende deadlines.",
      options: [{
        target: 20,
        txt: "Næste"
      }]
    },
    {
      id: 32,
      txt: "Du køber nye computer til din medarbejder, og det gør at deres arbejdshastighed er hurtigere og de når deres deadlines. Du får endnu flere tilfredse kunder. Den nye computer koster -$20. Du tjener $40",
      options: [{
        target: 33,
        txt: "Næste"
      }]
    },
    {
      id: 33,
      txt: "Det går godt for din virksomhed. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
      options: [{
          target: 21,
          txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
        },
        {
          target: 34,
          txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
        }
      ]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 34,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
      options: [{
          target: 35,
          txt: "Næste"
        }

      ],
    },
    { /* DETTE ER SLUTNINGEN AF SPILLET!! */
      id: 35,
      txt: "Regnskabet er ordnet, så lad os se hvordan det er gået din virksomhed indtil nu"
    },
  ]
</script>

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa

How to add a dice into branching scenario

I have already coded my HTML, CSS and JavaScript for school project relating to branching scenarios. I want to add a dice in a few places to make the game more interactive. However I can’t seem to make it work because whenever I try to add the dice at id: 19, 23, 29 and 34 in JS the whole thing stops working.

"use strict";
const heading_element = document.getElementById('heading'); //laver en heading, relevant på nogle af objecterne
const txt_element = document.getElementById('txt'); //henter de elementer der skal kunne ændres for hver skift
const buttonsContainer = document.getElementById('buttons-container'); //henter knapperne så de kan justeres alt efter om der skal være 2 eller 3

//Array med objecter(som indeholder array)
const steps = [ //et array
  {
    id: 0, //med et object
    heading: "Pros. VS Cons",
    txt: "En beslutningsrejse",
    options: [ //med et array
      {
        target: 1,
        txt: "Regler"
      },
      {
        target: 2,
        txt: "Start"
      }
    ]
  },
  {
    id: 1,
    heading: "Regler",
    txt: "Spillet bygger på princippet “Affordable loss” som omhandler entreprenørskab. I spillet skal du tage de valg som du selv føler passer bedst til dig og dine ideér, du vil undervejs skulle tage valg, som enten koster dig penge eller øger din indkomst. Alt efter hvilke valg du tager, kan du også få en ekstra chance undervejs til at tjene lidt ekstra i form af et terning kast.",
    options: [{
      target: 2,
      txt: "Start spil"
    }]
  },
  { //spillet/testen starter med dette
    id: 2,
    txt: "Du skal til at starte din første virksomhed op. Din start kapital er: 100 $. Du vil blive præsenteret for forskellige scenarier, med to svar valgmuligheder, hvor du træffer valget. ",
    options: [{
      target: 3,
      txt: "Næste"
    }]
  },
  { //første gren
    id: 3,
    txt: "Du har startet din virksomhed, men inden du kan komme rigtig i gang skal du beslutte dig om du vil arbejde hjemme fra eller leje et lokale.",
    options: [{
        target: 4,
        txt: "Du ønsker at arbejde hjemmefra."
      },
      {
        target: 5,
        txt: "Du ønsker at leje dig ind i et kontorfællesskab."
      }
    ]
  },
  {
    id: 4,
    txt: "Du har valgt at starte din virksomhed op derhjemme og har nu fået indrettet dit hjemmekontor. Dertil har du også tilmeldt dig diverse start-up forums, hvor du vil have mulighed for sparing og lignende.",
    options: [{
      target: 6,
      txt: "Næste"
    }]
  },
  {
    id: 5,
    txt: "Du har valgt at leje dig ind i et kontorfællesskab med andre start-up virksomheder og får derved også udvidet dit netværk. Det koster dig -$10",
    options: [{
      target: 6,
      txt: "Næste"
    }]
  },
  {
    id: 6,
    txt: "Du er nu kommet på plads og er klar til at markedsføre din virksomhed, så du kan få nogle kunder!",
    options: [{
        target: 7,
        txt: "Du vælger at hyre en markedsføringskonsulent til at køre kampagnen for din virksomhed."
      },
      {
        target: 8,
        txt: "Du vælger selv at lave din markedsføring ved at ringe rundt til diverse virksomheder og tilbyde din service, samt egen digitale kampagner osv. "
      }
    ]
  },
  {
    id: 7,
    txt: "Markedsføringskonsulenten har gjort et rigtig godt job og har fået spredt budskabet om din virksomhed. Du har fået en del kundekontrakter. Markedsføringen har kostet dig -$10.Du indtjener $10",
    options: [{
      target: 9,
      txt: "Næste"
    }]
  },
  {
    id: 8,
    txt: "Du ringer rundt til diverse virksomheder og ender med at få enkelte kunder. Men budskabet om at du har opstartet en virksomhed er ikke nået særlig langt ud. Du indtjener $10",
    options: [{
      target: 9,
      txt: "Næste"
    }]
  },
  {
    id: 9,
    txt: "Du har nu været selvstændig i noget tid, og alt ser ud til at gå godt. Du har derfor nu mulighed for at fortsætte som enkelt mands virksomhed eller ansætte en studentermedhjælper.",
    options: [{
        target: 10,
        txt: "Du vælger at ansætte en studentermedhjælper."
      },
      {
        target: 24,
        txt: "Du vælger at fortsætte alene, uden nogle medarbejder"
      }
    ]
  },
  { //BRANCHING MED STUDIEMEDHJAELPER
    id: 10,
    txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt. Dig og studiemedarbejderen deler arbejdet mellem jer.",
    options: [{
      target: 11,
      txt: "Næste"
    }]
  },
  {
    id: 11,
    txt: "Kunden er tilfreds med arbejdet og anbefaler din virksomhed til andre. Studentermedhjælperen koster -$10. Du tjener på kommende kunder $30",
    options: [{
      target: 12,
      txt: "Næste"
    }]
  },
  {
    id: 12,
    txt: "Din kunde var tilfreds, så du og din studentermedhjælper har travlt med at arbejde igennem den lange liste af nye tilstrømmende kunder.",
    options: [{
        target: 13,
        txt: "Du ansætter en mere erfaren fuldtidsmedarbejder, og begynder at tage imod større kundeopgaver."
      },
      {
        target: 14,
        txt: "Du tager kun imod små kundeopgaver, sammen med din studiemedhjælper."
      }
    ]
  },
  {
    id: 13,
    txt: "Din indtægt er steget, da du ved at have ansat endnu en medarbejder nu kan acceptere flere og større projekter. Den nye medarbejder koster -$30. Du tjener $60",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 14,
    txt: "Du tjener stadig selvom du kun acceptere små kunde opgaver. Du ville dog have kunnet tjent mere hvis du havde ansat endnu en medarbejder. Du tjener $10",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 15,
    txt: "Grundet de mange forskellige opgaver, som kræver forskellige programmer, begynder din computer at køre dårligere, hvilket påvirker opgaverne og skubber deadlines.",
    options: [{
        target: 16,
        txt: "Du vælger at vente med at skaffe en bedre computer til et senere tidspunkt"
      },
      {
        target: 17,
        txt: "Du vælger at skaffe en bedre computer for at kunne nå deadlines og få tilfredse kunder"
      }
    ]
  },
  {
    id: 16,
    txt: "Din computer er blevet markant langsommere og giver problemer med nuværende og kommende deadlines.",
    options: [{
      target: 18,
      txt: "Næste"
    }]
  },
  {
    id: 17,
    txt: "Du køber en ny computer, som betydeligt forbedre dit arbejdshastighed. Den nye computer koster -$20. Du tjener $40",
    options: [{
      target: 19,
      txt: "Næste"
    }]
  },
  {
    id: 18,
    txt: "Computeren bryder sammen, og du må desværre vente 2 uger før en ny kan komme. Det resultere i at du må udskyde deadlines med dine kunder. Grundet din manglende rettidig omhu vil du komme til at miste indtægt i den periode, hvor du ingen computer har.Det koster dig -$30",
    options: [{
      target: 20,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 19,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
      target: 33,
      txt: "Næste"
    }],

  },
  {
    id: 20,
    txt: "På trods af de problemer din virksomhed har stødt på, så er den kommet godt ud af dem. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
    options: [{
        target: 21,
        txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
      },
      {
        target: 22,
        txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
      }
    ]
  },
  {
    id: 21,
    txt: "Dagen er kommet for status og revisoren er kommet. Revisoren kan ikke finde det han leder efter og han ender med at bruge længere tid ved dig.Det koster $20",
    options: [{
      target: 35,
      txt: "Næste"
    }]
  },
  {
    id: 22,
    txt: "Dagen er kommet for status. Da revisoren ankommer ligger alle dokumenter klar og han tager hurtigt videre til hans næste klient. Det koster $10",
    options: [{
      target: 23,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 23,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
      target: 35,
      txt: "Næste"
    }],
  },
  { //BRANCHING UDEN STUDIEMEDHJÆLPER
    id: 24,
    txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt.",
    options: [{
      target: 25,
      txt: "Næste"
    }]
  },
  {
    id: 25,
    txt: "Kunden er ikke tilfreds med arbejdet og anbefaler dig derfor ikke til andre i deres omkreds. Du tjener $10.",
    options: [{
      target: 26,
      txt: "Næste"
    }]
  },
  {
    id: 26,
    txt: "Kunden var ikke tilfreds med dit arbejde og du overvejer derfor om du burde ansætte en studentermedhjælper til at hjælpe med større opgaver, så det samme ikke sker igen.",
    options: [{
        target: 27,
        txt: "Du vælger ikke at ansætte en, men derimod arbejde videre alene. Du vil dog kun tage imod opgaver med længere deadlines"
      },
      {
        target: 28,
        txt: "Du ansætter en studentermedhjælper, så du kan tage imod flere opgaver med både korte- og lange deadlines, "
      }
    ]
  },
  {
    id: 27,
    txt: "Da du har valgt at fortsætte med at arbejde alene, vælger du ikke at acceptere større opgaver og mister derfor muligheden for en større økonomisk fortjeneste. Du tjener $10",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 28,
    txt: "Du ansætter en studentermedhjælper, så du kan fordele arbejdspresset og varetage større arbejdsopgaver som også har større økonomiske fortjenester. Studentermedhjælperen koster - $20. Du tjener $40",
    options: [{
      target: 29,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 29,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
        target: 30,
        txt: "Næste"
      },

    ],
  },
  {
    id: 30,
    txt: "I har taget i mod mange store opgaver, som giver et stort arbejdspres derfor har du og din medarbejder brug for en bedere computer for at kunne følge med.0",
    options: [{
        target: 31,
        txt: "Du venter med at skaffe en bedre computer, da den trodsalt stadig kan bruges."
      },
      {
        target: 32,
        txt: "Du vælger at købe en bedre computer for at sikre, at I kan nå deadlines."
      }
    ]
  },
  {
    id: 31,
    txt: "Din medarbejder begynder at have bøvl med computeren og det giver problemer med nuværende og kommende deadlines.",
    options: [{
      target: 20,
      txt: "Næste"
    }]
  },
  {
    id: 32,
    txt: "Du køber nye computer til din medarbejder, og det gør at deres arbejdshastighed er hurtigere og de når deres deadlines. Du får endnu flere tilfredse kunder. Den nye computer koster -$20. Du tjener $40",
    options: [{
      target: 33,
      txt: "Næste"
    }]
  },
  {
    id: 33,
    txt: "Det går godt for din virksomhed. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
    options: [{
        target: 21,
        txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
      },
      {
        target: 34,
        txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
      }
    ]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 34,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
        target: 35,
        txt: "Næste"
      }

    ],
  },
  { /* DETTE ER SLUTNINGEN AF SPILLET!! */
    id: 35,
    txt: "Regnskabet er ordnet, så lad os se hvordan det er gået din virksomhed indtil nu"
  },
]


function scenarieStart(stepIndex) { // denne starter scenariet
  const currentStep = steps[stepIndex]; //henter det step man er på

  heading_element.textContent = currentStep.heading;
  txt_element.textContent = currentStep.txt; //justere teksten så det passer til hvor man er/henter txt fra den step man er på

  buttonsContainer.innerHTML = ""; //fjerner knapperne i html, så de kun dukker op i det antal af targets man har, prøvede at slette dem helt i html og denne linje men så fungere det ikke. 

  currentStep.options.forEach((option, index) => { //kører de forskellige valgmuligheder igennem for hvert step
    const button = document.createElement("button"); //danner knapper for hver valgmulighed der er
    button.textContent = option.txt; //indsætter txt for hver valgmulighed på knappen
    button.classList.add("btn"); //tilføjer styling på knappen

    button.addEventListener("click", () => { //tilføjer en event, så knapperne rent faktisk kan navigerer
      scenarieStart(option.target); //denne kigger efter de valgt man har taget og kører en videre til det næste step
    });

    buttonsContainer.appendChild(button); //skaber knapperne som barn af containeren/tilføjer knappen til html igen
  });
}


//denne sikre at det hele starter fra step 0
scenarieStart(0);
<title>Pros._VS_Cons!</title>
<link rel="stylesheet" href="css/style.css">
<script src="script.js" defer></script>

<img src="img/bg_1-100.jpg" alt="retro baggrund af windows 95" aria-hidden="true" class="bg">
<header id="header">

</header>
<main class="window">
  <div class="branch">
    <div id="heading">Heading</div>
    <div id="txt">Text</div>
    <div id="buttons-container">
      <button class="btn">option_1</button>
      <button class="btn">option_2</button>
      <button class="btn">option_3</button>
    </div>

  </div>
</main>

I have tried adding this function in the id where the dice is needed:

// Function to roll the dice
function rollDice() {
    // Generate a random number between 1 and 6
    let diceRoll = Math.floor(Math.random() * 6) + 1;
    
    // Display the result
    document.getElementById('diceResult').innerHTML = `You rolled: ${diceRoll}`;
    
    // Update the dice image (optional, if you have dice images)
    let diceImage = document.getElementById('diceImage');
    diceImage.src = `dice${diceRoll}.png`; // Assuming you have images named dice1.png, dice2.png, etc.
}

I’ve also tried adding a secondary HTML with JS in it, so it links to that when the dice is meant to be shown.

2

Here is a version that handles the money and the dice.

Make sure all amounts are on the format $NN or -$NN – for example your initial amount was “100 $” which would need a specific case to handle

You could change the array I use to test the heading contains "Tag en chance!" instead

I hope it is what you meant. Enjoy – Held og lykke.

"use strict";
const heading_element = document.getElementById('heading'); 
const txt_element = document.getElementById('txt'); 
const buttonsContainer = document.getElementById('buttons-container'); 

const brugTerninger = [19, 23, 29, 34]; // Steps where the dice roll interruption occurs
let attemptsLeft = 3; // Counter for the dice roll attempts
let playerMoney = 0;

function scenarieStart(stepIndex) {
  const currentStep = steps[stepIndex];
  heading_element.textContent = currentStep.heading || "Spil videre";
  
  // Parse and adjust the player's bankroll based on the text content
  updatePlayerMoneyBasedOnText(currentStep.txt);
  
  txt_element.textContent = currentStep.txt;
  buttonsContainer.innerHTML = ""; 

  // Check if the current step is an interruption step
  if (brugTerninger.includes(stepIndex)) {
    initiateDiceRoll(stepIndex); // Pass the current step index
  } else {
    // Only proceed if there are options in the current step
    if (currentStep.options && currentStep.options.length > 0) {
      currentStep.options.forEach((option) => {
        const button = document.createElement("button");
        button.textContent = option.txt;
        button.classList.add("btn");

        button.addEventListener("click", () => {
          scenarieStart(option.target);
        });

        buttonsContainer.appendChild(button);
      });
    } else {
      // Handle the case when there are no more options (e.g., the end of the game)
      txt_element.textContent = "Spillet er slut. Tak for at spille!";
    }
  }
}

// Function to handle dice roll interruption
function initiateDiceRoll(stepIndex) {
  heading_element.textContent = "Tag en chance!";
  txt_element.textContent = `Du har 3 forsøg til at slå en 6'er. Forsøg tilbage: ${attemptsLeft}`;

  const rollButton = document.createElement("button");
  rollButton.textContent = "Slå terningen";
  rollButton.classList.add("btn");

  rollButton.addEventListener("click", () => {
    const diceRoll = Math.floor(Math.random() * 6) + 1;
    document.getElementById('diceResult').innerHTML = `Du slog: ${diceRoll}`;
    
    if (diceRoll === 6) {
      // Success, give $25 and continue
      txt_element.textContent = "Tillykke! Du slog en 6'er og har tjent $25!";
      playerMoney += 25; // Add $25 to the player's money
      updatePlayerMoney(); // Update the UI to reflect the new money
      attemptsLeft = 3; // Reset the attempts for the next chance phase
      removeRollButton(rollButton); // Remove dice roll button
      proceedToNextStep(stepIndex); // Continue to next step
    } else {
      // Decrement attempts left and check if any attempts remain
      attemptsLeft--;
      if (attemptsLeft > 0) {
        txt_element.textContent = `Du slog ikke en 6'er. Forsøg tilbage: ${attemptsLeft}`;
      } else {
        // No more attempts, continue without reward
        txt_element.textContent = "Du slog ikke en 6'er, men spillet fortsætter.";
        attemptsLeft = 3; // Reset the attempts for the next chance phase
        removeRollButton(rollButton); // Remove dice roll button
        proceedToNextStep(stepIndex); // Continue to next step
      }
    }
  });

  buttonsContainer.appendChild(rollButton);
}

function proceedToNextStep(currentStepIndex) {
  const currentStep = steps[currentStepIndex];
  // Are there options for the current step?
  if (currentStep.options && currentStep.options.length > 0) {
    // Get the next step based on the current step's options
    const nextStep = currentStep.options[0].target;

    const continueButton = document.createElement("button");
    continueButton.textContent = "Fortsæt";
    continueButton.classList.add("btn");

    continueButton.addEventListener("click", () => {
      scenarieStart(nextStep); // Move to the next step
    });

    buttonsContainer.appendChild(continueButton);
  } else {
    // Handle case where there are no options, typically end of game
    txt_element.textContent = "Spillet er slut. Tak for at spille!";
  }
}

function removeRollButton(button) {
  // Disable and remove the dice roll button
  button.disabled = true;
  button.remove();
}

// Update player's money display
function updatePlayerMoney() {
  const moneyElement = document.getElementById('playerMoney');
  if (moneyElement) {
    moneyElement.textContent = `Din nuværende balance: $${playerMoney}`;
  }
}

// Function to parse text and adjust the player money based on monetary values
function updatePlayerMoneyBasedOnText(text) {
  const moneyPattern = /-?$d+/g; // Regex to find money patterns like $20 or -$30
  const matches = text.match(moneyPattern);

  if (matches) {
    matches.forEach((match) => {
      const value = parseInt(match.replace('$', '')); // Remove '$' and parse the number
      playerMoney += value; // Add or subtract from the player's money
    });
    updatePlayerMoney(); // Update the money display after parsing
  }
}

// Initialize the game
scenarieStart(0);
<title>Pros._VS_Cons!</title>
<link rel="stylesheet" href="css/style.css">
<script src="script.js" defer></script>

<img src="img/bg_1-100.jpg" alt="retro baggrund af windows 95" aria-hidden="true" class="bg">
<header id="header">

</header>
<main class="window">
  <div id="playerMoney">Din nuværende balance: $0</div>
  <div id="diceResult"></div>
  <img id="diceImage" src="" alt="Dice image" style="display:none;">

  <div class="branch">
    <div id="heading">Heading</div>
    <div id="txt">Text</div>
    <div id="buttons-container">
      <button class="btn">option_1</button>
      <button class="btn">option_2</button>
      <button class="btn">option_3</button>
    </div>

  </div>
</main>

<script>
  //Array med objecter(som indeholder array)
  const steps = [ //et array
    {
      id: 0, //med et object
      heading: "Pros. VS Cons",
      txt: "En beslutningsrejse",
      options: [ //med et array
        {
          target: 1,
          txt: "Regler"
        },
        {
          target: 2,
          txt: "Start"
        }
      ]
    },
    {
      id: 1,
      heading: "Regler",
      txt: "Spillet bygger på princippet “Affordable loss” som omhandler entreprenørskab. I spillet skal du tage de valg som du selv føler passer bedst til dig og dine ideér, du vil undervejs skulle tage valg, som enten koster dig penge eller øger din indkomst. Alt efter hvilke valg du tager, kan du også få en ekstra chance undervejs til at tjene lidt ekstra i form af et terning kast.",
      options: [{
        target: 2,
        txt: "Start spil"
      }]
    },
    { //spillet/testen starter med dette
      id: 2,
      txt: "Du skal til at starte din første virksomhed op. Din start kapital er: $100. Du vil blive præsenteret for forskellige scenarier, med to svar valgmuligheder, hvor du træffer valget. ",
      options: [{
        target: 3,
        txt: "Næste"
      }]
    },
    { //første gren
      id: 3,
      txt: "Du har startet din virksomhed, men inden du kan komme rigtig i gang skal du beslutte dig om du vil arbejde hjemme fra eller leje et lokale.",
      options: [{
          target: 4,
          txt: "Du ønsker at arbejde hjemmefra."
        },
        {
          target: 5,
          txt: "Du ønsker at leje dig ind i et kontorfællesskab."
        }
      ]
    },
    {
      id: 4,
      txt: "Du har valgt at starte din virksomhed op derhjemme og har nu fået indrettet dit hjemmekontor. Dertil har du også tilmeldt dig diverse start-up forums, hvor du vil have mulighed for sparing og lignende.",
      options: [{
        target: 6,
        txt: "Næste"
      }]
    },
    {
      id: 5,
      txt: "Du har valgt at leje dig ind i et kontorfællesskab med andre start-up virksomheder og får derved også udvidet dit netværk. Det koster dig -$10",
      options: [{
        target: 6,
        txt: "Næste"
      }]
    },
    {
      id: 6,
      txt: "Du er nu kommet på plads og er klar til at markedsføre din virksomhed, så du kan få nogle kunder!",
      options: [{
          target: 7,
          txt: "Du vælger at hyre en markedsføringskonsulent til at køre kampagnen for din virksomhed."
        },
        {
          target: 8,
          txt: "Du vælger selv at lave din markedsføring ved at ringe rundt til diverse virksomheder og tilbyde din service, samt egen digitale kampagner osv. "
        }
      ]
    },
    {
      id: 7,
      txt: "Markedsføringskonsulenten har gjort et rigtig godt job og har fået spredt budskabet om din virksomhed. Du har fået en del kundekontrakter. Markedsføringen har kostet dig -$10. Du indtjener $10",
      options: [{
        target: 9,
        txt: "Næste"
      }]
    },
    {
      id: 8,
      txt: "Du ringer rundt til diverse virksomheder og ender med at få enkelte kunder. Men budskabet om at du har opstartet en virksomhed er ikke nået særlig langt ud. Du indtjener $10",
      options: [{
        target: 9,
        txt: "Næste"
      }]
    },
    {
      id: 9,
      txt: "Du har nu været selvstændig i noget tid, og alt ser ud til at gå godt. Du har derfor nu mulighed for at fortsætte som enkelt mands virksomhed eller ansætte en studentermedhjælper.",
      options: [{
          target: 10,
          txt: "Du vælger at ansætte en studentermedhjælper."
        },
        {
          target: 24,
          txt: "Du vælger at fortsætte alene, uden nogle medarbejder"
        }
      ]
    },
    { //BRANCHING MED STUDIEMEDHJAELPER
      id: 10,
      txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt. Dig og studiemedarbejderen deler arbejdet mellem jer.",
      options: [{
        target: 11,
        txt: "Næste"
      }]
    },
    {
      id: 11,
      txt: "Kunden er tilfreds med arbejdet og anbefaler din virksomhed til andre. Studentermedhjælperen koster -$10. Du tjener på kommende kunder $30",
      options: [{
        target: 12,
        txt: "Næste"
      }]
    },
    {
      id: 12,
      txt: "Din kunde var tilfreds, så du og din studentermedhjælper har travlt med at arbejde igennem den lange liste af nye tilstrømmende kunder.",
      options: [{
          target: 13,
          txt: "Du ansætter en mere erfaren fuldtidsmedarbejder, og begynder at tage imod større kundeopgaver."
        },
        {
          target: 14,
          txt: "Du tager kun imod små kundeopgaver, sammen med din studiemedhjælper."
        }
      ]
    },
    {
      id: 13,
      txt: "Din indtægt er steget, da du ved at have ansat endnu en medarbejder nu kan acceptere flere og større projekter. Den nye medarbejder koster -$30. Du tjener $60",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 14,
      txt: "Du tjener stadig selvom du kun acceptere små kunde opgaver. Du ville dog have kunnet tjent mere hvis du havde ansat endnu en medarbejder. Du tjener $10",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 15,
      txt: "Grundet de mange forskellige opgaver, som kræver forskellige programmer, begynder din computer at køre dårligere, hvilket påvirker opgaverne og skubber deadlines.",
      options: [{
          target: 16,
          txt: "Du vælger at vente med at skaffe en bedre computer til et senere tidspunkt"
        },
        {
          target: 17,
          txt: "Du vælger at skaffe en bedre computer for at kunne nå deadlines og få tilfredse kunder"
        }
      ]
    },
    {
      id: 16,
      txt: "Din computer er blevet markant langsommere og giver problemer med nuværende og kommende deadlines.",
      options: [{
        target: 18,
        txt: "Næste"
      }]
    },
    {
      id: 17,
      txt: "Du køber en ny computer, som betydeligt forbedre dit arbejdshastighed. Den nye computer koster -$20. Du tjener $40",
      options: [{
        target: 19,
        txt: "Næste"
      }]
    },
    {
      id: 18,
      txt: "Computeren bryder sammen, og du må desværre vente 2 uger før en ny kan komme. Det resultere i at du må udskyde deadlines med dine kunder. Grundet din manglende rettidig omhu vil du komme til at miste indtægt i den periode, hvor du ingen computer har. Det koster dig -$30",
      options: [{
        target: 20,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 19,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
        target: 33,
        txt: "Næste"
      }],

    },
    {
      id: 20,
      txt: "På trods af de problemer din virksomhed har stødt på, så er den kommet godt ud af dem. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
      options: [{
          target: 21,
          txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
        },
        {
          target: 22,
          txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
        }
      ]
    },
    {
      id: 21,
      txt: "Dagen er kommet for status og revisoren er kommet. Revisoren kan ikke finde det han leder efter og han ender med at bruge længere tid ved dig. Det koster $20",
      options: [{
        target: 35,
        txt: "Næste"
      }]
    },
    {
      id: 22,
      txt: "Dagen er kommet for status. Da revisoren ankommer ligger alle dokumenter klar og han tager hurtigt videre til hans næste klient. Det koster $10",
      options: [{
        target: 23,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 23,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
        target: 35,
        txt: "Næste"
      }],
    },
    { //BRANCHING UDEN STUDIEMEDHJÆLPER
      id: 24,
      txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt.",
      options: [{
        target: 25,
        txt: "Næste"
      }]
    },
    {
      id: 25,
      txt: "Kunden er ikke tilfreds med arbejdet og anbefaler dig derfor ikke til andre i deres omkreds. Du tjener $10.",
      options: [{
        target: 26,
        txt: "Næste"
      }]
    },
    {
      id: 26,
      txt: "Kunden var ikke tilfreds med dit arbejde og du overvejer derfor om du burde ansætte en studentermedhjælper til at hjælpe med større opgaver, så det samme ikke sker igen.",
      options: [{
          target: 27,
          txt: "Du vælger ikke at ansætte en, men derimod arbejde videre alene. Du vil dog kun tage imod opgaver med længere deadlines"
        },
        {
          target: 28,
          txt: "Du ansætter en studentermedhjælper, så du kan tage imod flere opgaver med både korte- og lange deadlines, "
        }
      ]
    },
    {
      id: 27,
      txt: "Da du har valgt at fortsætte med at arbejde alene, vælger du ikke at acceptere større opgaver og mister derfor muligheden for en større økonomisk fortjeneste. Du tjener $10",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 28,
      txt: "Du ansætter en studentermedhjælper, så du kan fordele arbejdspresset og varetage større arbejdsopgaver som også har større økonomiske fortjenester. Studentermedhjælperen koster - $20. Du tjener $40",
      options: [{
        target: 29,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 29,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
          target: 30,
          txt: "Næste"
        },

      ],
    },
    {
      id: 30,
      txt: "I har taget i mod mange store opgaver, som giver et stort arbejdspres derfor har du og din medarbejder brug for en bedere computer for at kunne følge med.0",
      options: [{
          target: 31,
          txt: "Du venter med at skaffe en bedre computer, da den trodsalt stadig kan bruges."
        },
        {
          target: 32,
          txt: "Du vælger at købe en bedre computer for at sikre, at I kan nå deadlines."
        }
      ]
    },
    {
      id: 31,
      txt: "Din medarbejder begynder at have bøvl med computeren og det giver problemer med nuværende og kommende deadlines.",
      options: [{
        target: 20,
        txt: "Næste"
      }]
    },
    {
      id: 32,
      txt: "Du køber nye computer til din medarbejder, og det gør at deres arbejdshastighed er hurtigere og de når deres deadlines. Du får endnu flere tilfredse kunder. Den nye computer koster -$20. Du tjener $40",
      options: [{
        target: 33,
        txt: "Næste"
      }]
    },
    {
      id: 33,
      txt: "Det går godt for din virksomhed. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
      options: [{
          target: 21,
          txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
        },
        {
          target: 34,
          txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
        }
      ]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 34,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
      options: [{
          target: 35,
          txt: "Næste"
        }

      ],
    },
    { /* DETTE ER SLUTNINGEN AF SPILLET!! */
      id: 35,
      txt: "Regnskabet er ordnet, så lad os se hvordan det er gået din virksomhed indtil nu"
    },
  ]
</script>

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa

How to add a dice into branching scenario

I have already coded my HTML, CSS and JavaScript for school project relating to branching scenarios. I want to add a dice in a few places to make the game more interactive. However I can’t seem to make it work because whenever I try to add the dice at id: 19, 23, 29 and 34 in JS the whole thing stops working.

"use strict";
const heading_element = document.getElementById('heading'); //laver en heading, relevant på nogle af objecterne
const txt_element = document.getElementById('txt'); //henter de elementer der skal kunne ændres for hver skift
const buttonsContainer = document.getElementById('buttons-container'); //henter knapperne så de kan justeres alt efter om der skal være 2 eller 3

//Array med objecter(som indeholder array)
const steps = [ //et array
  {
    id: 0, //med et object
    heading: "Pros. VS Cons",
    txt: "En beslutningsrejse",
    options: [ //med et array
      {
        target: 1,
        txt: "Regler"
      },
      {
        target: 2,
        txt: "Start"
      }
    ]
  },
  {
    id: 1,
    heading: "Regler",
    txt: "Spillet bygger på princippet “Affordable loss” som omhandler entreprenørskab. I spillet skal du tage de valg som du selv føler passer bedst til dig og dine ideér, du vil undervejs skulle tage valg, som enten koster dig penge eller øger din indkomst. Alt efter hvilke valg du tager, kan du også få en ekstra chance undervejs til at tjene lidt ekstra i form af et terning kast.",
    options: [{
      target: 2,
      txt: "Start spil"
    }]
  },
  { //spillet/testen starter med dette
    id: 2,
    txt: "Du skal til at starte din første virksomhed op. Din start kapital er: 100 $. Du vil blive præsenteret for forskellige scenarier, med to svar valgmuligheder, hvor du træffer valget. ",
    options: [{
      target: 3,
      txt: "Næste"
    }]
  },
  { //første gren
    id: 3,
    txt: "Du har startet din virksomhed, men inden du kan komme rigtig i gang skal du beslutte dig om du vil arbejde hjemme fra eller leje et lokale.",
    options: [{
        target: 4,
        txt: "Du ønsker at arbejde hjemmefra."
      },
      {
        target: 5,
        txt: "Du ønsker at leje dig ind i et kontorfællesskab."
      }
    ]
  },
  {
    id: 4,
    txt: "Du har valgt at starte din virksomhed op derhjemme og har nu fået indrettet dit hjemmekontor. Dertil har du også tilmeldt dig diverse start-up forums, hvor du vil have mulighed for sparing og lignende.",
    options: [{
      target: 6,
      txt: "Næste"
    }]
  },
  {
    id: 5,
    txt: "Du har valgt at leje dig ind i et kontorfællesskab med andre start-up virksomheder og får derved også udvidet dit netværk. Det koster dig -$10",
    options: [{
      target: 6,
      txt: "Næste"
    }]
  },
  {
    id: 6,
    txt: "Du er nu kommet på plads og er klar til at markedsføre din virksomhed, så du kan få nogle kunder!",
    options: [{
        target: 7,
        txt: "Du vælger at hyre en markedsføringskonsulent til at køre kampagnen for din virksomhed."
      },
      {
        target: 8,
        txt: "Du vælger selv at lave din markedsføring ved at ringe rundt til diverse virksomheder og tilbyde din service, samt egen digitale kampagner osv. "
      }
    ]
  },
  {
    id: 7,
    txt: "Markedsføringskonsulenten har gjort et rigtig godt job og har fået spredt budskabet om din virksomhed. Du har fået en del kundekontrakter. Markedsføringen har kostet dig -$10.Du indtjener $10",
    options: [{
      target: 9,
      txt: "Næste"
    }]
  },
  {
    id: 8,
    txt: "Du ringer rundt til diverse virksomheder og ender med at få enkelte kunder. Men budskabet om at du har opstartet en virksomhed er ikke nået særlig langt ud. Du indtjener $10",
    options: [{
      target: 9,
      txt: "Næste"
    }]
  },
  {
    id: 9,
    txt: "Du har nu været selvstændig i noget tid, og alt ser ud til at gå godt. Du har derfor nu mulighed for at fortsætte som enkelt mands virksomhed eller ansætte en studentermedhjælper.",
    options: [{
        target: 10,
        txt: "Du vælger at ansætte en studentermedhjælper."
      },
      {
        target: 24,
        txt: "Du vælger at fortsætte alene, uden nogle medarbejder"
      }
    ]
  },
  { //BRANCHING MED STUDIEMEDHJAELPER
    id: 10,
    txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt. Dig og studiemedarbejderen deler arbejdet mellem jer.",
    options: [{
      target: 11,
      txt: "Næste"
    }]
  },
  {
    id: 11,
    txt: "Kunden er tilfreds med arbejdet og anbefaler din virksomhed til andre. Studentermedhjælperen koster -$10. Du tjener på kommende kunder $30",
    options: [{
      target: 12,
      txt: "Næste"
    }]
  },
  {
    id: 12,
    txt: "Din kunde var tilfreds, så du og din studentermedhjælper har travlt med at arbejde igennem den lange liste af nye tilstrømmende kunder.",
    options: [{
        target: 13,
        txt: "Du ansætter en mere erfaren fuldtidsmedarbejder, og begynder at tage imod større kundeopgaver."
      },
      {
        target: 14,
        txt: "Du tager kun imod små kundeopgaver, sammen med din studiemedhjælper."
      }
    ]
  },
  {
    id: 13,
    txt: "Din indtægt er steget, da du ved at have ansat endnu en medarbejder nu kan acceptere flere og større projekter. Den nye medarbejder koster -$30. Du tjener $60",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 14,
    txt: "Du tjener stadig selvom du kun acceptere små kunde opgaver. Du ville dog have kunnet tjent mere hvis du havde ansat endnu en medarbejder. Du tjener $10",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 15,
    txt: "Grundet de mange forskellige opgaver, som kræver forskellige programmer, begynder din computer at køre dårligere, hvilket påvirker opgaverne og skubber deadlines.",
    options: [{
        target: 16,
        txt: "Du vælger at vente med at skaffe en bedre computer til et senere tidspunkt"
      },
      {
        target: 17,
        txt: "Du vælger at skaffe en bedre computer for at kunne nå deadlines og få tilfredse kunder"
      }
    ]
  },
  {
    id: 16,
    txt: "Din computer er blevet markant langsommere og giver problemer med nuværende og kommende deadlines.",
    options: [{
      target: 18,
      txt: "Næste"
    }]
  },
  {
    id: 17,
    txt: "Du køber en ny computer, som betydeligt forbedre dit arbejdshastighed. Den nye computer koster -$20. Du tjener $40",
    options: [{
      target: 19,
      txt: "Næste"
    }]
  },
  {
    id: 18,
    txt: "Computeren bryder sammen, og du må desværre vente 2 uger før en ny kan komme. Det resultere i at du må udskyde deadlines med dine kunder. Grundet din manglende rettidig omhu vil du komme til at miste indtægt i den periode, hvor du ingen computer har.Det koster dig -$30",
    options: [{
      target: 20,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 19,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
      target: 33,
      txt: "Næste"
    }],

  },
  {
    id: 20,
    txt: "På trods af de problemer din virksomhed har stødt på, så er den kommet godt ud af dem. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
    options: [{
        target: 21,
        txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
      },
      {
        target: 22,
        txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
      }
    ]
  },
  {
    id: 21,
    txt: "Dagen er kommet for status og revisoren er kommet. Revisoren kan ikke finde det han leder efter og han ender med at bruge længere tid ved dig.Det koster $20",
    options: [{
      target: 35,
      txt: "Næste"
    }]
  },
  {
    id: 22,
    txt: "Dagen er kommet for status. Da revisoren ankommer ligger alle dokumenter klar og han tager hurtigt videre til hans næste klient. Det koster $10",
    options: [{
      target: 23,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 23,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
      target: 35,
      txt: "Næste"
    }],
  },
  { //BRANCHING UDEN STUDIEMEDHJÆLPER
    id: 24,
    txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt.",
    options: [{
      target: 25,
      txt: "Næste"
    }]
  },
  {
    id: 25,
    txt: "Kunden er ikke tilfreds med arbejdet og anbefaler dig derfor ikke til andre i deres omkreds. Du tjener $10.",
    options: [{
      target: 26,
      txt: "Næste"
    }]
  },
  {
    id: 26,
    txt: "Kunden var ikke tilfreds med dit arbejde og du overvejer derfor om du burde ansætte en studentermedhjælper til at hjælpe med større opgaver, så det samme ikke sker igen.",
    options: [{
        target: 27,
        txt: "Du vælger ikke at ansætte en, men derimod arbejde videre alene. Du vil dog kun tage imod opgaver med længere deadlines"
      },
      {
        target: 28,
        txt: "Du ansætter en studentermedhjælper, så du kan tage imod flere opgaver med både korte- og lange deadlines, "
      }
    ]
  },
  {
    id: 27,
    txt: "Da du har valgt at fortsætte med at arbejde alene, vælger du ikke at acceptere større opgaver og mister derfor muligheden for en større økonomisk fortjeneste. Du tjener $10",
    options: [{
      target: 15,
      txt: "Næste"
    }]
  },
  {
    id: 28,
    txt: "Du ansætter en studentermedhjælper, så du kan fordele arbejdspresset og varetage større arbejdsopgaver som også har større økonomiske fortjenester. Studentermedhjælperen koster - $20. Du tjener $40",
    options: [{
      target: 29,
      txt: "Næste"
    }]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 29,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
        target: 30,
        txt: "Næste"
      },

    ],
  },
  {
    id: 30,
    txt: "I har taget i mod mange store opgaver, som giver et stort arbejdspres derfor har du og din medarbejder brug for en bedere computer for at kunne følge med.0",
    options: [{
        target: 31,
        txt: "Du venter med at skaffe en bedre computer, da den trodsalt stadig kan bruges."
      },
      {
        target: 32,
        txt: "Du vælger at købe en bedre computer for at sikre, at I kan nå deadlines."
      }
    ]
  },
  {
    id: 31,
    txt: "Din medarbejder begynder at have bøvl med computeren og det giver problemer med nuværende og kommende deadlines.",
    options: [{
      target: 20,
      txt: "Næste"
    }]
  },
  {
    id: 32,
    txt: "Du køber nye computer til din medarbejder, og det gør at deres arbejdshastighed er hurtigere og de når deres deadlines. Du får endnu flere tilfredse kunder. Den nye computer koster -$20. Du tjener $40",
    options: [{
      target: 33,
      txt: "Næste"
    }]
  },
  {
    id: 33,
    txt: "Det går godt for din virksomhed. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
    options: [{
        target: 21,
        txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
      },
      {
        target: 34,
        txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
      }
    ]
  },
  { /*   DETTE ER CHANCE DELEN       */
    id: 34,
    heading: "Tag en chance!",
    txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
    options: [{
        target: 35,
        txt: "Næste"
      }

    ],
  },
  { /* DETTE ER SLUTNINGEN AF SPILLET!! */
    id: 35,
    txt: "Regnskabet er ordnet, så lad os se hvordan det er gået din virksomhed indtil nu"
  },
]


function scenarieStart(stepIndex) { // denne starter scenariet
  const currentStep = steps[stepIndex]; //henter det step man er på

  heading_element.textContent = currentStep.heading;
  txt_element.textContent = currentStep.txt; //justere teksten så det passer til hvor man er/henter txt fra den step man er på

  buttonsContainer.innerHTML = ""; //fjerner knapperne i html, så de kun dukker op i det antal af targets man har, prøvede at slette dem helt i html og denne linje men så fungere det ikke. 

  currentStep.options.forEach((option, index) => { //kører de forskellige valgmuligheder igennem for hvert step
    const button = document.createElement("button"); //danner knapper for hver valgmulighed der er
    button.textContent = option.txt; //indsætter txt for hver valgmulighed på knappen
    button.classList.add("btn"); //tilføjer styling på knappen

    button.addEventListener("click", () => { //tilføjer en event, så knapperne rent faktisk kan navigerer
      scenarieStart(option.target); //denne kigger efter de valgt man har taget og kører en videre til det næste step
    });

    buttonsContainer.appendChild(button); //skaber knapperne som barn af containeren/tilføjer knappen til html igen
  });
}


//denne sikre at det hele starter fra step 0
scenarieStart(0);
<title>Pros._VS_Cons!</title>
<link rel="stylesheet" href="css/style.css">
<script src="script.js" defer></script>

<img src="img/bg_1-100.jpg" alt="retro baggrund af windows 95" aria-hidden="true" class="bg">
<header id="header">

</header>
<main class="window">
  <div class="branch">
    <div id="heading">Heading</div>
    <div id="txt">Text</div>
    <div id="buttons-container">
      <button class="btn">option_1</button>
      <button class="btn">option_2</button>
      <button class="btn">option_3</button>
    </div>

  </div>
</main>

I have tried adding this function in the id where the dice is needed:

// Function to roll the dice
function rollDice() {
    // Generate a random number between 1 and 6
    let diceRoll = Math.floor(Math.random() * 6) + 1;
    
    // Display the result
    document.getElementById('diceResult').innerHTML = `You rolled: ${diceRoll}`;
    
    // Update the dice image (optional, if you have dice images)
    let diceImage = document.getElementById('diceImage');
    diceImage.src = `dice${diceRoll}.png`; // Assuming you have images named dice1.png, dice2.png, etc.
}

I’ve also tried adding a secondary HTML with JS in it, so it links to that when the dice is meant to be shown.

2

Here is a version that handles the money and the dice.

Make sure all amounts are on the format $NN or -$NN – for example your initial amount was “100 $” which would need a specific case to handle

You could change the array I use to test the heading contains "Tag en chance!" instead

I hope it is what you meant. Enjoy – Held og lykke.

"use strict";
const heading_element = document.getElementById('heading'); 
const txt_element = document.getElementById('txt'); 
const buttonsContainer = document.getElementById('buttons-container'); 

const brugTerninger = [19, 23, 29, 34]; // Steps where the dice roll interruption occurs
let attemptsLeft = 3; // Counter for the dice roll attempts
let playerMoney = 0;

function scenarieStart(stepIndex) {
  const currentStep = steps[stepIndex];
  heading_element.textContent = currentStep.heading || "Spil videre";
  
  // Parse and adjust the player's bankroll based on the text content
  updatePlayerMoneyBasedOnText(currentStep.txt);
  
  txt_element.textContent = currentStep.txt;
  buttonsContainer.innerHTML = ""; 

  // Check if the current step is an interruption step
  if (brugTerninger.includes(stepIndex)) {
    initiateDiceRoll(stepIndex); // Pass the current step index
  } else {
    // Only proceed if there are options in the current step
    if (currentStep.options && currentStep.options.length > 0) {
      currentStep.options.forEach((option) => {
        const button = document.createElement("button");
        button.textContent = option.txt;
        button.classList.add("btn");

        button.addEventListener("click", () => {
          scenarieStart(option.target);
        });

        buttonsContainer.appendChild(button);
      });
    } else {
      // Handle the case when there are no more options (e.g., the end of the game)
      txt_element.textContent = "Spillet er slut. Tak for at spille!";
    }
  }
}

// Function to handle dice roll interruption
function initiateDiceRoll(stepIndex) {
  heading_element.textContent = "Tag en chance!";
  txt_element.textContent = `Du har 3 forsøg til at slå en 6'er. Forsøg tilbage: ${attemptsLeft}`;

  const rollButton = document.createElement("button");
  rollButton.textContent = "Slå terningen";
  rollButton.classList.add("btn");

  rollButton.addEventListener("click", () => {
    const diceRoll = Math.floor(Math.random() * 6) + 1;
    document.getElementById('diceResult').innerHTML = `Du slog: ${diceRoll}`;
    
    if (diceRoll === 6) {
      // Success, give $25 and continue
      txt_element.textContent = "Tillykke! Du slog en 6'er og har tjent $25!";
      playerMoney += 25; // Add $25 to the player's money
      updatePlayerMoney(); // Update the UI to reflect the new money
      attemptsLeft = 3; // Reset the attempts for the next chance phase
      removeRollButton(rollButton); // Remove dice roll button
      proceedToNextStep(stepIndex); // Continue to next step
    } else {
      // Decrement attempts left and check if any attempts remain
      attemptsLeft--;
      if (attemptsLeft > 0) {
        txt_element.textContent = `Du slog ikke en 6'er. Forsøg tilbage: ${attemptsLeft}`;
      } else {
        // No more attempts, continue without reward
        txt_element.textContent = "Du slog ikke en 6'er, men spillet fortsætter.";
        attemptsLeft = 3; // Reset the attempts for the next chance phase
        removeRollButton(rollButton); // Remove dice roll button
        proceedToNextStep(stepIndex); // Continue to next step
      }
    }
  });

  buttonsContainer.appendChild(rollButton);
}

function proceedToNextStep(currentStepIndex) {
  const currentStep = steps[currentStepIndex];
  // Are there options for the current step?
  if (currentStep.options && currentStep.options.length > 0) {
    // Get the next step based on the current step's options
    const nextStep = currentStep.options[0].target;

    const continueButton = document.createElement("button");
    continueButton.textContent = "Fortsæt";
    continueButton.classList.add("btn");

    continueButton.addEventListener("click", () => {
      scenarieStart(nextStep); // Move to the next step
    });

    buttonsContainer.appendChild(continueButton);
  } else {
    // Handle case where there are no options, typically end of game
    txt_element.textContent = "Spillet er slut. Tak for at spille!";
  }
}

function removeRollButton(button) {
  // Disable and remove the dice roll button
  button.disabled = true;
  button.remove();
}

// Update player's money display
function updatePlayerMoney() {
  const moneyElement = document.getElementById('playerMoney');
  if (moneyElement) {
    moneyElement.textContent = `Din nuværende balance: $${playerMoney}`;
  }
}

// Function to parse text and adjust the player money based on monetary values
function updatePlayerMoneyBasedOnText(text) {
  const moneyPattern = /-?$d+/g; // Regex to find money patterns like $20 or -$30
  const matches = text.match(moneyPattern);

  if (matches) {
    matches.forEach((match) => {
      const value = parseInt(match.replace('$', '')); // Remove '$' and parse the number
      playerMoney += value; // Add or subtract from the player's money
    });
    updatePlayerMoney(); // Update the money display after parsing
  }
}

// Initialize the game
scenarieStart(0);
<title>Pros._VS_Cons!</title>
<link rel="stylesheet" href="css/style.css">
<script src="script.js" defer></script>

<img src="img/bg_1-100.jpg" alt="retro baggrund af windows 95" aria-hidden="true" class="bg">
<header id="header">

</header>
<main class="window">
  <div id="playerMoney">Din nuværende balance: $0</div>
  <div id="diceResult"></div>
  <img id="diceImage" src="" alt="Dice image" style="display:none;">

  <div class="branch">
    <div id="heading">Heading</div>
    <div id="txt">Text</div>
    <div id="buttons-container">
      <button class="btn">option_1</button>
      <button class="btn">option_2</button>
      <button class="btn">option_3</button>
    </div>

  </div>
</main>

<script>
  //Array med objecter(som indeholder array)
  const steps = [ //et array
    {
      id: 0, //med et object
      heading: "Pros. VS Cons",
      txt: "En beslutningsrejse",
      options: [ //med et array
        {
          target: 1,
          txt: "Regler"
        },
        {
          target: 2,
          txt: "Start"
        }
      ]
    },
    {
      id: 1,
      heading: "Regler",
      txt: "Spillet bygger på princippet “Affordable loss” som omhandler entreprenørskab. I spillet skal du tage de valg som du selv føler passer bedst til dig og dine ideér, du vil undervejs skulle tage valg, som enten koster dig penge eller øger din indkomst. Alt efter hvilke valg du tager, kan du også få en ekstra chance undervejs til at tjene lidt ekstra i form af et terning kast.",
      options: [{
        target: 2,
        txt: "Start spil"
      }]
    },
    { //spillet/testen starter med dette
      id: 2,
      txt: "Du skal til at starte din første virksomhed op. Din start kapital er: $100. Du vil blive præsenteret for forskellige scenarier, med to svar valgmuligheder, hvor du træffer valget. ",
      options: [{
        target: 3,
        txt: "Næste"
      }]
    },
    { //første gren
      id: 3,
      txt: "Du har startet din virksomhed, men inden du kan komme rigtig i gang skal du beslutte dig om du vil arbejde hjemme fra eller leje et lokale.",
      options: [{
          target: 4,
          txt: "Du ønsker at arbejde hjemmefra."
        },
        {
          target: 5,
          txt: "Du ønsker at leje dig ind i et kontorfællesskab."
        }
      ]
    },
    {
      id: 4,
      txt: "Du har valgt at starte din virksomhed op derhjemme og har nu fået indrettet dit hjemmekontor. Dertil har du også tilmeldt dig diverse start-up forums, hvor du vil have mulighed for sparing og lignende.",
      options: [{
        target: 6,
        txt: "Næste"
      }]
    },
    {
      id: 5,
      txt: "Du har valgt at leje dig ind i et kontorfællesskab med andre start-up virksomheder og får derved også udvidet dit netværk. Det koster dig -$10",
      options: [{
        target: 6,
        txt: "Næste"
      }]
    },
    {
      id: 6,
      txt: "Du er nu kommet på plads og er klar til at markedsføre din virksomhed, så du kan få nogle kunder!",
      options: [{
          target: 7,
          txt: "Du vælger at hyre en markedsføringskonsulent til at køre kampagnen for din virksomhed."
        },
        {
          target: 8,
          txt: "Du vælger selv at lave din markedsføring ved at ringe rundt til diverse virksomheder og tilbyde din service, samt egen digitale kampagner osv. "
        }
      ]
    },
    {
      id: 7,
      txt: "Markedsføringskonsulenten har gjort et rigtig godt job og har fået spredt budskabet om din virksomhed. Du har fået en del kundekontrakter. Markedsføringen har kostet dig -$10. Du indtjener $10",
      options: [{
        target: 9,
        txt: "Næste"
      }]
    },
    {
      id: 8,
      txt: "Du ringer rundt til diverse virksomheder og ender med at få enkelte kunder. Men budskabet om at du har opstartet en virksomhed er ikke nået særlig langt ud. Du indtjener $10",
      options: [{
        target: 9,
        txt: "Næste"
      }]
    },
    {
      id: 9,
      txt: "Du har nu været selvstændig i noget tid, og alt ser ud til at gå godt. Du har derfor nu mulighed for at fortsætte som enkelt mands virksomhed eller ansætte en studentermedhjælper.",
      options: [{
          target: 10,
          txt: "Du vælger at ansætte en studentermedhjælper."
        },
        {
          target: 24,
          txt: "Du vælger at fortsætte alene, uden nogle medarbejder"
        }
      ]
    },
    { //BRANCHING MED STUDIEMEDHJAELPER
      id: 10,
      txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt. Dig og studiemedarbejderen deler arbejdet mellem jer.",
      options: [{
        target: 11,
        txt: "Næste"
      }]
    },
    {
      id: 11,
      txt: "Kunden er tilfreds med arbejdet og anbefaler din virksomhed til andre. Studentermedhjælperen koster -$10. Du tjener på kommende kunder $30",
      options: [{
        target: 12,
        txt: "Næste"
      }]
    },
    {
      id: 12,
      txt: "Din kunde var tilfreds, så du og din studentermedhjælper har travlt med at arbejde igennem den lange liste af nye tilstrømmende kunder.",
      options: [{
          target: 13,
          txt: "Du ansætter en mere erfaren fuldtidsmedarbejder, og begynder at tage imod større kundeopgaver."
        },
        {
          target: 14,
          txt: "Du tager kun imod små kundeopgaver, sammen med din studiemedhjælper."
        }
      ]
    },
    {
      id: 13,
      txt: "Din indtægt er steget, da du ved at have ansat endnu en medarbejder nu kan acceptere flere og større projekter. Den nye medarbejder koster -$30. Du tjener $60",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 14,
      txt: "Du tjener stadig selvom du kun acceptere små kunde opgaver. Du ville dog have kunnet tjent mere hvis du havde ansat endnu en medarbejder. Du tjener $10",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 15,
      txt: "Grundet de mange forskellige opgaver, som kræver forskellige programmer, begynder din computer at køre dårligere, hvilket påvirker opgaverne og skubber deadlines.",
      options: [{
          target: 16,
          txt: "Du vælger at vente med at skaffe en bedre computer til et senere tidspunkt"
        },
        {
          target: 17,
          txt: "Du vælger at skaffe en bedre computer for at kunne nå deadlines og få tilfredse kunder"
        }
      ]
    },
    {
      id: 16,
      txt: "Din computer er blevet markant langsommere og giver problemer med nuværende og kommende deadlines.",
      options: [{
        target: 18,
        txt: "Næste"
      }]
    },
    {
      id: 17,
      txt: "Du køber en ny computer, som betydeligt forbedre dit arbejdshastighed. Den nye computer koster -$20. Du tjener $40",
      options: [{
        target: 19,
        txt: "Næste"
      }]
    },
    {
      id: 18,
      txt: "Computeren bryder sammen, og du må desværre vente 2 uger før en ny kan komme. Det resultere i at du må udskyde deadlines med dine kunder. Grundet din manglende rettidig omhu vil du komme til at miste indtægt i den periode, hvor du ingen computer har. Det koster dig -$30",
      options: [{
        target: 20,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 19,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
        target: 33,
        txt: "Næste"
      }],

    },
    {
      id: 20,
      txt: "På trods af de problemer din virksomhed har stødt på, så er den kommet godt ud af dem. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
      options: [{
          target: 21,
          txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
        },
        {
          target: 22,
          txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
        }
      ]
    },
    {
      id: 21,
      txt: "Dagen er kommet for status og revisoren er kommet. Revisoren kan ikke finde det han leder efter og han ender med at bruge længere tid ved dig. Det koster $20",
      options: [{
        target: 35,
        txt: "Næste"
      }]
    },
    {
      id: 22,
      txt: "Dagen er kommet for status. Da revisoren ankommer ligger alle dokumenter klar og han tager hurtigt videre til hans næste klient. Det koster $10",
      options: [{
        target: 23,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 23,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
        target: 35,
        txt: "Næste"
      }],
    },
    { //BRANCHING UDEN STUDIEMEDHJÆLPER
      id: 24,
      txt: "En kunde er kommet til dig og deadlinen er en smule stram. Din kunde ønsker en kampagne som sætter fokus på deres nye produkt.",
      options: [{
        target: 25,
        txt: "Næste"
      }]
    },
    {
      id: 25,
      txt: "Kunden er ikke tilfreds med arbejdet og anbefaler dig derfor ikke til andre i deres omkreds. Du tjener $10.",
      options: [{
        target: 26,
        txt: "Næste"
      }]
    },
    {
      id: 26,
      txt: "Kunden var ikke tilfreds med dit arbejde og du overvejer derfor om du burde ansætte en studentermedhjælper til at hjælpe med større opgaver, så det samme ikke sker igen.",
      options: [{
          target: 27,
          txt: "Du vælger ikke at ansætte en, men derimod arbejde videre alene. Du vil dog kun tage imod opgaver med længere deadlines"
        },
        {
          target: 28,
          txt: "Du ansætter en studentermedhjælper, så du kan tage imod flere opgaver med både korte- og lange deadlines, "
        }
      ]
    },
    {
      id: 27,
      txt: "Da du har valgt at fortsætte med at arbejde alene, vælger du ikke at acceptere større opgaver og mister derfor muligheden for en større økonomisk fortjeneste. Du tjener $10",
      options: [{
        target: 15,
        txt: "Næste"
      }]
    },
    {
      id: 28,
      txt: "Du ansætter en studentermedhjælper, så du kan fordele arbejdspresset og varetage større arbejdsopgaver som også har større økonomiske fortjenester. Studentermedhjælperen koster - $20. Du tjener $40",
      options: [{
        target: 29,
        txt: "Næste"
      }]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 29,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det. Du har 3 forsøg til at slå en 6'er.",
      options: [{
          target: 30,
          txt: "Næste"
        },

      ],
    },
    {
      id: 30,
      txt: "I har taget i mod mange store opgaver, som giver et stort arbejdspres derfor har du og din medarbejder brug for en bedere computer for at kunne følge med.0",
      options: [{
          target: 31,
          txt: "Du venter med at skaffe en bedre computer, da den trodsalt stadig kan bruges."
        },
        {
          target: 32,
          txt: "Du vælger at købe en bedre computer for at sikre, at I kan nå deadlines."
        }
      ]
    },
    {
      id: 31,
      txt: "Din medarbejder begynder at have bøvl med computeren og det giver problemer med nuværende og kommende deadlines.",
      options: [{
        target: 20,
        txt: "Næste"
      }]
    },
    {
      id: 32,
      txt: "Du køber nye computer til din medarbejder, og det gør at deres arbejdshastighed er hurtigere og de når deres deadlines. Du får endnu flere tilfredse kunder. Den nye computer koster -$20. Du tjener $40",
      options: [{
        target: 33,
        txt: "Næste"
      }]
    },
    {
      id: 33,
      txt: "Det går godt for din virksomhed. Da virksomheden nu har været i gang i et stykke tid, så er det også ved at være tid til at lave regnskab.",
      options: [{
          target: 21,
          txt: "Du vælger at fokusere på dine kunder og ikke forberede dig til den opkommende regnskab."
        },
        {
          target: 34,
          txt: "Du vælger at fokusere noget af din arbejdstid på at forberede dig til regnskab."
        }
      ]
    },
    { /*   DETTE ER CHANCE DELEN       */
      id: 34,
      heading: "Tag en chance!",
      txt: "Du har muligheden for at tjene lidt ekstra, da en klient opsøger dig og gerne vil have dig til at lave projektet. Deadlinen er kort, men du vil forsøge at finde tid til det.Du har 3 forsøg til at slå en 6'er.",
      options: [{
          target: 35,
          txt: "Næste"
        }

      ],
    },
    { /* DETTE ER SLUTNINGEN AF SPILLET!! */
      id: 35,
      txt: "Regnskabet er ordnet, så lad os se hvordan det er gået din virksomhed indtil nu"
    },
  ]
</script>

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật