Litt om programmering

Versjon: 28.10.11


Alle programmeringsspråk har minst tre mekanismer:

I tillegg har moderne språk:

Objektorienterte språk:

Tilordninger:

tall1=5;

tall2=7;
utregning=tall1+3*tall2/3;

Valg:

IF:

if(ball.x>500) {	//Hvis ball utenfor til høyre, skift bevegelsesretning

   stepx=-stepx;

}
if(ball.y<0) {

   stepy=-stepy;

}
if(tall>1000){

   trace("Tallet er stort");		//trace(<tekst>) skriver til eget loggvindu

} else {

   trace("Tallet er ikke så stort");

}

SWITCH:

//stage lytter til Keyboard og sender KeyboardEvent til funksjonen f1_PressKeyToMove()

stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_PressKeyToMove);
function fl_PressKeyToMove(event:KeyboardEvent):void {	//Prosedyre (function uten returverdi, void="tom")
   switch (event.keyCode) {		// Switch krever at valgvariabelen er et heltall! (int)

      case Keyboard.UP: {

         ball.y -= 5;

         break;

      }

      case Keyboard.DOWN: {

         ball.y += 5;

         break;

      }

      case Keyboard.LEFT: {

         ball.x -= 5;

         break;

      }

      case Keyboard.RIGHT: {

         ball.x += 5;

         break;

      }

   } //switch

} //function

Gjentagelser:

FOR:

var i:int;

for(i=0;i<5;i++){ 			//startverdi: i=0, betingelse: i<5,  opptelling: i++

   trace("Dette kommer 5 ganger");

}

WHILE:

var i:int = 0;				//startverdi

while(i<5){

   trace("Dette kommer 5 ganger");

   i++;

}

While-sløyfer er mer fleksible og generelle enn For-sløyfer, men krever litt mer tenkning...

DO:

var i:int = 0;

do{

   trace("dette kommer 5 ganger");

   i++;

}while(i<5);

Do-while-sløyfer vil alltid bli gjort minst en gang!

 

Finnes også en for(vars:String in <Object>) {...} som går gjennom alle egenskapene til et objekt.

Finnes også en for each( var num in <Collection>) {...} som går gjennom alle elementer i en "Kolleksjon".
(Kolleksjon er tabeller, lister, osv. som er spesielle konstruksjoner som lager en liste med variabler.)

Rammeverk:

Dessuten har alle programmeringsspråk tilhørende biblioteker, med ferdigskrevet kode, som tar seg av vanlige ting, eksempelvis:

 


16.11.11 Øvelser med interaksjon med bruker:

Tastetrykk:

Lag ett rektangel, konverter til symbolet Rekkert. Lag kode for å bevege rekkerten når du trykker høyre- og venstre piltast.

Se eksempel Rekkert.

Slider:

Se eksempel Slider. (Virker dessverre ikke, før Flash Professional blir oppgradert; bug i tidlige versjoner...)

Animasjon med timer:

Lag en sirkel, konverter til symbolet Ball. Lag kode for å bevege ballen kontinuerlig.

Se eksempel Ball.

Pong:

Vi har nå alt vi trenger for å lage det klassiske spillet Pong.

Vi trenger kode for å sjekke om ballen er i nærheten av rekkerten.

Prøv å skriv denne koden før du ser på eksemplet i Pong.

Oppgaver for uke 46:

Leveres i Fronter/Innlevering/Pong innen utløpet av onsdagstimene 24.11.11. Gruppelevering med maks 3 i hver gruppe ok.

Input fra TextInput og output til TextArea:

Studer koden i eksemplet: Input/output eksempel !

Et eksempel på program: Omregning fra Fahrenheitgrader til Celciusgrader:

Studer koden i eksemplet f2c !

Deretter kan du gjøre oppgaven:

Lag et program som henter inn parameterene a, b og c fra brukeren og finner løsningen av andregradsligningen a x2+b x+c=0.