Programmieren? Das kann ich auch! Bau dir deinen eigenen...

22
GEFÖRDERT VON AKTIONSPARTNER Programmieren? Das kann ich auch! Bau dir deinen eigenen Bildschirmschoner Christiane Taras Institut für Visualisierung und interaktive Systeme Universität Stuttgart

Transcript of Programmieren? Das kann ich auch! Bau dir deinen eigenen...

Page 1: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

GEFÖRDERT VON AKTIONSPARTNER

Programmieren? Das kann ich auch!Bau dir deinen eigenen

Bildschirmschoner

Christiane TarasInstitut für Visualisierung und interaktive SystemeUniversität Stuttgart

Page 2: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 2/22

Folien zum

Beispiel-Bildschirmschoner

Page 3: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 3/22

Erstmal anschauen 1/2

Bevor es losgeht, müsst ihr euch die

Entwicklungsumgebung installieren:

• Visual C# Express:

http://www.microsoft.com/germany/Express/product/visualcsh

arpexpress.aspx

oder

• SharpDevelop

http://www.icsharpcode.net/OpenSource/SD/Default.aspx

Dann müsst ihr noch die passende Datei von der Webseite laden

Die Dateien zum Bildschirmschoner sind in einem Zip-Archiv,

das muss man entpacken

• Rechtsklick auf die Zip-Datei

• Und den Menüpunkt mit „entpacken“ wählen

Danach befinden sich alle Dateien in einem Ordner

Diesen Ordner öffnen

Page 4: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 4/22

Erstmal anschauen 2/2

Im geöffneten Ordner Doppelklick mit linke

Maustaste auf „GirlsDay.sln“

Visual Studio (oder SharpDevelop) öffnet sich

Ausführen mit dem Play-Symbol oder F5

Page 5: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 5/22

Quellcode öffnen

1. In Visual Studio: Rechtsklick

auf „Screensaver.cs“,

Linksklick auf „View Code“

bzw. „Code anzeigen“

2. Quellcode-Datei

öffnet sich

Page 6: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 6/22

Nun mal zum Quellcode

Standardbibliotheken,

die verwendet werden

Kommentar (nur für

den Menschen, auch

„// …“ oder „/*…*/“)

Standardklasse

„Form“ = ein Fenster

Ganz viel Kommentar

Page 7: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 7/22

Woher weiß der Computer,

was er machen muss?

Jedes C#-Programm hat eine

„Main“-Methode

Dort wird angefangen

In vielen anderen Sprachen ähnlich (z.B. Java, C)

• ScreenSaver() wird ausgeführt

• Anwendung (der Bildschirmschoner) wird gestartet

Page 8: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 8/22

Der Bildschirmschoner

ist nur ein großes Fenster (1/2)

Kein Fensterrahmen

Fenster liegt über allen anderen

Fenster ist so groß, wie der Bildschirm

Page 9: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 9/22

Der Bildschirmschoner

ist nur ein großes Fenster (2/2)

Änderung rückgängig

machen: „Strg“/„Ctrl“+„Z“

drücken

Page 10: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 10/22

Der Bildschirmschoner kann per Maus

oder Tastatur beendet werden (1/2)

Für die Ereignisse „Maustaste drücken“, „Maus

bewegen“ und „Taste drücken“ werden

Ereignisbehandlungen registriert

• „Ereignis“: Irgendwas passiert

• „Ereignisbehandlung“: Eine Methode, in der steht,

was bei dem Ereignis gemacht wird

Page 11: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 11/22

Der Bildschirmschoner kann per Maus

oder Tastatur beendet werden (2/2)

„Close()“ = Fenster schließen

Page 12: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 12/22

Das Bild ändert sich alle 40 Millisekunden

Neuen Zeitgeber erzeugen

Zeitgeber ist aktiv (läuft, wenn das Programm läuft)

Alle 40 ms gibt der Zeitgeber ein Signal („Tick“)

Kommt das Signal (Ereignis), wird die Methode

„OnTimerTick“ aufgerufen

• „OnTimerTick“ zeichnet die Kreise und veranlasst,

dass das Fenster neu gezeichnet wird

Jetzt geht alles ganz langsam.

Page 13: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 13/22

Den Vordergrund des

Bildschirmschonerbildes ändern (1/6)

Farben der Kreise werden über

ein Feld („Array“) definiert

Nur noch gelbe

und rote Kreise

Erinnerung:

rückgängig machen: „Strg“/„Ctrl“+„Z“ drücken

Page 14: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 14/22

Den Vordergrund des

Bildschirmschonerbildes ändern (2/6)

Page 15: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 15/22

Den Vordergrund des

Bildschirmschonerbildes ändern (3/6)

Kreise haben einen weichen Rand und sind gleich groß

Page 16: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 16/22

Den Vordergrund des

Bildschirmschonerbildes ändern (4/6)

Neuer Kreis Radius wird auf 0 gesetzt

Andere Werte werden zufällig gewählt (z.B. Index der

Farbe)

• Zufallsgenerator („Random“) darf nur einmal

initialisiert werden (z.B. bei Programmstart), sonst

funktioniert er nicht

Page 17: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 17/22

Den Vordergrund des

Bildschirmschonerbildes ändern (5/6)

Page 18: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 18/22

Den Vordergrund des

Bildschirmschonerbildes ändern (6/6)

Stundenzählung nur bis 12, keine Sekunden mehr

Page 19: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 19/22

Den Hintergrund des

Bildschirmschonerbildes ändern (1/3)

Page 20: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 20/22

Den Hintergrund des

Bildschirmschonerbildes ändern (2/3)

Der Text sieht nicht mehr

so gut aus

Page 21: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 21/22

Den Hintergrund des

Bildschirmschonerbildes ändern (3/3)

Jetzt wird nur noch jedes zweite Quadrat gemalt.

Page 22: Programmieren? Das kann ich auch! Bau dir deinen eigenen ...taras/GirlsDay/GirlsDay10_Beispiel.pdf · Zeitgeber ist aktiv (läuft, wenn das Programm läuft) Alle 40 ms gibt der Zeitgeber

Girls‘ Day 22.04.2010 – Christiane Taras – VIS, Uni Stuttgart – „ Programmieren? Das kann ich auch! - Bau dir deinen eigenen Bildschirmschoner“ 22/22

Jetzt bist Du dran!