Ich habe natuerlich immer noch Fragen und Sonderfaelle Enno —
Wenn in meiner Vorlage steht:
ARBEITE
// TODO: Kekse
und ich befehle diese Woche:
/** | |
* `n` persons with skill `sn` are merged into `add` persons with skill `sv` | |
*/ | |
int merge_skill(const skill* sv, const skill* sn, skill* result, int n, int add) | |
{ | |
int total = add + n; | |
/* number of person-weeks the units have already studied: */ | |
int days, weeks = weeks_from_level(sn ? sn->level : 0) * n | |
+ weeks_from_level(sv ? sv->level : 0) * add; |
function test_leave_harbour() | |
local f = faction.create('human') | |
local r1 = region.create(1, 0, 'ocean') | |
local r2 = region.create(-1, 0, 'ocean') | |
local r = region.create(0, 0, 'glacier') | |
local b = building.create(r, 'harbour', 25) | |
local sh = ship.create(r1, 'longboat') | |
local u = unit.create(f, r1, 1) | |
local u2 = unit.create(f, r, 1) | |
u2.building = b |
#include "util/pofile.h" | |
#include "util/strings.h" | |
#include <stb_ds.h> | |
#include <stdlib.h> | |
#include <stdio.h> | |
#include <string.h> | |
typedef struct keyval_t { |
Beispiel: Ich befehle meiner Einheit:
EINHEIT demo
UNTERHALTE
@GIB xol 200 Silber
GIB phy 100 Silber
die Befehle wereden ausgeführt, und in der Zugvorlage steht:
EINHEIT demo
Das mit den Kodierungen ist so: | |
Als die Welt nur 127 Zeichen hatte, war noch alles einfach. Wir haben in jedes Byte ein Zeichen kodiert, und die Zuordnung von numerischem Wert zu Zeichen wurde standardisiert: ASCII. Das A hat den Wert 65 bekommen, das B die 66, usw. Kleinbuchstaben fangen bei 97 an, Zahlen bei 48. | |
Irgendwann haben dann irgendwelche Europäer gemeint, es gäbe ja noch viel mehr Zeichen. | |
ANSI ist das, was den Europäern als Lösung eingefallen ist. Die haben einfach auf die 127 Zeichen nochmal 128 drauf gesetzt. | |
255 Zeichen sollten ja wohl genug sein. | |
Aber die Russen haben gemeint, sie seien vergessen worden, und haben auf die 127 Zeichen ihre eignen 128 drauf gesetzt. KOI8R hiess das. | |
Das heisst, wenn man eine 65 in seiner Datei hatte, wurde das jetzt bei Russen, Europäern und Amis als A angezeigt, aber wenn man eine 132 hat, ist das bei Amerikanern ungültig, bei (West-)Europäern ein ä, und bei Russen ... irgendwas kyrillisches. | |
Man musste also plötzlich wissen, welchem Standard die Datei folgt (E |
local crs = require 'cr' | |
function log_error(str) | |
io.stderr:write(str) | |
end | |
local terrains = { | |
['Ozean'] = 'ocean', | |
['Gletscher'] = 'glacier', | |
['Eisberg'] = 'iceberg', |
require "lunit" | |
module("tests.e2.trees", package.seeall, lunit.testcase ) | |
function setup() | |
eressea.game.reset() | |
eressea.settings.set("rules.food.flags", "4") -- food is free | |
eressea.settings.set("NewbieImmunity", "0") | |
end |
function test_trolls_ride_carts() | |
local r0 = region.create(0, 0, "plain") | |
local r1 = region.create(1, 0, "plain") | |
local r2 = region.create(2, 0, "plain") | |
local r3 = region.create(3, 0, "plain") | |
local r4 = region.create(4, 0, "plain") | |
local f = faction.create("troll") | |
-- 1. 20 trolls can pull 5 loaded carts: | |
local u1 = unit.create(f, r0, 20) | |
u1:add_item("cart", 5) |