Little Fighter in Javascript

Monday, 2. May 2011 21:10

Little Figher in Javascript! Oder zumindest ein Ansatz. Mit dem Canvas Element kann man wirklich viel anstellen und das noch dazu einfach und schnell. Ich bin regelrecht begeistert. Schade nur, dass Javascript weder Operatorüberladung noch Methodenüberladung hat. Beides wär sehr praktisch für Vektor und Matrizenrechnungen.

Steuerung

Firen Freeze
Links: F Ö
Rechts: H #
Rauf: T Ü
Runter: G Ä
Angriff: D L
Springen: S K
Verteidigen: A J

Getestet mit Firefox 4 und Chrome. Funktioniert nicht, wenn automatische Suchtexteingabe aktiviert ist.





Thema: Projekte | Kommentare (0)

MaxScript zum zeichnen von L-Systemen

Sunday, 25. October 2009 22:23

koch3.png

MaxScript: lsystems1.txt

Das Script kann einfachere L-Systeme mit den Zeichenoperationen A,B,F, Rotationsoperatioinen y,p,r und einem Stack zeichnen.

Bevor drawLSystem aufgerufen wird, müssen erst die Produktion, das Axiom, die Startposition und die Startrichtung festgelegt werden.
Die fraktale Pflanze wie hier im Wiki beschrieben kann z.B. auf folgende Weise gezeichnet werden:

prod = #(#("X", "F-yr[[X]+ryX]+ryF[+ryFX]-ryX"), #("F", "FF"))
start="X"
lAngle = 25
startpos = [0,0,0]
startdir = [0,0,1]
drawLSystem prod start 3 startpos startdir lAngle 1

Bei der Produktion ist zu beachten, dass + und - nicht ganz dieselbe Funktion wie im Wiki haben. + Legt fest, dass die nächste Rotation mit positivem Winkel und - mit negativem Winkel durchgeführt wird. Die eigentliche Rotation geschieht mit y(=Yaw), p(=Pitch) oder r(=Roll).

Im Script sind bereits 4 L-Systeme drin:

Thema: Projekte | Kommentare (0)

MapGenerator

Monday, 11. May 2009 23:06

 Mapgenerator für einen kleinen Wettbewerb. Die Gänge werden mittels D0L-System generiert. Die Blätter nach der vierten Iteration wären als Raumeingänge geplant gewesen. Um ein wenig Zufall bei der Generierung einzubauen wird eine Zufallszahl generiert die angibt, ab dem wievielten Zeichen des vom L-System erzeugten Strings der Zeichenvorgang gestartet werden soll.

Nahansicht

Komplettansicht

Thema: Projekte | Kommentare (0)

CG Shader

Sunday, 6. April 2008 17:41

Zu Vorführungszwecken für ein Schulreferat erstellt. Dieser cg-Shader ermöglicht es, mithilfe von Vertex Colours bis zu 3 verschiedene Texturen auf Objekt aufzutragen. Jede Farbe eines Vertizes steht für die Sichtbarkeit einer Textur. Ein Farbanteil von RGB(0.9/0.1/0) bedeutet, dass Textur 1 zu 90%, Textur 2 zu 10% und Textur 3 zu 0% sichtbar sind.


Zum Album

Thema: Projekte | Kommentare (0)

Ray Tracing

Monday, 24. March 2008 15:49

Ein in C++ geschriebener Ray Tracer.
Unterstützt zurzeit:

  • Szenegraphen
  • Matrizentransformation(zur Positionierung und Rotation)
  • Ambient, Diffuse und Specular Lights.
  • Spiegelung
  • Schatten
  • Objekte:
    • Kugeln
    • Ebenen
    • Lichter

Zum Album

Thema: Projekte | Kommentare (1)

Kal Mesh Loader

Thursday, 6. March 2008 20:55

Der Mesh Loader dient zum Öffnen und Anzeigen der 3D Modelle des Spiels Kal Online. Die Modelle sind in den *.gb Dateien gespeichert. Jede *.gb Datei stellt ein Objekt dar und setzt sich aus ein oder mehreren Sub Meshes zusammen. Die Anzahl der Sub Meshes ist gleich zu Beginn gespeichert. Jedes dieser Sub Meshes beginnt mit einer 10 Byte langen Sequenz, gefolgt von der Anzahl der Vertizen und Indices. Jedes Vertiz besteht aus 3×4 Byte für die Koordinaten, weiteren 3×4 byte für die Normalenvektoren und 2×4 Byte für die Texturkoordinaten. Die Indices geben Triangle Strips an und benötigen 2 Byte pro Indiz. In C++ geschrieben.


Zum Album

Thema: Projekte | Kommentare (1)