Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt.

Slides:



Advertisements
Verwante presentaties
Het type int Tekenen met Java operatoren
Advertisements

Hoofdstuk 2 Hallo, C# !.
Hoofdstuk 8 Objecten en klassen.
Consoletoepassing Variabelen Klassen
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
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.
Hoorcollege 2 Basis gameprogrammeren. Soorten programma’s Console- applicatie.
Hoorcollege 4 Objecten en methoden. Eigen methode toevoegen class Painter : Game { public void HandleInput() { … } protected override void Update(GameTime.
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Hoofdstuk 3 Methoden om te tekenen.
Hoofdstuk 7 Herhaling Nieuw!. while ( x
Opgave 1a ncompiler: vertaalt broncode naar machine-uitvoerbare code ninterpreter: voert broncode direct uit.
Hoofdstuk 3 Tekenen en rekenen.
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.
Imperatief programmeren nJeroen Fokker. Wat heb je nodig? nCollegediktaat ukopen bij A-Eskwadraat (BBG-238) uof zelf downloaden en uitprinten nSolis-id.
Declaratie en toekenningen nEén keer declarareren nMogelijk meerdere toekenningen int x; x = 100; x = 250; x = x + 1; x = 2 * x; int x = 100; x = 100;
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
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, 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.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Syntax van opdrachten opdracht (), ;expressie klasse naam object expressie. methode naam =expressie;variabele property naam += returnexpressie; if)(expressieopdrachtblok.
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;
Activity Bij het starten van een app:
Objectgeoriënteerd Programmeren (2)
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
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
Gameprogrammeren: Expressies
Windows-applicatie using System.Windows.Forms; using System.Drawing;
Gameprogrammeren: Methoden
Arjan Egges & Paul Bergervoet
vandaag èn vrijdag deadline maandag 12 dec.
Basis Gameprogrammeren
Gameprogrammeren: Herhalingen
Declaratie Declaratie reserveert geheugenruimte
1. Een klasse is… Een groepje opdrachten Een groepje variabelen
Game Assets, Invoer Verwerken
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
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
Aanroep van een methode voert opdrachten uit in de body daarvan
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:
Eerste deeltentamen Nagekeken werk ligt voor in de zaal
Gameprogrammeren: Arrays
Transcript van de presentatie:

Aangepaste timing nTheorie (16 colleges + 2 deeltentamens) nPraktijk (16 keer, 3 inleveropdrachten) college Tent. 1 Tent. 3 college prakt. 1 prakt. 3 prakt. prakt. 1 prakt. prakt. 2 prakt. 3 werkcoll nOefening (4 werkcolleges) college prakt. 3 werkcoll collegeprakt. prakt. 1 prakt. 2 prakt. prakt. 1

Groeps-indeling Practicum / Werkcollege Niet zoals in Osiris, maar: nB017 / B023: kappa, lambda nB020 / B023: mu, pi nB106 / B083: rho, sigma nB175 / B083: tau, phi, psi, omega, overige 1ejaars nR116 / B201: tweedejaars, keuzevak, premaster nM205 / B201: ouderejaars

Nieuwe methoden nMethode: groepje opdrachten met een naam Aanroep van een methode voert opdrachten uit in de body daarvan private void tekenHuis(…) { …. DrawRect (…); …. DrawLine (…); …. DrawLine (…); } protected override void OnDraw(Canvas c) { …. tekenHuis (…); …. tekenHuis (…); …. tekenHuis (…); }

Meer parameters 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) this. tekenHuis (c, …); this. tekenHuis (c, …); this. tekenHuis (c, …); } protected override void OnDraw(Canvas c) { (x,y)br (tx,ty) 20, 100, 40); 70, 100, 40); 120, 100, 60);

Communicatie met methoden nParameters : aanroeper geeft waarde door aan de methode nMethode-resultaat : methode geeft waarde terug aan de aanroeper net zoals een wiskundige functie

Methoden met een resultaat private double kwadraat (double x) { return x*x ; } type van het resultaat waarde van het resultaat in speciale return-opdracht

Publieksvraag nSchrijf methodes omtrek en diagonaal met een Rect als parameter, die dat uitrekenen public int omtrek (Rect r) { } return 2*(br+h); Left Top Right Bottom int br = r.Right-r.Left; int h = r.Bottom-r.Top; br h public double diagonaal(Rect r) { } return Math.Sqrt(a*a + b*b); int a = r.Right-r.Left; int b = r.Bottom-r.Top; a 2 + b 2 = c 2

Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken

Values versus Pointers Color c; Rect r; class Rect struct Color c 0 0 R G 0 B Left Right 20 Top 40 Bottom c = new Color(255,0,0); new Rect(10,20,30,40); null r r =

Type-controle nCompiler controleert type van toe te kennen waardes int x, y ; double d; Color c; x = 3; x = y; d = 3.14; c = Color.Red; x = 3.14; x = “hoi”; d = c; c = 3;

Type-conversie getallen int x, y ; double c, d; x = 5; d = 3.14; d = 7; c = x; x = (int) d; y = (int) (c/2); ntype klopt nint-waarde past ook in een double-variabele ndouble past afgekapt in int, mits programmeur accoord

Type-controle parameters nCompiler controleert of parameters van methoden het goede type hebben c.DrawText ( ”hallo”, 10, 20, verf ); x = 100; y = 10; waarde = 37; c.DrawText ( waarde, 0.3 * x, y, verf );.ToString() (int)( ) String int Paint

-syntax expressie getal expressie operator expressie() variabele ”” symbool object expressie (), new klasse naam property naam this klasse naam methode naam.

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

Klikker protected override void OnCreate(Bundle b) { base.OnCreate(b); class MijnAct : Activity } { knop = new Button(this); knop.Click += klik; this.SetContentView(knop); public void klik(object o, EventArgs ea) { } knop.Text = "1x geklikt"; } Button knop;

Klikker Schilderij protected override void OnCreate(Bundle b) { base.OnCreate(b); class MijnAct : Activity } { scherm = new MijnView(this); knop.Click += klik; this.SetContentView(scherm); public void klik(object o, EventArgs ea) { } knop.Text = "1x geklikt"; } MijnView scherm;

Schilderij protected override void OnCreate(Bundle b) { base.OnCreate(b); class MijnAct : Activity } { scherm = new MijnView(this); this.SetContentView(scherm); } MijnView scherm; } { protected override void OnDraw(Canvas c) { base.OnDraw(c); } public MijnView(Context c) : base(c) { } c.DrawLine(...); class MijnView : View scherm.Click += klik;

A-Touch protected override void OnCreate(Bundle b) { base.OnCreate(b); class MijnAct : Activity } { scherm = new MijnView(this); this.SetContentView(scherm); } MijnView scherm; } { protected override void OnDraw(Canvas c) { base.OnDraw(c); } public MijnView(Context c) : base(c) { } c.DrawLine(...); class MijnView : View scherm.Touch += raakAan; public void raakAan(object o, EventArgs ea) { }

A-Touch V-Touch protected override void OnCreate(Bundle b) { base.OnCreate(b); class MijnAct : Activity } { scherm = new MijnView(this); this.SetContentView(scherm); } MijnView scherm; } { protected override void OnDraw(Canvas c) { base.OnDraw(c); } public MijnView(Context c) : base(c) { } c.DrawLine(...); class MijnView : View scherm.Touch += raakAan; public void raakAan(object o, EventArgs ea) { } this.Touch += raakAan; public void raakAan(object o, EventArgs ea) { }

V-Touch protected override void OnCreate(Bundle b) { base.OnCreate(b); class MijnAct : Activity } { scherm = new MijnView(this); this.SetContentView(scherm); } MijnView scherm; } { protected override void OnDraw(Canvas c) { base.OnDraw(c); } public MijnView(Context c) : base(c) { } c.DrawLine(...); class MijnView : View this.Touch += raakAan; public void raakAan(object o, EventArgs ea) { }

V-Touch protected override void OnCreate(Bundle b) { base.OnCreate(b); class MijnAct : Activity } { scherm = new MijnView(this); this.SetContentView(new MijnView(this)); } MijnView scherm; } { protected override void OnDraw(Canvas c) { base.OnDraw(c); } public MijnView(Context c) : base(c) { } c.DrawLine(...); class MijnView : View this.Touch += raakAan; public void raakAan(object o, EventArgs ea) { }

Cirkel- klikker protected override void OnCreate(Bundle b) { base.OnCreate(b); class MijnAct : Activity } { this.SetContentView(new MijnView(this)); } } { protected override void OnDraw(Canvas c) { base.OnDraw(c); } public MijnView(Context c) : base(c) { } c.DrawLine(...); class MijnView : View this.Touch += raakAan; public void raakAan(object o, EventArgs ea) { }

Cirkel- 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.DrawCircle(x, y, 50, new Paint()); x = tea.Event.GetX(); y = tea.Event.GetY(); this.Invalidate(); float x, y; PointF p;

Cirkel- 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.DrawCircle(x, y, 50, new Paint()); x = tea.Event.GetX(); y = tea.Event.GetY(); this.Invalidate(); float x, y; PointF p; p = new PointF(x, y);

Cirkel- 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.DrawCircle(p.X, p.Y, 50, new Paint()); x = tea.Event.GetX(); y = tea.Event.GetY(); this.Invalidate(); float x, y; PointF p; p = new PointF(x, y); if (p ≠ null)

Cirkel- 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.DrawCircle(p.X, p.Y, 50, new Paint()); x = tea.Event.GetX(); y = tea.Event.GetY(); this.Invalidate(); float x, y; PointF p; p = new PointF(x, y); if (p != null)

Opdrachten voorwaardelijk uitvoeren opdracht wordt alleen uitgevoerd als voorwaarde geldt if (temperatuur<0) uitvoer.Text = "Het vriest!"; opdracht wordt steeds opnieuw uitgevoerd zolang voorwaarde geldt if while (temperatuur<0) temperatuur += 5;

Twee alternatieven opdracht wordt alleen uitgevoerd als voorwaarde niet geldt if (temperatuur<0) uitvoer.Text = "Het vriest!”; else uitvoer.Text = "Het dooit.";

Meer opdrachten als body accolades maken twee opdrachten tot één body if (temperatuur<0) uitvoer1.Text = "Het vriest"; uitvoer2.Text = "Koud he!"; {}{}

Vergelijk-operatoren n<kleiner dan n<=kleiner dan of gelijk aan n>groter dan n>=groter dan of gelijk aan n==gelijk aan n!=ongelijk aan x=5 x wordt 5 ! x==5 is x gelijk aan 5 ?

Expressies nExpressie met een getal als waarde nExpressie met een tekst als waarde nExpressie met een waarheid als waarde 2 * (lengte + breedte) "Hallo " + persoon p != null type int type bool type string value object- value

Bool expressies nVergelijken van waarden nCombineren van andere bool-expressies met logische operatoren u&&and u||or u !not x <= y x 0 ! (x==0 && y==0)x!=0 || y!=0 George Boole ( )

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

Cirkel- 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.DrawCircle(p.X, p.Y, 50, new Paint()); x = tea.Event.GetX(); y = tea.Event.GetY(); this.Invalidate(); float x, y; PointF p; p = new PointF(x, y); if (p != null)

Cirkel- 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); if (p != null) met bitmap b = BitmapFactory.DecodeResource (...Icon...); Bitmap b;

Resources

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); if (p != null) met bitmap b = BitmapFactory.DecodeResource (...Icon...); Bitmap b; List alles ;

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); if (p != null) met bitmap b = BitmapFactory.DecodeResource (...Icon...); Bitmap b; List alles ; alles.Add(p);

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 ; alles.Add(p);

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);

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);

Punten- klikker protected override void OnDraw(Canvas c) { base.OnDraw(c); } public void raakAan(object o, c.DrawBitmap(b, p.X, p.Y, new Paint()); foreach( PointF p in alles) met bitmap } RectF grens; Paint verf = new Paint(); verf.Color=Color.Blue; c.DrawRect(grens, verf); grens.Union(p.X, p.Y); } {

Punten- klikker protected override void OnDraw(Canvas c) { base.OnDraw(c); } public void raakAan(object o, c.DrawBitmap(b, p.X, p.Y, new Paint()); foreach( PointF p in alles) met bitmap } RectF grens = null; Paint verf = new Paint(); verf.Color=Color.Blue; c.DrawRect(grens, verf); grens.Union(p.X, p.Y); grens = new RectF(p.X, p.Y, p.X, p.Y); } { if (grens==null) else if (grens != null) { }

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