Wir nutzen Cookies, um das allgemeine Benutzerelebnis zu verbessern. Mit der Nutzung unseres Wikis stimmst du der Nutzung von Cookies zu.

Pocket Code

dieser Artikel
war ADW:
vom: 05.01.2016
bis: 18.01.2016

Pocket Code ist eine App, mit der man auf dem Smartphone oder Tablet Programme und Spiele ähnlich wie in Scratch in einer blockbasierten Sprache erstellen kann. Pocket Code ist als kostenlose App im Google Playstore verfügbar. Momentan ist nur die Android-Version veröffentlicht, und es gibt einen HTML5 Player (also ohne edit Funktion), der am Desktop im Browser auf https://share.catrob.at/ verwendet werden kann (Play Symbol auf Thumbnail vom Projekt). Eine iPhone Version ist in Entwicklung. Pocket Code und das darin integrierte Pocket Paint werden vom Catrobat Projekt entwickelt.

Anzeige veröffentlichter Projekte in der Pocket Code App

Pocket Code Website

Um Pocket Code herunterzuladen und zu verwenden ist abgesehen vom Android-Account keine weitere Anmeldung notwendig. Es ist aber möglich, sich bei Pocket Code einen Benutzer anzulegen oder einen bereits bestehenden OpenAuth Account (Google, Facebook) zu verwenden, mit dem dann Projekte veröffentlicht werden können.

Ähnlich wie Scratch hat Pocket Code eine Webseite http://pocketcode.org, auf der neue und populäre Projekte vorgestellt werden. Zum Abspielen müssen Projekte auf ein Mobilgerät, auf dem die Pocket Code App installiert ist, heruntergeladen werden, oder man drückt am Desktop im Browser auf das Play Symbol auf dem Thumbnail des Projekts, wobei dann aber manche Funktionen nur eingeschränkt oder nicht zur Verfügung stehen, beispielsweise wenn der PC oder Laptop keinen Beschleunigungssensor besitzt - Neigungssensoren werden aber durch die Pfeiltasten auf der Tastatur simuliert. Alternativ können veröffentlichte Projekte auch mit der Pocket Code-App durchstöbert werden. Zusätzlich gibt es über den Website die Möglichkeit, hochgeladene Projekte via dem Button "App erstellen" in echte Android Apps umzuwandeln und dann mittels dem nach einigen Minuten erscheinenden "Als App herunterladen" Button auf dem eigenen Android Gerät als App zu installieren.

Startmenü von Pocket Code

Pocket Code Oberfläche

Pocket Code startet mit einem Menü mit folgenden Möglichkeiten:

  • "Fortsetzen" öffnet das zuletzt geöffnete Programm.
  • "Neu" erstellt ein neues Programm.
  • "Programme" zeigt die auf dem Gerät gespeicherten Programme.
  • "Hilfe" zeigt dir Beispielprogramme, ein Tutorial, eine Schritt-für-Schritt Anleitung und ein Diskussionsforum an.
  • "Erkunden" bringt dich auf die Seite der hochgeladenen Programme: https://pocketcode.org/
  • "Hochladen" veröffentlicht dein Programm auf: https://pocketcode.org/

Figuren heißen bei Pocket Code "Objekte", ein Projekt kann mehrere Objekte enthalten, wobei jedes Objekt seine eigenen Skripte, Aussehen (bei Scratch "Kostüme") und Klänge haben kann. Dazu gibt es den "Hintergrund", ebenfalls mit eigenen Skripten, Aussehen und Klängen.

Es können auch mehrere "Szenen" angelegt werden, die nur die globalen Variablen miteinander teilen, sonst aber wie unterschiedliche Projekte sind (eigener Hintergrund und Objekte), wobei man mit zwei Steuerungs-Blöcken (Starte Szene XYZ; Kehre zur Szene XYZ zurück) von einer Szene zu einer anderen wechseln kann und auch neue Szenen durch Auswahl von "Neu" anlegen kann. Diese Szenen erleichtern die Strukturierung großer Projekte erheblich, zB indem man im eigenen Programm einen Einführungsbildschirm, eine Hilfeseite, verschiedene Level, und einen Endbildschirm unabhängig voneinander entwickeln kann.

Inhalte werden mit der "+"-Schaltfläche unten links hinzugefügt. Projekte können wahlweise im Hochkant- oder Querformat entworfen werden, die Bearbeitung im Editor erfolgt jedoch immer im Hochformat.

Skripteditor von Pocket Code

Skripte

Skripte bestehen aus Blöcken aus sieben Kategorien: Ereignisse, Steuerung, Bewegung, Klang, Aussehen, Malstift und Daten. Über die Einstellungen von Pocket Code können weitere Kategorien aktiviert werden, zB für Lego Mindstorms NXT und EV3, Arduino oder Raspberry Pi.

Die Kategorie Ereignisse entält

  • Kopfblöcke zum Starten von Skripten bei Programmstart oder nach Antippen der Figur
  • Blöcke zum Senden und Empfangen von Nachrichten

Die Kategorie Steuerung enthält

  • Einen "Warte"-Block
  • "Wiederhole"-Schleifenblöcke und einen "Wenn dann"
  • Blöcke zum Klonen

Anders als bei vielen blockbasierten Sprachen kennt Pocket Code keine Klammerblöcke und keine Einrückungen des Codes. Dies geht auf Kosten der Übersichtlichkeit, erleichtert aber die Bedienung auf schmalen Mobiltelefonbildschirmen. Das Ende eines geklammerten Bereiches wird bei Pocket Code stattdessen durch einen zugehörigen "beenden" Block markiert. Durch Antippen eines solchen Blockteils und Auswahl des Menüpunkts "Baustein-Teile animieren" kann man die jeweils anderen Teile des Blocks kurz blinken lassen, sobald sie durch Scrollen in den angezeigten Bildschirmbereich gebracht werden, was das Erkennen der Programmstruktur unterstützen soll.

Die Kategorie Bewegung enthält Blöcke zum Setzen der x/y-Position und zum Drehen eines Objekts. Zusätzlich gibt es hier einen "Vibrieren"-Block, der den Vibrationsmotor des Smartphones aktiviert. Weiters gibt es in Pocket Code eine Physik-Engine, mit der Objekte sehr natürlich bewegt werden können. Es kann dabei das Aufprallen, die Friktion, die Geschwindigkeit, der Gravitationsvektor und einiges mehr gesetzt werden, und es gibt einen Kontroll-Block, mit dem Kollisionen abgefragt werden können.

Die Kategorie Klang enthält Blöcke zum Abspielen von gespeicherten Klängen. Blöcke um einzelne Töne zu spielen fehlen noch. Dazu gibt es noch einen "Sprich"-Block, der einen vorgegebenen Text ausspricht. Dazu greift die App auf das Text-to-Speech-Modul des Mobiltelefons zu. Es gibt auch einen Block, mit dem mittels der Sprach-Erkennung des Mobiltelefons gesprochene Texte vom Benutzer abgefragt werden können.

Pocket Paint

Die Kategorie Aussehen enthält Blöcke zum Wechseln der Kostüme, zum Anzeigen/Verbergen eines Objekts und zur Ansteuerung von Durchsichtigkeits- und Helligkeitseffekten.

Die Kategorie Malstift enthält Blöcke zum Benutzen eine Stiftfunktion und dem Setzen von Stempelabdrücken.

Die Kategorie Daten enthält Blöcke zum Arbeiten mit Variablen und Listen. Das Zuweisen eines Wertes startet den sogenannten Formel-Editor, welcher die logischen und arithmetischen Funktionen enthält. Zusätzlich kann man im Formel-Editor über die Kategorie "Gerät" auf Umgebungslautstärke und Beschleunigungs- und Neigungswerte zugreifen. Auch Gesichtserkennung und Multi-Touch ist darüber verwendbar. Funktionen zur Kollisionserkennung zwischen Objekten existieren ebenfalls, aber eine Funktion zum Testen ob ein Objekt eine bestimmte Farbe berührt fehlt noch.

Malwerkzeuge in Pocket Paint

Pocket Paint

Im Objekte-Menü für Aussehen kann man weitere "Aussehen" (in Scratch: Kostüm) durch das "+" unten links hinzufügen. Dazu können auf dem Mobiltelefon gespeicherte Grafiken bzw. Grafiken aus der Pocket Code Medienbiliothek ausgewählt werden oder ein neues Bild mit der Pocket Paint App oder mittels der Kamera erstellt werden. Pocket Paint wird normalerweise gemeinsam mit Pocket Code installiert. Es erlaubt das Malen mit dem Finger auf dem Touchscreen des Geräts sowie zahlreicher Werkzeuge (zB Kreise und Ellipsen, Linien, Text, Ausfüllen, Zuschneiden usw), wobei alle RGBa Farben zur Verfügung stehen und bis auf Pixel-Level gezoomt und editiert werden kann. Wie bei Scratch gibt es die Möglichkeit mit einer durchsichtigen Farbe zu zeichnen.

Klänge hinzufügen

Im Objekte-Menü für Klänge kann man weitere Klänge durch das "+" unten links hinzufügen. Neue Klänge können von auf dem Mobiltelefon gespeicherten Audiodateien bzw. Klängen aus der Pocket Code Medienbiliothek ausgewählt werden oder üder den Pocket Code Rekorder aufgenommen werden. Im Gegensatz zur recht ausgereiften Pocket Paint App bietet der Pocket Code Rekorder nur eine rudimentäre Aufnahmefunktion an, Funktionen zum Beschneiden oder anderweitigen Nachbearbeiten der Aufnahme fehlen.

Vergleich Pocket Code zu Scratch

Im Vergleich zu Scratch fehlen bei Pocket Code einige Blöcke. Gleichzeitig bietet Pocket Code einige Möglichkeiten, die in Scratch nicht zur Verfügung stehen, wie zum Beispiel den Zugriff auf alle Sensoren des Mobiltelefons (zB Neigungssensoren, aber auch GPS und Gesichtserkennung), eine Physik-Engine, die die Programmierung von Angry Birds-artigen Spielen enorm vereinfacht, Sprachein- und Ausgabe, oder das Mergen von Programmen, was die Zusammenarbeit mehrerer User an einem Programm erheblich erleichtert. Weiters gibt es das Konzept der Szenen, durch die große Programme besser strukturiert werden können. Auch ist die Bildschirm-Auflösung der Programme beliebig hoch (Default: Bildschirm-Auflösung des eigenen Mobiltelefons). Die eigenen Programme können auch in richtige Android Apps umgewandelt werden.

Ein Konverter von Scratch Projekten steht als beta-Version über das Overflow-Menü auf der Hauptseite zur Verfügung.

Bei Pocket Code wird direkt auf dem Zielsystem programmiert, es stellt daher einen netten Zeitvertreib an der Bushaltestelle dar.

Ähnlich wie Scratch erlaubt Pocket Code auch die Interaktion mit externen Geräten. So ist es mit der aktuellen Version von Pocket Code nach einer Aktivierung in den Einstellungen möglich, Lego Mindstorms NXT und EV3 Roboter, Arduino und Raspberry Pi Boards und Phiro Roboter kabellos via Bluetooth bzw Wifi zu kontrollieren (sowohl Motoren als auch Sensoren). Besonders die Möglichkeit, das Handy mittels zB Kabelbinder an einem Roboter zu montieren, eröffnet mittels der Gesichtslokalisierung via Kamera, der Sprachaus- und eingabe und der Animation eines Gesichts des Roboters viele neue Interaktionsmöglichkeiten. Die gleichzeitige Ansteuerung mehrerer externen Geräte via Bluetooth ermöglicht es darüber hinaus, die Roboter mit zusätzlichen Motoren und/oder Sensoren auszustatten.

Links



Code zum Einbinden ins Forum:
[wiki=de:Pocket Code]Pocket Code[/wiki]