Unterschiedliche Views in einer Single Page Application

Für ein kleineres Projekt habe ich vor einiger Zeit eine HTML5-Single-Page-Application entwickelt und stand dann vor dem Problem wie ich unterschiedliche Views innerhalb dieser Seite realisiere. Da ich möglichst ohne schwerfälliges Framework auskommen wollte, habe ich mich für eine Lösung mittels jQuery entschieden. Im HTML habe ich dazu mehrere Views definiert:

<div id="options" class="widget" style="display: none">
</div>

<div id="game" class="widget">
</div>

Der Inhalt des div-Elements mit der Id options ist dabei standardmäßig ausgeblendet. Nun kann die Ansicht der beiden Views mittels der Funktion switchView gewechselt werden:

switchView() {
	  
    if(this.activeView==this.Views.Game) {
        $("#game").css({"display": "none"});
        $("#options").css({"display": "block"});
        this.activeView = this.Views.Options;
    }
    else if (this.activeView==this.Views.Options) {
        $("#options").css({"display": "none"});
        $("#game").css({"display": "block"});
        this.activeView = this.Views.Game;
    }
}

In der Funktion wird das CSS der jeweiligen div-Elemente manipuliert. Dadurch wird die Sichtbarkeit der Blöcke gewechselt und man hat eine einfache View Umschaltung realisiert.

Minecraft Banner im Browser erzeugen

In Minecraft gibt es seit einigen Versionen sogenannte Banner. Diese werden aus unterschiedlichsten Elementen erstellt. Aus diesen Elementen innerhalb des Spieles ein Banner zu erstellen, kann dabei unter Umständen ein wenig kompliziert werden. Einfacher geht es mit einem Banner Generator im Browser.

Ein erzeugtes Banner kann anschließend exportiert werden

Mit dem Banner Generatur welcher unter needcoolshoes.com/banner zu finden ist, kann sich ein Banner aus den unterschiedlichsten Mustern und Farben einfach zusammengeklickt werden. Anschließend kann dieser Banner in Form eines Kommandos exportiert werden. Daneben wird auch die Bauanleitung generiert, so das der Banner von Hand direkt im Spiel gebaut werden kann.

Minecraft Kommandos zusammenbauen

Einfache Kommandos lassen sich in Minecraft mit ein paar Kenntnissen schnell zusammenbauen. Schwieriger wird es wenn man komplexe Befehle wie Items mit Verzauberungen oder Pfeile welche in eine bestimmte Richtung schießen erzeugen möchte. Hier kann man viel durch Trial und Error erreichen. Einfach wird es mit dem Generator-Tool MCStacker.

MCStacker in Aktion

Mit dem Tool ist es möglich sich schnell komplexe Befehle per Point & Click zusammenzubauen. Diese können anschließend übernommen und in Minecraft ausprobiert werden. Zu finden ist der Generator unter mcstacker.bimbimma.com.

Enums unter JavaScript

Enums gibt es unter JavaScript nicht. Damit könnte der Artikel an dieser Stelle vorbei sein. Allerdings gibt es viele Wege um in JavaScript ein Verhalten oder die Strukturen zu simulieren, die am Ende gewünscht sind. Bei einem Enum würde dies so aussehen:

var DayOfTheWeek = {
  Monday: 1,
  Tuesday: 2,
  Wednesday: 3,
  Thursday: 4,
  Friday: 5,
  Saturday: 6,
  Sunday: 7
};

Genutzt wird das ganze dann so:

var dayOfTheWeek = DayOfTheWeek.Thursday;

Wer mehr über die Hintergründe rund um Enums unter JavaScript erfahren möchte dem sei der ausgezeichnete Blogbeitrag Enums in Javascript empfohlen.

Quellcode durchsuchen

Manchmal ist man als Entwickler auf der Suche nach einem Stück Quellcode. Die Gründe dafür sind vielfältig und natürlich kann man für diesen Zweck die Suchfunktionen einzelner Portale wie GitHub und Co. nutzen um den gewünschten Quelltext zu finden.

searchcode in Aktion

Einfacher wird das ganze mittels searchcode.com, einer Quelltextsuchmaschine. Bei searchcode, werden nach eigenen Angaben, über sieben Millionen Projekte verschiedenster Plattformen durchsucht. Für den Gebrauch in Firmen, welche natürlich auch private Repositories betreiben, gibt es searchcode dabei auch als Lösung zum selberhosten. Der Quelltext von searchcode ist auf GitHub zu finden. Zu beachten ist hierbei, das es sich um keine freie Software handelt und man damit die Lizenzbedingungen bei der Eigennutzung des Servers genau lesen sollte.