maanantai 2. marraskuuta 2015

Hirsipuu-peli

HIRSIPUU-PELI

Esiversio hirsipuu-pelistä (javascript)
Kokeile osoitteessa:
http://myy.haaga-helia.fi/~a1400159/EKhirsipuu/harj3_ek.html

Koodi:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Kotila, Harjotus 3. </title>

<script>
var peli_status = true;
var sana = "";
var kirjain = "";
var arvatut = "";
var vaara_arvaus = 0;

var sanat = new Array("MJÖLKTÖLK", "NAKUPELLE", "MORKKIS", "LUUMU", "PAPUKAIJA", "KILPIKONNA");

function valitseKirjain(aakkonen){

// onko peli käynnissä?
if (peli_status == false){
return;}


if (arvatut.indexOf(aakkonen) != -1)
{
return;
}

//lisätään arvattujen kirjainten joukkoon uusi kirjain
arvatut += aakkonen;

//lisätään näytölle arvattu kirjain
document.peli.arvatutKirjaimet.value = arvatut;


if (sana.indexOf(aakkonen) != -1){
// oikein arvattu
oikein = 0;
oikea_kirjain = kirjain;

//löytyykö kirjain sanasta
// jos löytyy indexOf palauttaa monesko kirjain on alusta alkaen
// jos ei löydy niin arvo on -1
//aakkonen on etsittävä kirjain
//oikein on monenestako kirjaimesta eteenpäin etsitään
while (sana.indexOf(aakkonen, oikein) != -1){
//yksi kirjain löytyi, merkitään monesko kirjain
oikein = sana.indexOf(aakkonen, oikein);
//etsitään seuraavista kirjaimista onko lisää oikeaa kirjainta
loppu = oikein + 1;
//alkuosa on jo tutkittu
alku_osa = oikea_kirjain.substring(0, oikein);
//loppuosa on löydetystä kirjaimesta eteenpäin koko sanan pituuteen asti
loppu_osa = oikea_kirjain.substring(loppu, oikea_kirjain.length);
oikea_kirjain = alku_osa + aakkonen + loppu_osa;
oikein = loppu;
}


kirjain = oikea_kirjain;
document.peli.naytaSana.value = kirjain;

// jos sanassa ei ole enää risuaitaa on kaikki kirjaimet löydetty
if (kirjain.indexOf("#") == -1)
{
// oikea sana löytyi
alert("Voitit!");
peli_status = false;
}
}
else
{
// väärä kirjain arvattu
vaara_arvaus += 1;
eval('document.hirsipuu.src=\"hirsipuu/hirsipuu" + vaara_arvaus + ".gif\"');

// väärien vastausten lukumäärä on täynnä
if (vaara_arvaus == 11)
{
// häviö
alert("Hävisit! Peli loppui.");
peli_status = false;
}
}
}

function uusiPeli(){
// kutsutaam funktiota, joka arpoo sanan
valitseSana();
//tyhjennetään arvatut kirjaimet kenttä näytölläja scriptitssä
document.peli.arvatutKirjaimet.value = "";
arvatut = "";
vaara_arvaus = 0;
//aloituskuva
document.hirsipuu.src="\hirsipuu/hirsipuu.gif";
}

function valitseSana(){
peli_status = true;
luku = Math.round(Math.random() * (sanat.length - 1));
sana = sanat[luku];
piilotettu_kirjain = piilotaSana(sana);
document.peli.naytaSana.value = piilotettu_kirjain;
kirjain = piilotettu_kirjain;
}

function piilotaSana(s) {
piilotus = "";
sanan_pituus = s.length;
for (i = 0; i < sanan_pituus; i ++){
piilotus += "#";
}
return piilotus;
}
</script>

</head>

<body>
<p> Hirsipuu Javascriptillä / hienot sanat </p>
<a href="javascript:uusiPeli()"> Uusi peli!</a>
<p>
<img src="hirsipuu/hirsipuu.gif" name="hirsipuu">
</p>

<form name="peli">
Arvaa sana: <input type="text" name="naytaSana">
<br>
Käytetyt kirjaimet: <input type="text" name="arvatutKirjaimet">
</form>

<p>
<a href="javascript:valitseKirjain('A');">A</a>
<a href="javascript:valitseKirjain('B');">B</a>
<a href="javascript:valitseKirjain('C');">C</a>
<a href="javascript:valitseKirjain('D');">D</a>
<a href="javascript:valitseKirjain('E');">E</a>
<a href="javascript:valitseKirjain('F');">F</a>
<a href="javascript:valitseKirjain('G');">G</a>
<a href="javascript:valitseKirjain('H');">H</a>
<a href="javascript:valitseKirjain('I');">I</a>
<a href="javascript:valitseKirjain('J');">J</a>
<a href="javascript:valitseKirjain('K');">K</a>
<a href="javascript:valitseKirjain('L');">L</a>
<a href="javascript:valitseKirjain('M');">M</a>
<a href="javascript:valitseKirjain('N');">N</a>
<a href="javascript:valitseKirjain('O');">O</a>
<a href="javascript:valitseKirjain('P');">P</a>
<a href="javascript:valitseKirjain('Q');">Q</a>
<a href="javascript:valitseKirjain('R');">R</a>
<a href="javascript:valitseKirjain('S');">S</a>
<a href="javascript:valitseKirjain('T');">T</a>
<a href="javascript:valitseKirjain('U');">U</a>
<a href="javascript:valitseKirjain('V');">V</a>
<a href="javascript:valitseKirjain('W');">W</a>
<a href="javascript:valitseKirjain('Y');">Y</a>
<a href="javascript:valitseKirjain('Z');">Z</a>
<a href="javascript:valitseKirjain('Å');">Å</a>
<a href="javascript:valitseKirjain('Ä');">Ä</a>
<a href="javascript:valitseKirjain('Ö');">Ö</a>
</p>
   
</body>
</html>