Avatar billede Slettet bruger
04. oktober 2007 - 13:30 Der er 11 kommentarer

Fire på stribe

Hej, jeg er ved at lave et fire på stribe-spil.
Men jeg er løbet ind i det problem, at det ikke rigtig virker efter jeg også har skrevet om i checkForWinner-funktionen så den også tjekker om man har vundet lodret. Hvis man fjerner den del af funktionen, sådan så den kun tjekker om man har vundet vandret, virker det fint.
Det der ikke virker er, at den ikke selv skifter brik når man også tjekker lodret. Den gør det når man kun tjekker lodret.

KODE:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
  <title>Fire p&aring; stribe</title>
  <meta name="title" content="Fire på stribe" />
  <meta name="description" content="" />
  <meta name="keywords" content="Kenneth Balsiger Andersen, Mick Fürst Steffensen, Sonny Gaarslev, Roskilde Tekniske Gymnasium, RTG, Fire på stribe, spil, JavaScript" />
  <meta name="robots" content="all" />
  <meta name="revisit-after" content="31" />
  <meta name="author" content="Kenneth Balsiger Andersen, Mick Fürst Steffensen, Sonny Gaarslev" />
  <meta http-equiv="reply-to" content="sgaarslev@hotmail.com" />
  <meta name="copyright" content="Coypright (c) 2007 Kenneth Balsiger Andersen, Mick Fürst Steffensen, Sonny Gaarslev" />
  <meta http-equiv="content-language" content="dan" />
  <meta name="rating" content="general" />
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <meta name="objecttype" content="text" />
  <meta http-equiv="content-script-type" content="text/javascript" />
  <meta name="dc.title" content="Kenneth Balsiger Andersen, Mick Fürst Steffensen, Sonny Gaarslev, Roskilde Tekniske Gymnasium, RTG, Fire på stribe, spil, JavaScript" />
  <meta name="dc.description" content="Kenneth Balsiger Andersen, Mick Fürst Steffensen, Sonny Gaarslev, Roskilde Tekniske Gymnasium, RTG, Fire på stribe, spil, JavaScript" />
  <meta name="dc.subject" content="Spil, fire på stribe" />
  <meta name="dc.creator" content="Kenneth Balsiger Andersen, Mick Fürst Steffensen, Sonny Gaarslev" />
  <meta name="dc.rights" content="Copyright (c) 2007 Kenneth Balsiger Andersen, Mick Fürst Steffensen, Sonny Gaarslev" />
  <meta name="dc.identifier" content="http://www.rtgkom.dk/~sonnyg05/firepaastribe/index.html"/>
  <meta name="dc.publisher" content="Kenneth Balsiger Andersen, Mick Fürst Steffensen, Sonny Gaarslev"/>
  <meta name="dc.language" scheme="nisoz39.50" content="dan" />
  <meta name="dc.type" content="text" />
  <meta name="dc.format" scheme="mime" content="text/html" />
  <link rel="schema.dc" href="http://purl.org/metadata/dublin_core_elements" />
  <link rel="stylesheet" type="text/css" href="style.css" />
  <link rel="shortcut icon" href="favicon.ico" />

<script language="javascript">
var felter = new Array()
var spar = new Image()
var hjerter = new Image()
var empty = new Image()
spar.src = "spar.png"
hjerter.src = "hjerter.png"
empty.src = "empty.png"
var aktivBrik = new Image()
aktivBrik.src = spar.src

var gameActive = 1

function visBrikTop(hvilkenKolonne) {
if (gameActive == 1) {
  document.images[hvilkenKolonne].src = aktivBrik.src
}
}
function fjernBrikTop(hvilkenKolonne) {
if (gameActive == 1) {
  document.images[hvilkenKolonne].src = empty.src
}
}

var opfyldt = new Array()
opfyldt[0] = 5
opfyldt[1] = 5
opfyldt[2] = 5
opfyldt[3] = 5
opfyldt[4] = 5
opfyldt[5] = 5
opfyldt[6] = 5
opfyldt[7] = 5

var aktivSpiller = 1

aktivBrik.src = spar.src

function skiftTur() {
if (aktivSpiller == 1) {
  aktivSpiller = 2
  aktivBrik.src = hjerter.src
}
else if(aktivSpiller == 2) {
  aktivSpiller = 1
  aktivBrik.src = spar.src
}
}

function laegBrik(hvilkenKolonne) {
if (opfyldt[hvilkenKolonne] >= 0) {
  var placering = hvilkenKolonne + 8 + (8 * opfyldt[hvilkenKolonne])
  document.images[placering].src = aktivBrik.src
  opfyldt[hvilkenKolonne] = opfyldt[hvilkenKolonne] - 1
  checkForWinner(placering)
  visBrikTop(hvilkenKolonne)
}
}

function clearBoard() {
for (i = 0; i<= 55; i++) {
  document.images[i].src = empty.src
}
}

function nulstilScore() {
document.form0.sparScore.value = ""
document.form0.hjerterScore.value = ""
}

function nytSpil() {
clearBoard();
if (aktivSpiller == 1) {
  aktivSpiller = 2
  aktivBrik.src = hjerter.src
}
else {
  aktivSpiller = 1
  aktivBrik.src = spar.src
}
opfyldt[0] = 5
opfyldt[1] = 5
opfyldt[2] = 5
opfyldt[3] = 5
opfyldt[4] = 5
opfyldt[5] = 5
opfyldt[6] = 5
opfyldt[7] = 5
nulstilScore()
}

function nyRunde() {
clearBoard();
if (aktivSpiller == 1) {
  aktivSpiller = 2
  aktivBrik.src = hjerter.src
}
else {
  aktivSpiller = 1
  aktivBrik.src = spar.src
}
opfyldt[0] = 5
opfyldt[1] = 5
opfyldt[2] = 5
opfyldt[3] = 5
opfyldt[4] = 5
opfyldt[5] = 5
opfyldt[6] = 5
opfyldt[7] = 5
}

function afslutSpil() {
window.close();
}

function checkForWinner(placering) {
if (document.images[placering].src == aktivBrik.src
    &&
    document.images[placering+1].src == aktivBrik.src
    &&
    document.images[placering+2].src == aktivBrik.src
    &&
    document.images[placering+3].src == aktivBrik.src
    ||
    document.images[placering].src == aktivBrik.src
    &&
    document.images[placering-1].src == aktivBrik.src
    &&
    document.images[placering-2].src == aktivBrik.src
    &&
    document.images[placering-3].src == aktivBrik.src
    ||
    document.images[placering].src == aktivBrik.src
    &&
    document.images[placering+8].src == aktivBrik.src
    &&
    document.images[placering+16].src == aktivBrik.src
    &&
    document.images[placering+24].src == aktivBrik.src
    ||
    document.images[placering].src == aktivBrik.src
    &&
    document.images[placering-8].src == aktivBrik.src
    &&
    document.images[placering-16].src == aktivBrik.src
    &&
    document.images[placering-24].src == aktivBrik.src) {
  alert('Hej')
  if(aktivSpiller == 1) {
  sparScoreUp()
  nyRunde()
  }
  else if(aktivSpiller == 2) {
  hjerterScoreUp()
  nyRunde()
  }
}
  else {
  skiftTur()
  alert('Ingen vinder')
  }
}

function sparScoreUp() {
document.form0.sparScore.value++
}

function hjerterScoreUp() {
document.form0.hjerterScore.value++
}
</script>

</head>
<body>
  <p id="headline">
  Fire på stribe
  <br />
  </p>

  <form name="form0">
  <table cellspacing="0" cellpadding="0" class="board">
    <tr>
    <td class="top"><a href="java script:void laegBrik(0)" onMouseOver="visBrikTop(0);" onMouseOut="fjernBrikTop(0)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="top"><a href="java script:void laegBrik(1)" onMouseOver="visBrikTop(1);" onMouseOut="fjernBrikTop(1)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="top"><a href="java script:void laegBrik(2)" onMouseOver="visBrikTop(2);" onMouseOut="fjernBrikTop(2)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="top"><a href="java script:void laegBrik(3)" onMouseOver="visBrikTop(3);" onMouseOut="fjernBrikTop(3)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="top"><a href="java script:void laegBrik(4)" onMouseOver="visBrikTop(4);" onMouseOut="fjernBrikTop(4)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="top"><a href="java script:void laegBrik(5)" onMouseOver="visBrikTop(5);" onMouseOut="fjernBrikTop(5)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="top"><a href="java script:void laegBrik(6)" onMouseOver="visBrikTop(6);" onMouseOut="fjernBrikTop(6)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="top"><a href="java script:void laegBrik(7)" onMouseOver="visBrikTop(7);" onMouseOut="fjernBrikTop(7)"><img border="0" src="empty.png" class="board"></a></td>
    </tr>
    <tr>
    <td class="board"><a href="java script:void laegBrik(0)" onMouseOver="visBrikTop(0);" onMouseOut="fjernBrikTop(0)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(1)" onMouseOver="visBrikTop(1);" onMouseOut="fjernBrikTop(1)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(2)" onMouseOver="visBrikTop(2);" onMouseOut="fjernBrikTop(2)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(3)" onMouseOver="visBrikTop(3);" onMouseOut="fjernBrikTop(3)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(4)" onMouseOver="visBrikTop(4);" onMouseOut="fjernBrikTop(4)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(5)" onMouseOver="visBrikTop(5);" onMouseOut="fjernBrikTop(5)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(6)" onMouseOver="visBrikTop(6);" onMouseOut="fjernBrikTop(6)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(7)" onMouseOver="visBrikTop(7);" onMouseOut="fjernBrikTop(7)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="function"><input type="button" name="nytSpilButton" value="Nyt spil" onClick="nytSpil()" class="function"></td>
    </tr>
    <tr>
    <td class="board"><a href="java script:void laegBrik(0)" onMouseOver="visBrikTop(0);" onMouseOut="fjernBrikTop(0)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(1)" onMouseOver="visBrikTop(1);" onMouseOut="fjernBrikTop(1)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(2)" onMouseOver="visBrikTop(2);" onMouseOut="fjernBrikTop(2)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(3)" onMouseOver="visBrikTop(3);" onMouseOut="fjernBrikTop(3)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(4)" onMouseOver="visBrikTop(4);" onMouseOut="fjernBrikTop(4)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(5)" onMouseOver="visBrikTop(5);" onMouseOut="fjernBrikTop(5)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(6)" onMouseOver="visBrikTop(6);" onMouseOut="fjernBrikTop(6)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(7)" onMouseOver="visBrikTop(7);" onMouseOut="fjernBrikTop(7)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="function"><input type="button" name="nyRundeButton" value="Ny runde" onClick="nyRunde()" class="function"></td>
    </tr>
    <tr>
    <td class="board"><a href="java script:void laegBrik(0)" onMouseOver="visBrikTop(0);" onMouseOut="fjernBrikTop(0)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(1)" onMouseOver="visBrikTop(1);" onMouseOut="fjernBrikTop(1)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(2)" onMouseOver="visBrikTop(2);" onMouseOut="fjernBrikTop(2)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(3)" onMouseOver="visBrikTop(3);" onMouseOut="fjernBrikTop(3)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(4)" onMouseOver="visBrikTop(4);" onMouseOut="fjernBrikTop(4)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(5)" onMouseOver="visBrikTop(5);" onMouseOut="fjernBrikTop(5)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(6)" onMouseOver="visBrikTop(6);" onMouseOut="fjernBrikTop(6)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(7)" onMouseOver="visBrikTop(7);" onMouseOut="fjernBrikTop(7)"><img border="0" src="empty.png" class="board"></a></td>
    </tr>
    <tr>
    <td class="board"><a href="java script:void laegBrik(0)" onMouseOver="visBrikTop(0);" onMouseOut="fjernBrikTop(0)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(1)" onMouseOver="visBrikTop(1);" onMouseOut="fjernBrikTop(1)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(2)" onMouseOver="visBrikTop(2);" onMouseOut="fjernBrikTop(2)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(3)" onMouseOver="visBrikTop(3);" onMouseOut="fjernBrikTop(3)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(4)" onMouseOver="visBrikTop(4);" onMouseOut="fjernBrikTop(4)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(5)" onMouseOver="visBrikTop(5);" onMouseOut="fjernBrikTop(5)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(6)" onMouseOver="visBrikTop(6);" onMouseOut="fjernBrikTop(6)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(7)" onMouseOver="visBrikTop(7);" onMouseOut="fjernBrikTop(7)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="score">
      <span class="score">SCORE</span>
      <br /> 
      <span class="aktivspiller">x&nbsp;&nbsp;&nbsp;</span>
      <input type="text" name="sparScore" size="3" class="score">&nbsp;&nbsp;&nbsp;
      <span class="score">Spar</span>
      <br />
      <span class="aktivspiller">x&nbsp;&nbsp;&nbsp;</span>
      <input type ="text" name="hjerterScore" size="3" class="score">&nbsp;&nbsp;&nbsp;
      <span class="score">Hjerter</span>
    </td>
    </tr>
    <tr>
    <td class="board"><a href="java script:void laegBrik(0)" onMouseOver="visBrikTop(0);" onMouseOut="fjernBrikTop(0)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(1)" onMouseOver="visBrikTop(1);" onMouseOut="fjernBrikTop(1)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(2)" onMouseOver="visBrikTop(2);" onMouseOut="fjernBrikTop(2)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(3)" onMouseOver="visBrikTop(3);" onMouseOut="fjernBrikTop(3)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(4)" onMouseOver="visBrikTop(4);" onMouseOut="fjernBrikTop(4)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(5)" onMouseOver="visBrikTop(5);" onMouseOut="fjernBrikTop(5)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(6)" onMouseOver="visBrikTop(6);" onMouseOut="fjernBrikTop(6)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(7)" onMouseOver="visBrikTop(7);" onMouseOut="fjernBrikTop(7)"><img border="0" src="empty.png" class="board"></a></td>
    </tr>
    <tr>
    <td class="board"><a href="java script:void laegBrik(0)" onMouseOver="visBrikTop(0);" onMouseOut="fjernBrikTop(0)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(1)" onMouseOver="visBrikTop(1);" onMouseOut="fjernBrikTop(1)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(2)" onMouseOver="visBrikTop(2);" onMouseOut="fjernBrikTop(2)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(3)" onMouseOver="visBrikTop(3);" onMouseOut="fjernBrikTop(3)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(4)" onMouseOver="visBrikTop(4);" onMouseOut="fjernBrikTop(4)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(5)" onMouseOver="visBrikTop(5);" onMouseOut="fjernBrikTop(5)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(6)" onMouseOver="visBrikTop(6);" onMouseOut="fjernBrikTop(6)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="board"><a href="java script:void laegBrik(7)" onMouseOver="visBrikTop(7);" onMouseOut="fjernBrikTop(7)"><img border="0" src="empty.png" class="board"></a></td>
    <td class="function"><input type="button" name="afslutButton" value="Afslut" onclick="java script:window.close();" class="function"></td>
    </tr>
  </table>
  </form>

  <br />
  <hr />
  <p id="copyright">
  Copyright © 2007 Kenneth Balsiger Andersen, Mick Fürst Steffensen & Sonny Gaarslev
  </p>
</body>
</html>
Avatar billede montago Praktikant
04. oktober 2007 - 13:41 #1
der er syntaxfejl...

der mangler en start eller slut klamme "}" et eller andet sted
Avatar billede montago Praktikant
04. oktober 2007 - 13:42 #2
har du link til en side hvor den ligger ?
Avatar billede Slettet bruger
04. oktober 2007 - 13:45 #3
Okay, det var også hvad jeg kom frem til at der måtte være galt.
Den er ikke blevet lagt op endnu, men kan ikke lægge den op lige nu, da jeg er på skolens net. Men jeg lægger den op lige så snart jeg kommer hjem.
Avatar billede Slettet bruger
04. oktober 2007 - 13:48 #4
Jeg kan sgu også bare lige lægge den på på min anden side.

http://www.sg.kennethgaarslev.dk/firepaastribe/gamescript0.html
Avatar billede montago Praktikant
04. oktober 2007 - 13:50 #5
hmm - fjernede XML skidtet...

og oprettede 3 billeder... nu virker det... men man skifter ikke spiller imellem ryk
Avatar billede Slettet bruger
04. oktober 2007 - 13:53 #6
Er ikke helt sikker på jeg forstår hvad du mener.. men problemet er at den ikke skifter brik efter jeg har tilføjet checkForWinner - lodret i checkForWinner-funktionen. Det virker fint hvis den kun skal tjekke vandret - altså hvis man fjerner følgende:

    ||
    document.images[placering].src == aktivBrik.src
    &&
    document.images[placering+8].src == aktivBrik.src
    &&
    document.images[placering+16].src == aktivBrik.src
    &&
    document.images[placering+24].src == aktivBrik.src
    ||
    document.images[placering].src == aktivBrik.src
    &&
    document.images[placering-8].src == aktivBrik.src
    &&
    document.images[placering-16].src == aktivBrik.src
    &&
    document.images[placering-24].src == aktivBrik.src
Avatar billede montago Praktikant
04. oktober 2007 - 13:57 #7
Tip1: brug modulus til at skifte imellem spillere... hvis der fx kommer mere end 2 senere...

AntalSpillere = 2;
Spiller1id = 1;
aktivSpiller = (aktivSpiller++ % AntalSpillere) + Spiller1id;

Tip2: lad Javascript, udskrive dit spillefelt før du starter, brug For-løkker til at oprette dit table

Tip3: lav en rekursiv funktion som løber felterne igennem og tjekker om der er 4 på stribe... -- skal nok hjælpe dig med denne...
Avatar billede Slettet bruger
04. oktober 2007 - 13:58 #8
Okay.. tak for det :)
Tip2 kan jeg godt selv finde ud af at lave, det havde jeg også tænkt mig at gøre til sidst ;)
Men det ville være dejligt hvis du ville forklare hvad modulus er, og evt. hjælpe med tip3..
Avatar billede montago Praktikant
04. oktober 2007 - 14:07 #9
modulus er resultatet af en heltals division

fx: 9 modulus 2 = 1
fordi 2 går 4 gange op i 9, og resten er 1

modulus er smart hvis man fx skifter imellem 1 til N states, som du gør her...

det er måske lidt overkill, når det kun er 2-player... men du kan lære meget af at bruge Modulus, til fx Array håndtering senere
Avatar billede Slettet bruger
04. oktober 2007 - 14:17 #10
Okay.. men hvor i koden skal jeg så bruge det?
Avatar billede montago Praktikant
04. oktober 2007 - 20:00 #11
- skift tur fx :)

hvis du rekursivt vil tjekke på om der er 4 på stribe skal du næsten tage og kigge på mit Javascript spil (en af dem...): http://www.mdk-photo.com/Blocks
Når man føre musen over en block, bruger jeg en funktion som kalder sig selv indtil den ikke kan komme længere... på samme måde kunne man lave en lignende funktion som tjekker i 4 retninger (vertika,horizo,diago1,diago2)

Blocks algoritmen tjekker kun i vertigonal og horisontal retning...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester