Skip to content

Instantly share code, notes, and snippets.

View sma's full-sized avatar

Stefan Matthias Aust sma

  • I.C.N.H GmbH
  • Kiel
View GitHub Profile

Numenéra, Motivationen für Wanderer des Weges

  1. Du suchst nach Spuren deines verschollenen Vaters. Er wanderte einst den Weg wie du jetzt. Du weißt, dass ein bedeutendes Geheimnis sein Verschwinden umhüllt, denn andernfalls würdest du nicht verstehen können, warum er dich und deine Mutter all die Jahre allein gelassen hat.

  2. Du suchst nach einem Geheimnis, dass so bedeutend ist, dass die Äon-Priesterschaft, der du so gerne angehören möchtest, dich nicht noch einmal ablehnen wird. Die erste Ablehnung hat dich am Boden zerstört, daher muss es etwas Besonderes sein, wenn du es je noch einmal versuchen wirst.

  3. Du suchst nach der Ruhe. Überall wo du bist, sind die Stimmen. Nur in Gesellschaft anderer kann du sie ausblenden – bis es Nacht wird. Du weißt, irgendwo ist dieser Ort, an dem du das Wispern der Datengeister nicht mehr spüren wirst und wirklich schlafen kannst.

  4. Du suchst das Unbekannte. Neugier weckt in dir den fast unerträglichen Wunsch, immer weite

Numenéra Charaktere

Mystical Glaive who Entertains

Du bist ein Träumer. Du hast ein Gespür für Numenera. Du hast im Theater deines Onkels gearbeitet und liebst die Stücke. Dich faszinieren Menschen und ihre Schicksale. Du bist selbst ein Künstler. Du hast ... als deinen schlimmsten Kritiker, den du dafür respektierst, allerdings kannst du ihn niemals inspirieren.

function choice(s) {
function tokenize() {
var st = [[]];
s.replace(/[{|}]|[^{|}]+/g, function (m) {
if (m === '{') st.unshift([], []);
else if (m === '}') st[0].push(st.shift()), st[1].push(st.shift());
else if (m === '|') st[1].push(st.shift()), st.unshift([]);
else st[0].push(m);
});
return st[0];
@sma
sma / swift-parser-combinator.md
Created June 8, 2014 22:31
Playing around with Swift which is more painful than I thought

SWIFT

Ich wollte einen Combinator-Parser mit Apple neuer Programmiersprache schreiben. Einfach war das nicht. Zugegeben habe ich das iBook mit der Sprachbeschreibung nur überflogen, aber hey, eigentlich ist das doch nur eine neue Syntax für Objective-C.

Der Anfang ist vielversprechend:

println("Hallo, Welt")

Ich muss mich allerdings zwingen, am Ende kein Semikolon zu schreiben.

Corrin Hilltopple
1. Rasse:
Halbling, Stout
Alter: 22
Gesinnung: Chaotic Good
Größe: 3" (Small)
Speed: 25"
Lucky (reroll on 1)
Brave (advantage on ST against being frightened)
@sma
sma / ds.js
Last active August 29, 2015 14:05
function d(n) {
return Math.floor(Math.random() * n) + 1;
}
function attack(attacker, enemy) {
var a = d(20), p = d(20);
if (a <= attacker.at) {
if (a === 1) a = attack.at;
if (p <= enemy.pa) {
if (p === 1) p = enemy.pa;
@sma
sma / sw.js
Last active August 29, 2015 14:05
// roll a single n-sided die
function d(n) {
return Math.floor(Math.random() * n) + 1;
}
// roll an exploding n-sided die
function dx(n) {
var v = d(n); return v === n ? v + dx(n) : v;
}
@sma
sma / generate.js
Created January 12, 2015 22:42
expands a string template with random values from arrays
function generate(data) {
function oneOf(ary) { return ary[Math.floor(Math.random() * ary.length)] }
return data.template.replace(/@(\w+)/g, function (_, m) { return oneOf(data[m]) })
}
console.log(generate({
template: "@descriptor @type who @focus",
descriptor: ["appealing","brash","clever"],
type: ["vector","paradox","spinner"],
focus: ["looks for trouble","operates under cover","solves mysteries"]
@sma
sma / 300wörter-rollenspiel.md
Created April 24, 2015 08:15
Ein Fantasy-Rollenspiel in 300 Wörtern – ungetestet

Du bist ein Abenteurer auf der Suche nach Wissen oder Schätzen an einem vergessenen und gefährlichen Ort, vielleicht einem Verlies oder Tempel.

Mitspieler erschaffen sich Charaktere. Verteile 7 Punkte auf KRIEGER, ZAUBERER oder SCHURKE, mindestens einen pro Eigenschaft. Lebenspunkte ist 4, wenn KRIEGER höchste Eigenschaft, 2 wenn ZAUBERER höchste Eigenschaft und 3 sonst.

Ausrüstung (für 50G):

Einhandwaffe, Wurfwaffe (10G, Schaden 1)
Zweihandwaffe, Schusswaffe (25G, Schaden 2)
Leichte Rüstung (10G, Verteidigung +1)

Schwere Rüstung (30G, Verteidigung +2)

@sma
sma / dicews.go
Created May 14, 2015 20:41
Ein simpler Webservice zum Werfen von n-seitigen Würfeln
package main
import (
"encoding/json"
"fmt"
"math/rand"
"net/http"
"os"
"regexp"
"strconv"