Sten Sax Påse

Testa att spela!
Ta hem stensaxpase.zip

Handledning

Här finns lite handledning till hur spelprogrammeringen är gjord. Har du programmerat förut så ska det inte vara så svårt att förstå.

I biblioteket finns tre bitmapbilder som jag tagit in på Scenen med Arkiv > Importera. De tre bitmapbilderna är sen med Infoga > Konvertera till Symbol gjorda till fillmklipp. Sen har jag med Infoga > Konvertera till Symbol gjort dem till knappar. Knapparna finns längst ner på scenen. De har lite programkod. Markera en knapp. Ta fraZm programmeringsmenyn med Fönster > Åtgärder. Knappen med stenen har programmet:

on (release) {
_root.tabort();
_root.klippsten1._visible = true;
_root.testa("sten");
}

Den första raden ser till att något händer när knappen släpps upp. Sen anropas funktionen tabort() som finns på tidsaxeln. På rad 2 så göms filmklippet klippsten som på scenen har fått samma förekomstnamn plus en etta på slutet, alltså klippsten1 som du kan se finns inskrivet på Egenskapsmenyn. På sista raden anropas funktionen testa() med "sten".

Innan du tittar på de två funktionerna så ta och markera den vita punkten uppe till vänster om scenen. Det är ett tomt fimklipp med programkoden:

onClipEvent (load) {
_root.klippsten1._visible = false;
_root.klippsax1._visible = false;
_root.klippase1._visible = false;
_root.klippsten2._visible = false;
_root.klippsax2._visible = false;
_root.klippase2._visible = false;
_root.minpoang = 0;
_root.dinpoang = 0;
}

Det här filmklippet laddas in när filmen startar och ser till att gömma de sex förekomsterna. Spelarens förekomster slutar på 1 och datorns förekomster slutar på 2. Eftersom förekomsterna inte finns inuti det tomma filmklippet utan på tidsaxeln så måste man använda _root som är Flash namn på tidsaxeln för att tala om för Flash var förekomsterna finns.

Sen var det bara de två funktionerna på tidsaxeln kvar att studera:

function tabort() {
_root.klippsten1._visible = false;
_root.klippsax1._visible = false;
_root.klippase1._visible = false;
_root.klippsten2._visible = false;
_root.klippsax2._visible = false;
_root.klippase2._visible = false;
}

Den första funktionen tabort() ser till att gömma de förekomster som finns på scenen efter varje spelomgång.

function testa(val) {
visanummer = 1+Math.floor(3*Math.random());
trace("visanummer: "+visanummer);
if (visanummer == 1) {
klippsten2._visible = true;
} else if (visanummer == 2) {
klippsax2._visible = true;
} else {
klippase2._visible = true;
}
if (val == "sten") {
if (visanummer == 1) {
vinnare = "oavgjort";
} else if (visanummer == 2) {
vinnare = "YOU WIN!";
} else {
vinnare = "I WIN!";
}
} else if (val == "sax") {
if (visanummer == 2) {
vinnare = "oavgjort";
} else if (visanummer == 3) {
vinnare = "YOU WIN!";
} else {
vinnare = "I WIN!";
}
} else {
if (visanummer == 3) {
vinnare = "oavgjort";
} else if (visanummer == 1) {
vinnare = "YOU WIN!";
} else {
vinnare = "I WIN!";
}
}
if (vinnare == "I WIN!") {
minpoang++;
} else if (vinnare == "YOU WIN!") {
dinpoang++;
}
stallning = dinpoang+" - "+minpoang;
}

Funktionen testa(val) ser till att testa det val som spelaren gjort mot det val som Flash med Math.random() slumpar fram. En massa if-satser används till att testa fram som vunnit.

Det som sparas i variabeln vinnare skrivs ut i den dynamiska textrutan på scenen med samma namn.

Det som sparas i variabeln stallning skrivs ut i den dynamiska textrutan på scenen med samma namn.

Sen var det inte mer med det! Lycka till i spelandet hälsar Gunnar!