Angetestet: Futuro Cube

Seite 3: Skript-Programmierung mit PAWN

Inhaltsverzeichnis

Mehr Freiheiten als die Shell bietet die Programmierung des Cubes in der Programmiersprache PAWN. PAWN ist eine untypisierte Sprache, die sich aufgrund ihres geringen Resssourcen-Bedarfs gut für eingebettete Systeme eignet. Ihre Syntax ähnelt der von C.

PAWN-Skripte lassen sich mit jedem Text-Editor erstellen und dann mit der Futuro Cube Suite übersetzen und auf dem Cube installieren. Ein triviales Beispiel sieht wie folgt aus:

#include <futurocube>

main()
{
SetColor(cORANGE)
DrawSquare(GetCursor())
PrintCanvas()
printf("Hello, world!\r\n")
}

Dieses Skript färbt die aktive Seite des Cubes orange und gibt den Text "Hello, world!" auf der Konsole aus. Genau wie in C bildet die Funktion main den Einstiegspunkt ins Programm und genau wie in C lassen sich mit der #include-Anweisung weitere Dateien einbinden. Dabei enden diese Dateien nicht auf .h sondern auf .inc. PAWN-Programme haben per Konvention die Extension .p.

Die Datei futurocube.inc ist Bestandteil des SDK und definiert alle Funktionen, die in der API zur Verfügung stehen. Ein PDF-Dokument erklärt in recht abenteuerlichem Englisch die Programmierung des Cubes und beschreibt auch kurz alle Funktionen der API.

Noch steckt das Projekt in den Kinderschuhen und so gibt es beispielsweise noch keine Funktionen, die die Funkeinheit der Cubes unterstützen. Diese sollen aber in Kürze nachgeliefert werden. Alle anderen Eigenschaften werden bereits unterstützt und so färbt das folgende Programm alle Seiten des Würfels kontinuierlich in wechselnden Farben ein:

#include <futurocube>

main()
{
new i
new j

for (;;)
{
if (++i >= 256)
i = 0

for (j = 0; j < 6; j++)
{
SetRgbColor(i + j*16,
64 + i + j * 32,
128 + i + j * 65)

DrawSide( _w( j, 0))
}

PrintCanvas
Sleep
}
}

Bei der Sound-Ausgabe müssen Entwickler sich momentan mit den knapp 300 mitgelieferten Samples begnügen. Es soll demnächst aber auch die Möglichkeit geben, eigene Audio-Dateien auf den Cube zu laden.

Beim Entwurf des SDK und der Cube-Firmware haben sich die Entwickler durchaus Gedanken gemacht. So lassen sich PAWN-Skripte zum Beispiel an Ereignisse knüpfen. Solche Ereignisse werden unter anderem ausgelöst, wenn der Cube geladen wird oder die Beschleunigungssensoren bestimmte Bewegungen erkennen. Auch lassen sich die Cubes mit PAWN-Skripten personalisieren. Endet ein Skriptname auf .mycube.p, wird das Skript immer dann ausgeführt, wenn das Hauptmenü aufgerufen wird.

Rubik's Zauberwürfel reloaded.

Ob der Futuro-Cube das Zeug zu einer erfolgreichen Videospiel-Konsole hat, dürfte stark von der Kreativität der Entwickler und der Anzahl der verfügbaren Spiele abhängen. Einen App-Store hat der Hersteller nicht geplant, will aber in Kürze ein Forum eröffnen, in dem Programmierer ihre Eigenentwicklungen vorstellen können. Das SDK ist konzeptionell ausgereift und auch die Implementierung ist auf einem guten Weg, so dass die Entwicklung eigener Software leicht vonstatten geht. Die größte Hürde für den Erfolg dürfte allerdings der happige Preis von 88,60 Euro sein. (ogo) (ogo)