| 
61 | 61 | 
 
  | 
62 | 62 | \begin{frame}  | 
63 | 63 |   \frametitle{Dagens program}  | 
 | 64 | +  \begin{columns}  | 
 | 65 | +    \begin{column}{0.5\textwidth}  | 
 | 66 | +    | 
64 | 67 |   \begin{itemize}  | 
65 | 68 |   \item Introduktion  | 
66 | 69 |   \item Resume af sidste gang  | 
67 | 70 |   \item Kode  | 
68 | 71 |     \begin{itemize}  | 
69 |  | -    \item Løkker  | 
70 |  | -    \item Arrays  | 
 | 72 | +    \item Arrays og løkker  | 
71 | 73 |     \item Funktioner  | 
 | 74 | +    \item Klasser  | 
72 | 75 |     \end{itemize}  | 
73 | 76 | 
 
  | 
74 |  | -  \item Workshop  | 
 | 77 | +  \item Grafik  | 
75 | 78 |     \begin{itemize}  | 
76 | 79 |     \item Mange bolde på en gang!  | 
77 | 80 |     \item Fyrværkeri (fontæne)  | 
 | 81 | +    \item Partikelsjov  | 
78 | 82 |     \end{itemize}  | 
79 | 83 | 
 
  | 
80 | 84 |   \item \emph{Afslutning}  | 
81 |  | -      | 
82 | 85 |   \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.}  | 
83 | 104 | \end{frame}  | 
84 | 105 | 
 
  | 
85 | 106 | 
 
  | 
 | 
93 | 114 | \end{frame}  | 
94 | 115 | 
 
  | 
95 | 116 | 
 
  | 
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}  | 
104 | 117 | 
 
  | 
105 | 118 | \begin{frame}[fragile]  | 
106 |  | -  \frametitle{Resume}  | 
 | 119 | +  \frametitle{Resume af sidste gang}  | 
107 | 120 | 
 
  | 
108 | 121 |   \begin{itemize}  | 
109 | 122 |   \item Variable: \texttt{float boldX = 200;}\\  | 
 | 
115 | 128 |     \end{itemize}  | 
116 | 129 |   \item Forgreninger:   | 
117 | 130 |     \begin{itemize}  | 
118 |  | -    \item \texttt{if (\emph{x > width}) \{ dx = -dx; \}}\\  | 
119 | 131 |     \item \texttt{if (betingelse) \{ ... \}}\\  | 
120 | 132 |     \item \texttt{if (betingelse) \{ ... \} else \{ ... \}}\\  | 
 | 133 | +    \item \texttt{if (\emph{x > width}) \{ dx = -dx; \}}\\  | 
121 | 134 |     \end{itemize}  | 
122 | 135 |   \item Simpel fysik.  | 
123 | 136 |     \begin{itemize}  | 
 | 
129 | 142 |   \end{itemize}    | 
130 | 143 | \end{frame}  | 
131 | 144 | 
 
  | 
 | 145 | + | 
132 | 146 | \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}  | 
134 | 231 | 
 
  | 
135 | 232 |   Lav en løkke som tegner 10 bolde ved siden af hinanden. Brug x som tæller  | 
136 | 233 |   \begin{block}{med while-løkken}    | 
 | 
173 | 270 | \end{frame}  | 
174 | 271 | 
 
  | 
175 | 272 | 
 
  | 
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 |  | - | 
210 | 273 | \begin{frame}[fragile]  | 
211 | 274 |   \frametitle{Arrays og Løkker}  | 
212 | 275 | 
 
  | 
213 | 276 |   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.  | 
215 | 278 | 
 
  | 
216 | 279 | \begin{verbatim}  | 
217 | 280 | int ANTAL = 10;  | 
 | 
231 | 294 | \end{frame}  | 
232 | 295 | 
 
  | 
233 | 296 | \begin{frame}[fragile]  | 
234 |  | -  \frametitle{Demo}  | 
 | 297 | +  \frametitle{Så skal der kodes!}  | 
235 | 298 | 
 
  | 
236 | 299 |   Kanoneksemplet udvidet til at skyde med flere kanonkugler samtidigt.  | 
237 | 300 | 
 
  | 
238 | 301 |   http://www.openprocessing.org/visuals/?visualID=47076  | 
 | 302 | +      | 
 | 303 | +\end{frame}  | 
 | 304 | + | 
 | 305 | + | 
 | 306 | +\begin{frame}[fragile]  | 
 | 307 | +  \frametitle{Fra kanon til fontæne}  | 
239 | 308 | 
 
  | 
 | 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 | +      | 
240 | 321 | \end{frame}  | 
241 | 322 | 
 
  | 
242 | 323 | 
 
  | 
 | 324 | + | 
243 | 325 | \begin{frame}[fragile]  | 
244 | 326 |   \frametitle{Funktioner}  | 
245 | 327 | 
 
  | 
 | 
284 | 366 | 
 
  | 
285 | 367 | \end{frame}  | 
286 | 368 | 
 
  | 
 | 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}  | 
287 | 382 | 
 
  | 
288 | 383 | 
 
  | 
289 | 384 | \begin{frame}  | 
 | 
292 | 387 |   \begin{itemize}  | 
293 | 388 |   \item Hvad syntes \emph{du} om i dag?  | 
294 | 389 |   \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.  | 
296 | 391 |   \end{itemize}  | 
297 | 392 | 
 
  | 
298 | 393 |   \begin{block}{Klasseværelset}  | 
 | 
0 commit comments