String.klassen har metodene, substr(fra-indeks,antall) og substring(fra-indeks, til-indeks) som kan plukke ut deler av en streng, med syntaksen:
substr(fra-indeks, antall tegn)substring(fra-indeks, til-indeks)
Hvis variabelen streng inneholder tekststrengen "abcdefghijklmnopqrstuvwxyzæøå", vil eksempelvis
streng.substr(5,7) gi tekststrengen "fghijkl"streng.substring(5,7) gi tekststrengen "fg"
Bruk en eller begge disse metodene og en for-sløyfe til å skrive kode som lager mønsteret:
*--------- **-------- ***------- ****------ *****----- ******---- *******--- ********-- *********- **********
var stjerner: String = "**********"; var streker: String = "----------";for(var i:int = 0; i < 10; i++ ) {trace( stjerner.substr(0,i+1) + streker.substr(10-(i+1)) );}//for
Bruk en av metodene substring eller
substr til å lage en funksjon som returnerer endelsen i
et filnavn.
Funksjonen skal starte slik:
function filEndelse(s: String): String
og variabelen endelse skal etter instruksjonen:
var endelse: String = filEndelse("bilde017.jpg");
inneholde tekststrengen "jpg".
function filEndelse(s: String): String{ var l: int = s.length; return s.substr(l-3,3); }//filEndelse()Eksempel på bruk/test:var filnavn: String = "bilde017.jpg";trace("Endelsen var: "+filEndelse(filnavn) );
Deklarer en sammensatt tabell, med navn varelager, som inneholder informasjon som angitt i figuren:
Svarte ruter med skarpe hjørner er Array, blå ruter med avrundede hjørner er objekter (assosiative tabeller).
var varelager: Array = [ { varenr: 1172, pris: [ 17, 19, 23 ], antall: 111 }, { varenr: 1213, pris: [ 11, 12, 13 ], antall: 97 }, { varenr: 1311, pris: [ 45, 50, 55 ], antall: 42 } ];
Tabellen i 3 er starten på en tabell som vi forutsetter inneholder et komplett varelager for en nettbutikk.
Pris-tabellen i egenskapen pris angir forskjellige priser på varen, avhengig av om kunden bestiller en enkelt, fra 2 til 10 stykker , eller over 10 stykker i samme bestilling.
Skriv kode som finner samlet verdi av hele varelageret, hvis vi regner med den laveste prisen på hver vare.
var verdi: Number = 0.0; for(var i:int = 0; i < varelager.length; i++ ) { verdi += varelager[i].pris[0] * varelager[i].antall; }//for trace( "Verdien ble: "+verdi);
Leveres i It's Learning-mappen "Leveringsoppgave 15.03.2013" - Alle hjelpemidler
Lag en Flash - applikasjon hvor brukeren må gjette på ett av tallene 1, 2 og 3. Dette skal skje ti ganger etter hverandre.
De tre tallene presenteres i radioknapper og brukeren går videre med en Neste-knapp.
Til slutt vises antall ganger brukeren har gjettet riktig tall.
Gjør alt så enkelt som mulig.
Det riktige tallet velges ved hjelp av funksjonen Math.random(), på omtrent denne måten:
var tilfeldig:int = int(3*Math.random()+1);
Lager en nøkkelramme.
Lag et tekstfelt med navn txtMelding med teksten: Gjett på et tall!
Lag tre radioknapper med navn rbAlt1, rbAlt2, rbAlt3 og label-verdier: "0", "1" og "2".
Lag en neste-knapp med navn btnNeste.
Skriv kode omtrent slik:
/// --- Datastruktur --- /// var nr: int = 0; // Nummer på runde var fasit: int = lagFasit(); // Fasitsvar: 1, 2 eller 3 var antallriktige: int = 0; // Antall riktige så langt /// --- Oppsett, lyttere og funksjoner --- /// stop(); btnNeste.addEventListener(MouseEvent.CLICK,nesteKlikket); function nesteKlikket(evt: MouseEvent):void { fasit = lagFasit(); trace("Vi trakk tallet "+fasit+" i runde "+nr); nr++; if( nr == 10 ) { //Hvis ferdig, gi resultat txtMelding.text = "Du fikk: " + antallriktige + " riktige svar"; btnNeste.enabled = false; //Spill ferdig } else { // Hvis ikke gi poeng: var svar:int = int( rbAlt1.group.selection.label); if( svar == fasit ) { antallriktige++; }//if }//if }//nesteKlikket() function lagFasit(): int { return int(3*Math.random()+1); }//lagFasit()