Spiele entwickeln, Fit mit JavaScript, Intrinsics Programmieren DVD Qt Creator Alle Listings auf DVD Visual Studio Express Spiele entwickeln Von der Idee zum Blockbuster Für Browser, PC, Mobil Just for Fun Bildschirmschoner Panoramabilder Fotokunst Genetische Algorithmen Intrinsics statt Assembler Fit mit JavaScript Grundkurs Bibliotheken Apps für Windows 8 www.ctspecial.de
Editorial Liebe Leserin, lieber Leser, ist Programmieren ein Handwerk oder eine Kunst? Wie Handwerker müssen Programmierer ihre Werkzeuge kennen und beherrschen, und wer Software- Entwicklung professionell betreibt, arbeitet meist nach einem strengen Bauplan. Auf der anderen Seite ist das Erstellen von Programmen ein außerordentlich kreativer Prozess, bei dem häufig Lösungsansätze zum Ziel führen, die auf den ersten Blick skurril oder abwegig erscheinen mögen. Natürlich muss ein Künstler mit seinem Pinsel, seinem Meißel oder seinem Musikinstrument umgehen können, bevor er außergewöhnliche Werke schaffen kann. Programmierer haben es glücklicherweise nicht ganz so schwer wie etwa Pianisten: Wo diese jahrelang üben müssen, bis sie etwas Bühnenreifes hervorbringen, entsteht das erste eigene vorzeigbare Programm innerhalb weniger Stunden. Dank JavaScript muss man dazu nicht mal eine Entwicklungsumgebung installieren für den Anfang reichen ein Text-Editor und ein Browser. Das, was Sie hier in unserem Grundkurs lernen, können Sie später auch auf die meisten anderen Programmiersprachen übertragen. Zugegeben: Dazu, in einem schnöden Datenbankprogramm oder einer Fahrplan-App Kunst zu sehen, bedarf es schon einiger Fantasie. Das fällt bei unseren Programmbeispielen aus der Abteilung Just for Fun leichter: Animierte Bildschirmschoner, eine Betrachter-App für Panoramabilder oder ein Programm, das Bilder mit Hilfe von OpenGL-Shadern verfremdet, gehen schon eher als digitale Kunstwerke durch. Ganz sicher sind die Schöpfer gut gemachter Computerspiele Künstler. Treten Sie in ihre Fußstapfen! Wir beraten Sie bei der Ideenfindung und -umsetzung und stellen mit Unity eine der beliebtesten Spiele-Entwicklungsumgebungen vor. Viel Spaß bei der Produktion Ihres eigenen Blockbusters! Hajo Schulz c t Programmieren 2014 3
Fit mit JavaScript Grundkurs Seite 6 Bibliotheken Seite 30 Apps für Windows 8 Seite 58 Just for Fun Bildschirmschoner Seite 70 Panoramabilder Seite 78 Fotokunst Seite 98 JavaScript Einen einfachen Texteditor und einen Browser mehr braucht man nicht, um mit dem Programmieren in Java Script zu beginnen. Mit Bibliotheken wie jquery oder D3 werden Webseiten ohne viel Tipparbeit bunt und interaktiv, mit Microsofts Visual Studio lassen sich sogar Windows-8-Apps in JavaScript programmieren. 6 Programmieren lernen 30 Das Allround-Framework jquery 38 Interaktive Schaubilder mit D3 46 WebSockets für Echtzeit-Kommunikation 50 Benutzeranmeldung mit OAuth 2.0 58 Apps für Windows 8 Kreative Spielereien Eine neue Programmiersprache oder -technik zu lernen macht am meisten Spaß, wenn man schnell Ergebnisse auf dem Bildschirm sieht. Das gilt umso mehr, wenn die nach Kunst statt nach Arbeit aussehen. 64 Microsofts Kinect als 3D-Kamera nutzen 70 Bildschirmschoner für Windows 74 Pong als Android-Bildschirmschoner 78 Panoramabild-Betrachter 84 Bildmanipulationen per Shader 90 Algorithmen per QtScript ausprobieren 98 Dateifehler als Computerkunst 4 c t Programmieren 2014
Spiele entwickeln Von der Idee zum Blockbuster Seite 100 Für Browser, PC, Mobil Seite 108 Know-how Intrinsics statt Assembler Seite 144 Genetische Algorithmen Seite 164 Spiele Spiele zu bauen ist wahrscheinlich die Königsdisziplin der Programmierung. Mit den richtigen Werkzeugen fällt der Einstieg gar nicht so schwer, wie man sich das vielleicht vorstellt. 100 Ideen finden und umsetzen 108 Die Entwicklungsumgebung Unity 120 Spiele für den Browser 130 WebGL mit Three.js bändigen Profiwissen Der Schwerpunkt zu sogenannten Intrinsics zeigt, wie man trotz einer Hochsprache wie C/C++ das letzte Quäntchen Performance aus der CPU herauskitzelt. Wo selbst das nicht reicht, liefern genetische Algorithmen ungefähre Lösungen in Sekunden, wo exakte Berechnungen Jahre dauern würden. 138 Funktionale Programmierung mit Closures 144 Assembler-Befehle per Hochsprache nutzen 148 Zufallszahlen per Maschinenbefehl 152 x86-instruktionen zur CRC-Berechnung 154 Schnell und sicher verschlüsseln mit AES 160 Benchmarks auf die Nanosekunde genau 164 Genetische Algorithmen Zum Heft Download der DVD Die Heft-DVD steht als Image zum Download unter www.ct.de/cs1403004 bereit. 3 Editorial 170 Impressum 170 Inserentenverzeichnis c t Programmieren 2014 5