Inhoud

  1. Geen paragrafen H1 - Voorwoord
  2. Geeft paragrafen weer H2 - Wat is JavaScript?
    1. §1. Wat kun je met JavaScript?
    2. §2. De script-tag
    3. §3. Opdrachten
  3. Geeft paragrafen weer H3 - Statements (opdrachten)
    1. §1. Wat zijn statements?
    2. §2. Functie document.write
    3. §3. Commentaar
    4. §4. Functie alert
    5. §5. Opdrachten
  4. Geeft paragrafen weer H4 - Variabelen
    1. §1. Wat is een variabele?
    2. §2. Variabelen maken en gebruiken
    3. §3. Functie prompt
    4. §4. Operatoren
    5. §5. Strings
    6. §6. Opdrachten
  5. Geeft paragrafen weer H5 - Functies
    1. §1. Wat is een functie?
    2. §2. Functies maken en gebruiken
    3. §3. Functies die iets teruggeven
    4. §4. Parameters en argumenten
    5. §5. De scope van variabelen
    6. §6. Expressies
    7. §7. Functie parseInt
    8. §8. Opdrachten
  6. Geeft paragrafen weer H6 - Loops en voorwaardes
    1. §1. Wat zijn loops en voorwaardes?
    2. §2. Het if-else statement
    3. §3. Vergelijkingen en hun operatoren
    4. §4. Functie confirm
    5. §5. Het switch-statement
    6. §6. De while-loop
    7. §7. De for-loop
    8. §8. Stoppen door break
    9. §9. Opdrachten
  7. Geeft paragrafen weer H7 - Events
    1. §1. Wat is een event?
    2. §2. Events maken en gebruiken
    3. §3. Welke events zijn er?
    4. §4. Variabele this
    5. §5. Event-object
    6. §6. Opdrachten
  8. Geeft paragrafen weer H8 - Arrays
    1. §1. Wat is een Array?
    2. §2. Een Array maken en gebruiken
    3. §3. Een Array doorlopen
    4. §4. Een associatieve array
    5. §5. De for-in loop
    6. §6. Opdrachten
  9. Geeft paragrafen weer H9 - Objecten
    1. §1. Wat is een object?
    2. §2. Verschil object en variabele
    3. §3. Eigenschappen
    4. §4. Methodes
    5. §5. Eigenschappen en methodes
    6. §6. Opdrachten
  10. Geeft paragrafen weer H10 - Globale objecten
    1. §1. Het window-object
    2. §2. Het document-object
    3. §3. Het Math-object
    4. §4. Standaard HTML-Element-object
    5. §5. Een HTML-Table-object
    6. §6. Opdrachten

Hoofdstuk 10 - Opdracht 5

De opdracht:

Maak een boter, kaas en eieren spelletje.
De spelers mogen om de beurt klikken, alleen als er op een leeg vakje geklikt wordt zal er een x of o verschijnen (afhankelijk van wie aan de beurt is).
Er hoeft geen bericht te verschijnen als er iemand gewonnen heeft.

Het antwoord:

Het handigste is om dit met een tabel te doen.

JavaScript:
  1. var beurtSpeler1 = true; // Speler 1 begint
  2.  
  3. function zet()
  4. {
  5. if(this.innerHTML != "") // Als er al iets in staat,
  6. {
  7. return; // dan gaat de zet niet door
  8. }
  9. else // Als de cel leeg is,
  10. { // dan gaan we de zet verwerken
  11. if(beurtSpeler1) // Als speler 1 aan de beurt is,
  12. {
  13. this.innerHTML = 'x'; // dan wordt de inhoud een X
  14. }
  15. else // Als speler 2 aan de beurt is,
  16. {
  17. this.innerHTML = 'o'; // dan wordt de inhoud een O
  18. }
  19.  
  20. beurtSpeler1 = !beurtSpeler1; // Wissel de beurt
  21. }
  22. }
  23.  
  24. function maakEvents()
  25. {
  26. // Ken een onclick event toe aan alle td's in het document
  27. var tds = document.getElementsByTagName("td");
  28. for(var i = 0; i < tds.length; ++i)
  29. {
  30. tds[i].onclick = zet;
  31. }
  32. }
  33. window.onload = maakEvents;

HTML:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">
  3. <head>
  4. <title>Boter, kaas en eieren</title>
  5. <style type="text/css">
  6. table
  7. {
  8. border: 1px solid #000;
  9. }
  10. td
  11. {
  12. border: 1px solid #000;
  13. font-size: 48px;
  14. width: 75px;
  15. height: 75px;
  16. text-align: center;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <table>
  22. <tr><td></td><td></td><td></td></tr>
  23. <tr><td></td><td></td><td></td></tr>
  24. <tr><td></td><td></td><td></td></tr>
  25. </table>
  26. </body>
  27. </html>