Übungsaufgaben
Zehn interaktive Übungen zu C#, .NET und Unity-Skripten — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung.
Welche Aussagen über die Sprache C# stimmen?
Fünf Behauptungen über C#-Programme und Unity-Skripte.
Ordne jeden Ausdruck zu: Ist er ein Schlüsselwort der Sprache C#, stammt er aus der .NET-Klassenbibliothek oder gibt es ihn nur in Unity?
class, if, void, int) gehören zur Sprache selbst. Console und Math sind Klassen aus .NET, die jedes C#-Programm nutzen kann. Time, GameObject und Debug.Log liefert erst die Unity-Bibliothek.Was gibt dieses C#-Programm aus?
int tore = 7; int spiele = 2; double schnitt = tore / spiele; Console.WriteLine(schnitt * 2);
tore / spiele ist eine Division zweier int-Werte und liefert 3 (der Rest fällt weg). Erst danach wird 3 in den double-Wert 3,0 umgewandelt. Also 3 · 2 = 6. Richtig wäre (double)tore / spiele — dann käme 7 heraus.Bringe die Stationen eines C#-Programms in die richtige Reihenfolge.
Program.cs.
.dll oder .exe) gespeichert.
Ein Windrad in einem Unity-Spiel soll sich mit 90 Grad pro Sekunde drehen. Das Skript enthält in Update() die Zeile
transform.Rotate(0, 0, 90 * Time.deltaTime);
Das Spiel läuft gleichmäßig mit 40 fps (Bildern pro Sekunde).
-
Wert von
Time.deltaTimes - Drehung in einem Frame °
- Drehung nach 2 Sekunden °
-
Drehung nach 2 Sekunden, wenn
* Time.deltaTimefehlt °
Time.deltaTime dreht es sich jedes Frame um 90°: 80 · 90° = 7200° — zwanzig volle Umdrehungen, und auf schnelleren Geräten noch mehr.Du kennst Java aus Kapitel 1. Verbinde jede Java-Zeile mit der gleichbedeutenden C#-Zeile.
bool statt boolean, string klein, Vererbung mit Doppelpunkt statt extends, und die Länge ist in C# eine Eigenschaft (Length ohne Klammern).Eine Münze soll sich in Unity drehen und beim Start eine Meldung ausgeben. Drei Zeilen sind fehlerhaft — zwei davon verhindert schon der Compiler, einer fällt erst beim Spielen auf.
update(): Das Programm kompiliert, aber die Münze steht still, weil Unity nur nach einer Methode namens Update sucht. Typfehler und fehlende Semikolons meldet dagegen der Compiler vor dem Start.In einem Lauf-Spiel steht in Update(), dass sich die Figur in jedem Frame um 0,1 Einheiten nach rechts bewegt — ohne Time.deltaTime. Tom spielt auf einem Gaming-PC mit 120 fps, Mia auf einem alten Laptop mit 24 fps. Beide halten 5 Sekunden lang die Taste gedrückt. Wie viele Einheiten liegt Toms Figur danach vor Mias Figur?
Für welche Projekte ist C# eine gute Wahl? Beurteile mit dem, was du über Einsatzgebiete und Plattformen weißt.
