Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok.

Slides:



Advertisements
Verwante presentaties
Van domeinklasse tot implementatie
Advertisements

Het type int Tekenen met Java operatoren
Hoofdstuk 2 Hallo, C# !.
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Hoofdstuk 8 Objecten en klassen.
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Hoofdstuk 8.5 Subklassen. versie-management problematiek Voortborduren op eerder gedaan werk nEerste poging: “knip&plak” class Twee { int x, y; int oud.
Scope. Scope van variaben/methoden Een variabele is te gebruiken binnen de { en } waarbinnen hij is aangemaakt. Hetzelfde geld voor een methode { int.
Hoofdstuk 10.3 Tekst-editor: MDI-interface Dialogen Files lezen Abstracte klassen.
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 4 Nieuwe methoden. Tekenen g.drawRect(20,60,40,40); g.drawLine(20,60,40,40); g.drawLine(40,40,60,60); g.drawRect(70,60,40,40); g.drawLine(70,60,90,40);
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Hoofdstuk 2 Hallo, C# !. Opbouw broncode nOpdrachten om het geheugen te veranderen nOpdrachten zijn gegroepeerd in methoden nMethoden zijn gegroepeerd.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Klasse uit library Android.App Activity Bij het starten van een app: nOperating system maakt een Activity -object aan… n…en neemt dat onderhanden met de.
Soorten programma’s nConsole- applicatie. Soorten programma’s nConsole- applicatie nWindows- applicatie.
Eerste deeltentamen nNagekeken werk ligt voor in de zaal nNeem je eigen werk mee: in het college wordt het besproken nVragen over de beoordeling: in de.
1e Deeltentamen nNagekeken werk ligt voor in de zaal (alfabetisch op achternaam) nNeem het even mee, de uitwerking wordt in het college besproken nDiscussies.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.
Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 2 inleveropdrachten) college Tent. 1 Tent. 2 college prakt. 1 prakt. 2 prakt.
Resources. Kompas } { protected override void OnDraw(Canvas canv) { base.OnDraw(canv); } public KompasView(Context c) : base(c) { } class KompasView :
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Windows-applicatie class HalloWin1 { static void Main ( ) { } Form scherm; scherm = new Form( ); Application.Run(scherm); using System.Windows.Forms; scherm.Text.
Meer constructormethodes in klasse Kleur { class Kleur } public byte Rood, Groen, Blauw; public Kleur( byte r, byte g, byte b ) { } Rood=r; Groen=g; Blauw=b;
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Game Object Structuren
Activity Bij het starten van een app:
Objectgeoriënteerd Programmeren (2)
…is eigenlijk overbodig!
Aanroep van een methode voert opdrachten uit in de body daarvan
ISensorEventListener
1e Deeltentamen Nagekeken werk ligt voor in de zaal (alfabetisch op achternaam) Neem het even mee, de uitwerking wordt in het college besproken Discussies.
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Lists en interfaces
Schilderij class MijnAct : Activity { MijnView scherm;
Gameprogrammeren: Keuzeopdrachten
Gameprogrammeren: Overerving
Hoofdstuk 9.2 Strings.
Letterfrequentie turven
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Syntax van opdrachten opdracht naam naam ( expressie ) ; . , expressie
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
vandaag èn vrijdag deadline maandag 12 dec.
Publieksvraag // schrijf een static methode die telt hoe // vaak een symbool voorkomt in een string // voorbeeld-aanroep: int n; n = Demo . Freq(’e’,
Gameprogrammeren: Overerving in Painter
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
Declaratie Declaratie reserveert geheugenruimte
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Gameprogrammeren: Game Basics
Syntax van opdracht opdracht naam naam ( expressie ) ; . , expressie
Voorbeeld: Simulatie van bewegende deeltjes
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Voortborduren op eerder gedaan werk
Libraries, Platform Games
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Willekeurigheid en Herhaling
Aanroep van een methode voert opdrachten uit in de body daarvan
Game: omgaan met tijd (Jewel-Jam)
Gameprogrammeren: Klassen en objecten
Interface In de library In je eigen programma wat is er nodig om een
Arjan Egges & Paul Bergervoet
Object Communication (Jewel Jam)
Exceptions Exception:
Transcript van de presentatie:

Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok opdrachtelse typeexprinnaamforeach()opdracht

Punten- klikker } { protected override void OnDraw(Canvas c) { base.OnDraw(c); } public MijnView(Context c) : base(c) { this.Touch += raakAan; } class MijnView : View public void raakAan(object o, TouchEventArgs tea) { } } c.DrawBitmap(b, p.X, p.Y, new Paint()); x = tea.Event.GetX(); y = tea.Event.GetY(); this.Invalidate(); float x, y; PointF p; p = new PointF(x, y); foreach( PointF p in alles) met bitmap b = BitmapFactory.DecodeResource (...Icon...); Bitmap b; List alles = new List ( ) ; alles.Add(p);

Tekst Analyse public class DiagramView: View { protected override void OnDraw(Canvas cv) { base.OnDraw(cv); } } public string Invoer; tellers Length int [ ] tellers; tellers = new int [26]; tellers[ ]++; foreach(char c in Invoer) c-'a' if (c>='a' && c<='z') foreach(int a in tellers) { } cv.DrawRect( x, y, x+a*w, y+h, verf ); cv.DrawText( a.ToString()... ); int h = Height/ 26; y = y+h;, y=0; int w = Width / max;

Waarom lokale variabelen? nAls tussenresultaat in berekeningen c.DrawRect ( …, verf); c.DrawLine ( …, verf); c.DrawLine ( …, verf); } x, y-br, x+br, y int tx = x+br/2; int ty = y–br–br/2; x, y-br, tx, ty tx, ty, x+br, y-br private void tekenHuis (Canvas c, … ) { Paint verf = new Paint(); int x, int y, int br) (x,y)br (tx,ty) twee keer nodig drie keer nodig

Waarom lokale variabelen? nAls tussenresultaat in berekeningen Color c = new Color(64,0,0); verf.Color = c; een keer nodig verf.Color = new Color(64,0,0); dan kan het ook zonder variabele KaartView kaart; kaart = new KaartView(this); SetContentView(kaart); SetContentView( new KaartView(this) );

Waarom lokale variabelen? nAls tussenresultaat in berekeningen Intent i = new Intent( this, typeof(Hallo) ); StartActivity( i ); KaartView kaart; kaart = new KaartView(this); SetContentView(kaart); SetContentView( new KaartView(this) ); StartActivity( new Intent( this, typeof(Hallo) ) );

Waarom lokale variabelen? nAls tussenresultaat in berekeningen new Intent( this, typeof(Hallo) ) twee keer nodig? PutExtra is een void -methode in klasse Intent Intent i = new Intent( this, typeof(Hallo) ); i.PutExtra( "wat", "hoi" ); StartActivity( i ); Intent. PutExtra( "wat", "hoi" ) StartActivity( ); StartActivity( new Intent( this, typeof(Hallo) ). PutExtra( "wat", "hoi" ) );

Waarom methodes? private void tekenHuis(…) { …. DrawRect (…); …. DrawLine (…); …. DrawLine (…); } protected override void OnDraw(Canvas c) { …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); } een keer definiëren drie keer gebruiken

Waarom methodes? private void einde( object o, EventArgs ea) { this.Finish( ); } protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; } een keer gebruiken een keer definiëren

Waarom methodes? private void einde( object o, EventArgs ea) { this.Finish( ); } protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; een keer definiëren (object o, EventArgs ea) => { this.Finish( ) ; } ;

Waarom methodes? private void einde( object o, EventArgs ea) { this.Finish( ); } protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; (object o, EventArgs ea) => { this.Finish( ) ; } ; type kan automatisch bepaald worden body met één opdracht mag zonder accolades

Waarom methodes? protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; (o,ea) => this.Finish( ) ;

Waarom methodes? protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; (o,ea) => StartActivity( new Intent( this, typeof(Hallo) ). PutExtra( "wat", "hoi" ) ) ;

PutExtra / GetStringExtra protected override void OnCreate(Bundle b) { Button b = new Button( ); b.Click += einde; (o,ea) => StartActivity( new Intent( this, typeof(Hallo) ). PutExtra( "wat", "hoi" ) ) ; class Hallo { protected override void OnCreate(Bundle b) { string tekst = Intent.GetStringExtra( "wat" ) ; if (tekst==null) tekst = "hallo" ; ??

public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; {

ListView public class KleurenApp : Activity { } public void klik(object o, EventArgs e) } { public void iklik(object o, ItemClickEventArgs e) } { Intent i = new Intent(this, typeof(KleurEdit)); StartActivityForResult( i, 9999 ); Intent i = new Intent(this, typeof(KleurEdit)); StartActivityForResult( i, pos ); int pos = e.Position; KleurItem item = kleurItems[pos]; i.PutExtra("naam", item.Naam ); i.PutExtra("kleur", item.Kleur.ToArgb() ); override void OnActivityResult(int pos,... ) {... }

ListView public class KleurenApp : Activity { } public void klik(object o, EventArgs e) {... } public void iklik(object o, ItemClickEventArgs e) override void OnActivityResult (int pos, Result res, Intent data ) {... } } { KleurItem k = new KleurItem(naam,kleur); kleurItems[pos] = k; if (pos==9999) kleurItems.Add( k ); else naam = data.GetStringExtra("naam");... if (res==Result.Ok) { } else if (pos < 9999) kleurItems.RemoveAt( pos );

Database SQLite using SQLite; SQLiteConnection db; db = new SQLiteConnection( filenaam ); string filenaam = "test.db"; db.CreateTable ( ); ( ); class KleurItem } { public string Naam ; public Color Kleur ; public int R ; public int G ; public int B ; public int Id ; [PrimaryKey, AutoIncrement] {get;set;} KleurItem k = new KleurItem("rood", Color.Red); KleurItem(string s, Color c) { Naam=s; R=c.R; G=c.G; B=c.B; } db.Insert( k ); var query = db.Table ( ); foreach (KleurItem k in query) doeIetsLeuksMet( k ); k.Naam = "Bordeauxrood"; db.Update( k ); k.Id = 42; db.Delete( k );

public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {...} void LeesKleuren( ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; {

public class KleurApp2 : Activity void BeginKleuren( ) // zonder database ListView kleurLijst; List kleuren; KleurItem[] defaultkleuren =...; KleurenAdapter kleurAdapter; { { } kleuren = new List (defaultkleuren); void BeginKleuren( ) // met database { } database = new SQLiteConnection( "kleuren.db" ); SQLiteConnection database; bool bestaat = File.Exists( "kleuren.db" ); if (bestaat==false) { } database.CreateTable ( ); foreach (KleurItem k in defaultkleuren) database.Insert( k );

public class KleurApp2 : Activity void LeesKleuren( ) // zonder database ListView kleurLijst; List kleuren; KleurItem[] defaultkleuren =...; KleurenAdapter kleurAdapter; { { } kleurAdapter = new KleurenAdapter(kleuren); kleurLijst.Adapter = kleurAdapter; void LeesKleuren( ) // met database { } var query = database.Table ( ); SQLiteConnection database; kleuren = new List ( ); foreach (KleurItem k in query) kleuren.Add( k ); kleurAdapter = new KleurenAdapter(kleuren); kleurLijst.Adapter = kleurAdapter;

public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {...} void LeesKleuren( ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; { public class KleurApp3 : Activity } void OnCreate( Bundle b ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {NIEUW} void LeesKleuren( ) {NIEUW} void OnActivityResult ( int p, Result r, Intent d ) {NIEUW} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; SQLiteConnection database; { void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...}

public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {...} void LeesKleuren( ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; { public class KleurApp4 : KleurApp2 } void BeginKleuren( ) {NIEUW} void LeesKleuren( ) {NIEUW} void OnActivityResult ( int p, Result r, Intent d ) {NIEUW} SQLiteConnection database; {

public class KleurApp2 : Activity } void OnCreate( Bundle b ) {...} void verstuur( object o, EventArgs ea ) {...} void nieuwItem( object, EventArgs ) {...} void itemKlik( object o, EventArgs ea ) {...} void BeginKleuren( ) {...} void LeesKleuren( ) {...} void OnActivityResult ( int pos, Result res, Intent data ) {...} ListView kleurLijst; List kleuren; KleurItem[] defaults =...; KleurenAdapter kleurAdapter; { public class KleurApp4 : KleurApp2 } void BeginKleuren( ) {NIEUW} void LeesKleuren( ) {NIEUW} void OnActivityResult ( int p, Result r, Intent d ) {NIEUW} SQLiteConnection database; { virtual protected virtual protected override protected override protected override protected override protected private override protected private

Database SQLite using SQLite; SQLiteConnection db; db = new SQLiteConnection( filenaam ); string filenaam = "test.db"; db.CreateTable ( ); ( ); class KleurItem } { public string Naam ; public int R ; public int G ; public int B ; public int Id ; [PrimaryKey, AutoIncrement] {get;set;} KleurItem k = new KleurItem("rood", Color.Red); KleurItem(string s, Color c) { Naam=s; R=c.R; G=c.G; B=c.B; } db.Insert( k ); var query = db.Table ( ); foreach (KleurItem k in query) doeIetsLeuksMet( k ); k.Naam = "Bordeauxrood"; db.Update( k ); k.Id = 42; db.Delete( k );. Where( ); k => k.G>128