Skip to content

Commit e11b5ed

Browse files
author
pedersen
committed
mergin
2 parents 9d2dc4c + 110effc commit e11b5ed

File tree

3 files changed

+147
-52
lines changed

3 files changed

+147
-52
lines changed
78.1 KB
Loading

slides/workshop3/slides.pdf

92.7 KB
Binary file not shown.

slides/workshop3/slides.tex

Lines changed: 147 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -61,25 +61,46 @@
6161

6262
\begin{frame}
6363
\frametitle{Dagens program}
64+
\begin{columns}
65+
\begin{column}{0.5\textwidth}
66+
6467
\begin{itemize}
6568
\item Introduktion
6669
\item Resume af sidste gang
6770
\item Kode
6871
\begin{itemize}
69-
\item Løkker
70-
\item Arrays
72+
\item Arrays og løkker
7173
\item Funktioner
74+
\item Klasser
7275
\end{itemize}
7376

74-
\item Workshop
77+
\item Grafik
7578
\begin{itemize}
7679
\item Mange bolde på en gang!
7780
\item Fyrværkeri (fontæne)
81+
\item Partikelsjov
7882
\end{itemize}
7983

8084
\item \emph{Afslutning}
81-
8285
\end{itemize}
86+
87+
\end{column}
88+
89+
\begin{column}{0.5\textwidth}
90+
\FIG{dagensprogram}{Workshop 3}
91+
\end{column}
92+
\end{columns}
93+
94+
\end{frame}
95+
96+
97+
\begin{frame}
98+
\frametitle{Introduktion}
99+
100+
\begin{block}{Slides og processing filer}
101+
\url{http://poodle/processing}
102+
\end{block}
103+
{\tiny Slides kan sikkert bruges til at kigge i eller kopiere fra.}
83104
\end{frame}
84105

85106

@@ -93,17 +114,9 @@
93114
\end{frame}
94115

95116

96-
\begin{frame}
97-
\frametitle{Introduktion}
98-
99-
\begin{block}{Slides og processing filer}
100-
\url{http://poodle/processing}
101-
\end{block}
102-
{\tiny Slides kan sikkert bruges til at kigge i eller kopiere fra.}
103-
\end{frame}
104117

105118
\begin{frame}[fragile]
106-
\frametitle{Resume}
119+
\frametitle{Resume af sidste gang}
107120

108121
\begin{itemize}
109122
\item Variable: \texttt{float boldX = 200;}\\
@@ -115,9 +128,9 @@
115128
\end{itemize}
116129
\item Forgreninger:
117130
\begin{itemize}
118-
\item \texttt{if (\emph{x > width}) \{ dx = -dx; \}}\\
119131
\item \texttt{if (betingelse) \{ ... \}}\\
120132
\item \texttt{if (betingelse) \{ ... \} else \{ ... \}}\\
133+
\item \texttt{if (\emph{x > width}) \{ dx = -dx; \}}\\
121134
\end{itemize}
122135
\item Simpel fysik.
123136
\begin{itemize}
@@ -129,8 +142,92 @@
129142
\end{itemize}
130143
\end{frame}
131144

145+
132146
\begin{frame}[fragile]
133-
\frametitle{Løkker}
147+
\frametitle{More, More, MOOOOOOOOOREEE!!!}
148+
149+
Vi vil have flere bolde på skærmen på samme tid!
150+
151+
\begin{columns}
152+
\begin{column}{0.5\textwidth}
153+
\begin{block}{Erklæring}
154+
\begin{verbatim}
155+
float bold1X;
156+
float bold1Y;
157+
float delta1X;
158+
float delta1Y;
159+
160+
float bold2X;
161+
float bold2Y;
162+
float delta2X;
163+
float delta2Y;
164+
\end{verbatim}
165+
\end{block}
166+
\end{column}
167+
168+
\begin{column}{0.5\textwidth}
169+
\begin{block}{Opdatering}
170+
\begin{verbatim}
171+
bold1X += delta1X;
172+
bold1Y += delta1Y;
173+
174+
bold2X += delta2X;
175+
bold2Y += delta2Y;
176+
177+
if (bold1X > width) ...
178+
179+
if (bold2X > width) ...
180+
\end{verbatim}
181+
\end{block}
182+
\end{column}
183+
\end{columns}
184+
185+
Hvad så med 100 bolde? Der må være en nemmere måde...
186+
\end{frame}
187+
188+
189+
\begin{frame}[fragile]
190+
\frametitle{Arrays}
191+
192+
Et array er en opslagstabel. Man kan lave et array med et fast antal pladser.
193+
Derefter kan man skrive og læse værdier på de enkelte pladser i arrayet.
194+
195+
\begin{block}{Syntax}
196+
\begin{itemize}
197+
\item erklæring: type[] navn;
198+
\item initialisering: float[] boldX = new float[10];
199+
\item tildeling: boldX[5] = 100;
200+
\item læsning: ellipse(boldX[5], boldY[5], 30, 30);
201+
\end{itemize}
202+
\end{block}
203+
204+
Bemærk at det første element i et array har indeks 0. Det vil fx sige at et array med 10 elementer indekseres med tallene 0-9.
205+
\end{frame}
206+
207+
208+
\begin{frame}[fragile]
209+
\frametitle{Arrays til mange bolde}
210+
211+
Hvis vi laver variablene for bolden om til arrays, kan vi holde styr
212+
på tilstanden af mange bolde.
213+
214+
\begin{block}{Boldenes tilstandsvariable som arrays}
215+
\begin{verbatim}
216+
float[] boldX = new float[10];
217+
float[] boldY = new float[10];
218+
219+
float[] deltaX = new float[10];
220+
float[] deltaY = new float[10];
221+
\end{verbatim}
222+
\end{block}
223+
224+
Nu kan vi bruge løkker til at opdatere og tegne boldene.
225+
226+
\end{frame}
227+
228+
229+
\begin{frame}[fragile]
230+
\frametitle{Sidespring: Demonstration af Løkker}
134231

135232
Lav en løkke som tegner 10 bolde ved siden af hinanden. Brug x som tæller
136233
\begin{block}{med while-løkken}
@@ -173,45 +270,11 @@
173270
\end{frame}
174271

175272

176-
\begin{frame}[fragile]
177-
\frametitle{Arrays}
178-
179-
Et array er en opslagstabel. Man kan lave et array med et fast antal pladser.
180-
Derefter kan man skrive og læse værdier på de enkelte pladser i arrayet.
181-
182-
\begin{itemize}
183-
\item deklaration: float[] boldX = new float[10];
184-
\item tildeling: boldX[5] = 100;
185-
\item læsning: ellipse(boldX[5], boldY[5], 30, 30);
186-
\end{itemize}
187-
188-
\end{frame}
189-
190-
191-
\begin{frame}[fragile]
192-
\frametitle{Øvelse til arrays}
193-
194-
Skal vi have en lille øvelse med arrays?
195-
196-
\end{frame}
197-
198-
\begin{frame}[fragile]
199-
\frametitle{Arrays til mange bolde}
200-
201-
\begin{itemize}
202-
\item float[] boldX = new float[10];
203-
\item float[] boldY = new float[10];
204-
\item float[] deltaX = new float[10];
205-
\item float[] deltaY = new float[10];
206-
\end{itemize}
207-
208-
\end{frame}
209-
210273
\begin{frame}[fragile]
211274
\frametitle{Arrays og Løkker}
212275

213276
Arrays og løkker er som skabt til hinanden. Vi kan bruge en for-løkke til
214-
at løbe igennem kuglerne og opdatere deres positioner.
277+
at løbe igennem alle kuglerne og opdatere deres positioner.
215278

216279
\begin{verbatim}
217280
int ANTAL = 10;
@@ -231,15 +294,34 @@
231294
\end{frame}
232295

233296
\begin{frame}[fragile]
234-
\frametitle{Demo}
297+
\frametitle{Så skal der kodes!}
235298

236299
Kanoneksemplet udvidet til at skyde med flere kanonkugler samtidigt.
237300

238301
http://www.openprocessing.org/visuals/?visualID=47076
302+
303+
\end{frame}
304+
305+
306+
\begin{frame}[fragile]
307+
\frametitle{Fra kanon til fontæne}
239308

309+
\begin{block}{Slagplan}
310+
\begin{itemize}
311+
\item skyd automatisk
312+
\item mindre kugler
313+
\item flere kugler
314+
\item hold styr på kuglernes alder
315+
\item ændr kuglernes farve baseret på deres alder
316+
\end{itemize}
317+
\end{block}
318+
319+
http://www.openprocessing.org/visuals/?visualID=47191
320+
240321
\end{frame}
241322

242323

324+
243325
\begin{frame}[fragile]
244326
\frametitle{Funktioner}
245327

@@ -284,6 +366,19 @@
284366

285367
\end{frame}
286368

369+
\begin{frame}
370+
\frametitle{Klasser}
371+
372+
\begin{itemize}
373+
\item Samler variable og de funktioner der benytter variablene i en logisk enhed
374+
\item Objektorienteret programmering
375+
\item Genbrugelig
376+
\item Abstraktion
377+
\item Masser af nyttige klasser på nettet
378+
\item Man behøver ikke forstå implementationen for at bruge dem!
379+
\end{itemize}
380+
381+
\end{frame}
287382

288383

289384
\begin{frame}
@@ -292,7 +387,7 @@
292387
\begin{itemize}
293388
\item Hvad syntes \emph{du} om i dag?
294389
\item Næste gang: ?
295-
\item $T^3$ i må meget gerne hjælpe med at rydde lokalet.
390+
\item $T^3$ på tirsdag. I må meget gerne hjælpe med at rydde lokalet.
296391
\end{itemize}
297392

298393
\begin{block}{Klasseværelset}

0 commit comments

Comments
 (0)