Variable zwingen sein Inhalt auszurechnen
Oliver_93
- php
Hey Leute,
ich belaste euch nur ungerne mit meinem Mist, aber ich stehe vor einem Problem. Ich sitze seit Tagen an einem größeren Skript und jetzt ist mir ein ein Problem aufgefallen, das ich beseitigen möchte. Um mir jetzt Tagelange Fehlerkorrektur und Verbesserung zu ersparen würde ich euch bitten mir zu helfen, auch wenn ich nicht aktive bei euch mitwirke. Ich hoffe darüber könnt ihr hinweg sehen.
Ich lade mehrer Datensätze aus der Datenbank, die die Punkte eines Spielers ausrechnen sollen. Dafür gibt es Fertigkeiten, die alle verschiedene Punkte geben. Da ich mit einzellnen Skripten sehr eingeschränkt wäre, sofern ich das Spiel weiterentwickeln möchte und gerade neue Fertigkeiten hinzufügen möchte, habe ich mit entschlossen die Punkteberechnung in der Datenbank zu speichern. Die Fertigkeit Karate Level 15 gibt dem Spieler z.B. gerundete (Level*2.3)². In der Datenbank sieht das dann so aus: "(LEVEL*2.3)*(LEVEL*2.3)". Nun habe ich den Datensatz in eine Variable (Ich mag das Wort Array nicht :p) geladen und ersetze das Wort LEVEL mit ereg_replace(). Das sieht dann folgendermaßen aus
$skill_info['steady'] = ereg_replace('LEVEL',''.$user_skill['level'].'',$skill_info['steady']);
Nun steht in der Variable (Array) $skill_info['steady'] "(15*2.3)*(15*2.3)". Nun will dieser blöde Array nicht wie ich will. Er soll das was in ihm steht ja auch ausrechnen :-(. DEr Spieler kann ja mit (15*2.3)*(15*2.3) nicht viel anfangen, der will seine round(1190) Punkte auf seinem Konto sehen und den Spruch "Du hast der XYZ Punke und musst diese alleine Ausrechnen" möchte ich den Spielern nicht an tun x-D.
Liebe Grüße, Olli
Hello Olli,
Nun steht in der Variable (Array) $skill_info['steady'] "". Nun will dieser blöde Array nicht wie ich will. Er soll das was in ihm steht ja auch ausrechnen :-(. DEr Spieler kann ja mit (15*2.3)*(15*2.3) nicht viel anfangen, der will seine round(1190) Punkte auf seinem Konto sehen und den Spruch "Du hast der XYZ Punke und musst diese alleine Ausrechnen" möchte ich den Spielern nicht an tun x-D.
Wie kommt denn das "(15*2.3)*(15*2.3)" in die Datenbank?
Gib uns doch einfach mal einen Überblick, wie die Datenbank aufgebaut ist.
Welche Tabellen sind beteiligt?
Welche Satzbeschreibungen haben diese Tabellen (die relevanten Felder/Spalten)?
Welche Beziehungen haben die Tabellen zueinander bezüglich Deiner Abfrage?
Ideal wäre es doch, wenn die Datenbank Dir das Ergebnis ausrechnet, oder?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hey Tom,
leider ist die Sache etwas konfos verschachtelt. Die Datenbank hat mehrere Spalten. Neben "id, name, beschreibung, vorraussetzung" ist eig. nur die Punkteformel wichtig. Jeder Datensatz hat eine Punkteformel, die bei Karate z.B. (LEVEL*2.3)*(LEVEL*2.3) lautet (Exakt so steht es in der Datenbank). Nun Lade ich insgesamt 3 Tabellen. Userinformation (Nicht von großer Relevanz), Userskills und Skills.
Die Tabelle Skills an sich ist die Tabelle in der die Formel liegt.
id => 6
name => Karate
beschreibung => NULL
Vorraussetzung => NULL
Punkteformel => (LEVEL*2.3)*(LEVEL*2.3)
Nun brauche ich noch das Level, das der User derzeit in Karate hat. Diese habe ich in der Userskills gespeichert.
id => 4
userid => 1
skillid => 6
level => 15
Nun ersetze ich den Platzhalter aus der Punkteformel, der LEVEL heißt, mit ereg_replace() zu dem eigentlichen Level, dass ich aus der der Tabelle Userskills habe (sprich 15). So wird aus (LEVEL*2.3)*(LEVEL*2.3) plötzlich (15*2.3)*(15*2.3)und ist dem Array $skill_info['steady'] gespeichert. Blöderweise steht in dem Array halt auch nur (15*2.3)*(15*2.3) und nicht wie beabsichtigt 1190.25 (Das wäre das Ergebniss) :'-(.
So nebenbei: Der Array heißt leider noch steady, dass muss ich noch ändern. Das ganze sollte eig. der Berechnung der Zeit dienen, die der Spieler zum erlernen dieses Skills brauch. Also bitte nicht verwirren lassen ^^.
Liebe Grüße, Olli
Ahja, da ich leider nicht angemeldet bin, hoffe ich dass ihr mir den Doppelpost ebenfalls vergeben könnt :-(.
Ja, es wäre super wenn SQL direkt alles ausrechnen könnte. Das Problem ist halt nur, dass sich das Level in einer Tabelle befindet :-(.
Grüße, Olli
Hello,
Die Tabelle Skills an sich ist die Tabelle in der die Formel liegt.
id => 6
name => Karate
beschreibung => NULL
Vorraussetzung => NULL
Punkteformel => (LEVEL*2.3)*(LEVEL*2.3)Nun brauche ich noch das Level, das der User derzeit in Karate hat. Diese habe ich in der Userskills gespeichert.
id => 4
userid => 1
skillid => 6
level => 15
Das Problem ist, dass Du einen String-Parser für einen arithmetischen Taschenrechner brauchst, und dieser auch noch mit Variablen arbeiten soll. Sowas ist entweder schon extrem anspruchsvoll (zu Pascal-Zeiten konnte ich das noch :-| ) oder aber verflixt gefährlich, wenn man nämlich auf die Idee kommt, eval() dafür zu benutzen.
Ich weiß, dass wir uns damit hier schon mal beschäftigt haben. Im Archiv müsste 'was zu finden sein.
Bei Verwendung von eval() passt abr auch die Syntax nicht, wenn z.B. in der Datenbank steht
SCORE=(LEVEL*2.3)²
Mit ² kann PHP nichts anfangen. Dafür bräuchtest Du dann auch den Calculator-Parser.
Ich habe eben schon bei http://phpclasses.org geschaut, ob man da nicht was (halb-)fertiges findet, aber das ist so unübersichtlich...
Vielleicht wird man bei PEAR fündig.
Das Archiv ist jedenfalls nicht so aussagefreudig:
http://forum.de.selfhtml.org/archiv/2008/10/t178295/#m1175637
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hey Tom,
ich danke dir, dass du dir so viel mühe gibst. Ich glaube ich habe vorhin auch schon was im Archiv gefunden und eben noch einmal aufgegriffen. Der Beitrag war auf diese Webseite verlinkt. Ich habe versucht ein wenig durch das Script durchzusteigen, aber dafür sind meine Kenntnisse einfach zu schlecht. Funktionieren tut es jedoch. Das ist doch schon mal was schönes :-).
Die Formel in der Datenbank war übrigens nicht (LEVEL*2.3)² sondern (LEVEL*2.3)*(LEVEL*2.3), da ich ja nun schon die Tücken von PHP kenne, keine Hochzahlen umzusetzten ;-).
Hier noch mal das Script, welches ich ein angepasst habe. Wäre schön, wenn ihr mir noch die Schönheitsfehler sagen könntet oder falls ich doch etwas falsch gemacht habe :-).
$vars = array("LEVEL" => 2);
$formula = $skill_info['steady'];
$regex = '/\[[a-zA-Z0-9]*\]/';
preg_match_all($regex,$skill_info['steady'],$matches);
foreach($matches[0] as $matchkey => $matchvalue){
$varname = str_replace(']','',str_replace('[','',$matchvalue));
$varvalue = $vars[$varname];
$skill_info['steady'] = str_replace($matchvalue,$varvalue,$skill_info['steady']);
}
$result = '';
$skill_info['steady'] = "\$skill_info['steady'] = ".$skill_info['steady'].";";
eval($skill_info['steady']);
Das Ergebniss stimmt auf jeden fall ^^.
Liebe Grüße, Olli
Hello Olli,
Du hast mich jetzt dazu gebracht, dass ich schon die ganze Zeit nach einem Arithmetischen Calculator Script in Infix-Notation suche...
Eine funktionierende Klasse für das Parsen und die Berechnung von Strings in Postfix-Notation (RPN=Reverse Polish Notation) habe ioch bereits gefunden. Fehlt also "nur" noch der Infix-To-Postfix-Converter und der Variables Replacer :-))
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hey Tom,
also so langsam steig ich da nicht mehr durch xD. Jetzt brauch ich mal einen Anstupsser xD.
Liebe Grüße, Olli
(H[ae]llo|Hi(ho)?|Hey|Tag|Mahlzeit) Oliver_93,
also so langsam steig ich da nicht mehr durch xD. Jetzt brauch ich mal einen Anstupsser xD.
Ganz kurz:
Infix-Notation ist die übliche Schreibweise, die wir alle in der Grundschule gelernt haben:
Der Operator steht zwischen den Operanden: a + b
http://de.wikipedia.org/wiki/Infix-Notation
Postfix-Notation (auch umgekehrte|reverse polnische Notation):
Der Operator steht nach den Operanden: a b +
Die wird bleistiftsweise in FORTH verwendet.
http://de.wikipedia.org/wiki/Postfixnotation
Pr(ä|e)fix-Notation:
Der Operator steht vor den Operanden: + a b
... oder in LISP-Schreibweise: (+ a b)
... oder die bekanntere Funktionsschreibweise: add(a, b)
http://de.wikipedia.org/wiki/Polnische_Notation
Ich hoffe, die verlinkten Wikipedia-Artikel sind halbwegs verständlich, ich hab sie mir nicht
im Detail angeschaut ...
MffG
EisFuX
Hello Tom,
Wie kommt denn das "(15*2.3)*(15*2.3)" in die Datenbank?
Gib uns doch einfach mal einen Überblick, wie die Datenbank aufgebaut ist.
Welche Tabellen sind beteiligt?
Welche Satzbeschreibungen haben diese Tabellen (die relevanten Felder/Spalten)?
Welche Beziehungen haben die Tabellen zueinander bezüglich Deiner Abfrage?
Was du wieder alles wissen willst ...!
Ideal wäre es doch, wenn die Datenbank Dir das Ergebnis ausrechnet, oder?
Wenn eh nur das Ergebnis zählt, frage ich mich viel eher, warum man dieses nicht direkt abspeichert, und zwar nur dieses?
Gruß Gunther
BTW: Was ist eigentlich aus deinem RegExp geworden? Lösung gefunden? Würde mich auch interessieren - danke!
Hello,
BTW: Was ist eigentlich aus deinem RegExp geworden? Lösung gefunden? Würde mich auch interessieren
Noch nicht fertig.
Cybaer hatte ja eins für mich gebastelt. Da war ich schon ganzn dicht dran. '.+?' war richtig und ich hatte '.*?' benutzt an der Stelle. Da hat die Maschine dann an einer falschen Stelle die Zeichen aufgefressen.
Aber die weitere Aufteilung des "Kerns" innerhalb der Haupt-Expression habe ich noch nicht hinbekommen, nur separat. Ich übe noch.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hey Gunther,
das Ergebniss zählt ja leider nicht nur. Es soll ja möglich sein unendlich zu trainieren. Deswegen habe ich mich für eine Formel entschieden. Ich hoffe ihr habt alle Infos die ihr braucht :D. Steht im Beitrag an den ersten von Tom. Sollte jetz eig. alles komplett sein :-).
Liebe Grüße, Olli
Hey Olli,
das Ergebniss zählt ja leider nicht nur. Es soll ja möglich sein unendlich zu trainieren. Deswegen habe ich mich für eine Formel entschieden. Ich hoffe ihr habt alle Infos die ihr braucht :D. Steht im Beitrag an den ersten von Tom. Sollte jetz eig. alles komplett sein :-).
also ich vermute mal, dass dein Problem mit den Feld-Typen zusammenhängt. Denn "LEVEL" dürfte vermutlich vom Typ "Text" sein.
Eine entsprechende Typumwandlung nach der Ersetzung in einen Zahlentyp mit anschließender Wertzuweisung an eine Variable/ Array-Element könnte hier helfen.
Wobei mir (immer noch) unklar ist, warum du den "LEVEL" überhaupt mit in der DB abspeicherst, und nicht direkt nur den Faktor (warum eigentlich alles quadriert?) als reinen Zahlenwert, genauso wie den Level? Wo doch die eigentliche Formel zur endgültigen Berechnung eh immer gleich ist.
Gruß Gunther
Hey Gunther,
ich hab bereits etwas gefunden, was mit weiterhilft. Ein Script, dass ich unten noch mal gepostet habe :-). Aber interessant sich über sowas zu unterhalten :D. Die Fertigkeiten sind alle komplett in der Datenbank gespeichert. Sie werden von einem Script aufgerufen, welches anhand der ID erkennt, welchen Skill er laden soll. Ich möchte das ich später neue Fertigkeiten einfach über die Datenbank einfügen kann. Aber wie wir es so kennen, sind Vereinfachungen immer mit Aufwand verbunden ;-).
Ich habe nun also in der Skilldatenbank nicht nur Karate sondern auch andere Fertigkeiten, wie z.B. Taschenspiele. Taschendiebstahl bringt dem Spieler mehr Punkte, als Karate. Da es halt erst später erlernt werden kann und der Spieler höhere Vorraussetzungen erfüllen muss. Daher findet sich die Formel in der Datenbank. Das bei Karate die Punkte Quadriert werden, ist jetzt einfach so aus Zufall entsanden :-). Hat sich gerade gelohnt.
Ahja, ich habe die Methode mit einem Script gewählt, da ich auch das Problem mit der einer doppelten Funktion hatte. Um die dauer zu errechnen, die der Spieler benötigt um diese Fertigkeit zu erlernen, benutzte ich eine Funktion. Da ich nun allerdings einfacherhaltshalber alle Fertigkeiten untereinander mit include() geladen hatte, war die Funktion zum Ausrechnen der Dauerplötzlich doppelt dar. Das klappt natürlich nicht, also musste was anderes her :D.
Die Zeile level ist übrigens int(11) :-).
Liebe Grüße, Olli
Hey Leute,
mal so gefragt. Was haltet ihr davon eval() für das Formelausrechnen zu nutzen. Ich bin jedoch zu blöd dazu eval() zu verwenden :-(.
eval($skill_info['steady']);
Wird wohl nicht funktionieren :-( (Tut es auch nicht, habs ausprobiert ^^).
Liebe Grüße, Olli
Hello,
mal so gefragt. Was haltet ihr davon eval() für das Formelausrechnen zu nutzen. Ich bin jedoch zu blöd dazu eval() zu verwenden :-(.
Antwort siehe unten im Thread.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello Olli,
ich habe eine sehr brauchbare Klasse für dich gefunden und auch schon damit herumgespielt:
http://pear.php.net/package/Math_RPN
zusätzlich musst Du dir die PEAR-Base-Class installieren, wenn Du sie noch nicht hast.
Dann kannst Du Deine Statements wie arithmetische Anweisungen auswerten lassen. Vorher musst Du nur die "Variablen" in den Statements ersetzen gegen die Werte aus der Datenbank. Ich konnte auf die Schnelle nicht erkennen, dass die Klasse das schon beherrschen würde.
Das sollte man ihr aber beibringen können, wenn es notwendig ist.
Diese Klasse ist für Rechenaufgaben, die vom User kommen, auf jeden Fall sicherer, als eine Lösung mit eval().
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello Olli,
Hello Olli,
ich habe eine sehr brauchbare Klasse für dich gefunden und auch schon damit herumgespielt:
ausprobieren kannst Du den Rechner hier:
http://selfhtml.bitworks.de/scripts/calculate/calculate.php
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello @all,
es steckt ein ganz merkwürdiger Fehler in der Applikation / Klasse, den ich nicht nachvollziehen kann, der aber sowohl auf meinem lokalen LAMPP, als auch auf dem öffetnlich zugänglichen Debian_4.0 auftritt.
gibt man die Aufgabe "e^pi" ein, so kommt in der normalen Verwendung der Klasse
Undefined operator 'e^pi'
ändere in in der Operatorenliste das 'exp' zu 'axp' oder das 'e' zu 'o' und benutze dann den Operator entsprechend, dann funktioniert es; genauso, wenn ich 'exp' auskommentiere.
Ich habe das soweit debugged, wie ich konnte und musste feststellen, dass die Funktion
array_key_exists('e', $_operation) ### vereinfacht dargestellt
nicht wie erwartet arbeitet.
private $_operation = array (
'(' => array ('left bracket', 0),
')' => array ('right bracket', 1),
'+' => array ('sum', 1, 2, '_sum'),
'-' => array ('difference', 1, 2, '_difference'),
'*' => array ('multiplication', 2, 2, '_multiplication'),
'/' => array ('division', 2, 2, '_division'),
'r' => array ('root', 3, 2, '_root'),
'^' => array ('power', 3, 2, '_power'),
'sin' => array ('sine', 3, 1, '_sin'),
'cos' => array ('cosine', 3, 1, '_cos'),
'tan' => array ('tangent', 3, 1, '_tan'),
'asin' => array ('asine', 3, 1, '_asin'),
'acos' => array ('acosine', 3, 1, '_acos'),
'atan' => array ('atangent', 3, 1, '_atan'),
'sqrt' => array ('square root', 3, 1, '_sqrt'),
# 'exp' => array ('power of e', 3, 1, '_exp'),
'log' => array ('logarithm', 3, 1, '_log'),
'ln' => array ('natural logarithm', 3, 1, '_ln'),
'E' => array ('power of 10', 3, 1, '_E'),
'abs' => array ('absolute value', 3, 1, '_abs'),
'!' => array ('factorial', 3, 1, '_factorial'),
'pi' => array ('value of pi', 4, 0, '_const_pi'),
'e' => array ('value of e', 4, 0, '_const_e'),
'mod' => array ('modulo', 3, 2, '_mod'),
'div' => array ('integer division', 3, 2, '_div')
);
Ich habe dann versucht, das Problem zu isolieren, aber da ist es nicht reproduzierbar.
Hier funktioniert es, wie gedacht.
<?php ### array_key_exists.php ###
header('Content-Type: text/plain');
class buggy
{
public $_stack = array(
'amp' => '0-amp',
'alles' => '1-alles',
'a' => '2-a',
'bau' => '3-bau',
'exp' => '4-exp',
'b' => '5-b',
'c' => '6-c',
'cut' => '7-cut',
'e' => '8-e',
);
function checkit()
{
echo "b: ";
if (array_key_exists('b', $this->_stack)) echo "found\r\n";
echo "a: ";
if (array_key_exists('a', $this->_stack)) echo "found\r\n";
echo "c: ";
if (array_key_exists('c', $this->_stack)) echo "found\r\n";
echo "e: ";
if (array_key_exists('e', $this->_stack)) echo "found\r\n";
}
}
$test = new buggy();
$test->checkit();
?>
Hat einer 'ne Idee?
Das Script und die Klasse ist unter http://selfhtml.bitworks.de/snippets/calculator/ auch downloadbar. Wäre nett, wenn sich das noch mal jemand anders angucken könnte.
Ich muss da doch irgendwas übersehen haben.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
Nachtrag, bevor jemand fragt:
Auch mit dem isolierten Original-Array ist das nicht nachvollziehbar.
Der (Denk-)Fehler muss in der Klasse stecken.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
Der (Denk-)Fehler muss in der Klasse stecken.
der Fehler steckt im Tokenizer.
Da diese Klasse teilweise noch Code aus Zeiten hat bzw. für PHP aus diesen Zeiten gemacht ist, in denen es noch keine Identitätsoperatoren gab, ist er teilweise ziemlich verwurstet.
Ich habe daher eine neue Tokenizer-Methode geschrieben und muss nun mal sehen, wie ich den in die Klasse hineinoperieren kann, bzw. was ich noch alles rausschmeißen darf...
Ergebnis folgt hier irgendwann.
Übrigens leistet mir der Debugger dabei gute Dienste *gg*
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
so, lang hat es gedauert, aber nun scheint die Klasse zu funktionieren.
Zumindest habe ich den Fehler mit
e^pi
weg bekommen. Ich habe einen neuen Tokenizer geschrieben dafür.
Immer, wenn ein kurzer Operator auch in einem langen enthalten war (so wie 'e' in 'exp'), wurd dieser nicht mehr als Operator erkannt.
######################################################################################
Ich bitte um heftigen Test, ob noch irgendwelche Rechenaufgaben nicht lösbar sind.
http://selfhtml.bitworks.de/scripts/calculate/calculate.php
######################################################################################
Sollte ich das zu PEAR dann auch zurückschicken, wenn kein Fehler mehr drin ist?
http://selfhtml.bitworks.de/snippets/calculate/
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
######################################################################################
Ich bitte um heftigen Test, ob noch irgendwelche Rechenaufgaben nicht lösbar sind.
http://selfhtml.bitworks.de/scripts/calculate/calculate.php
######################################################################################
1. Macke entdeckt: Hexadezimalzahlen werden nicht sauber erkannt, weil das kleine 'e'
wieder dazwischenfunkt...
Jetzt bin ich mir nicht sicher, ob ich das im Tokenizer-Teil von tokenize() abfangen muss oder aber im Recombiner-Teil von tokenize(), dort wo auch die Korrektur mit Vorzeichen-Minus stattfindet.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
######################################################################################
Ich bitte um heftigen Test, ob noch irgendwelche Rechenaufgaben nicht lösbar sind.
http://selfhtml.bitworks.de/scripts/calculate/calculate.php
######################################################################################
- Macke entdeckt: Hexadezimalzahlen werden nicht sauber erkannt, weil das kleine 'e'
wieder dazwischenfunkt...Jetzt bin ich mir nicht sicher, ob ich das im Tokenizer-Teil von tokenize() abfangen muss oder aber im Recombiner-Teil von tokenize(), dort wo auch die Korrektur mit Vorzeichen-Minus stattfindet.
Ok, habe es in den Tokenizerteil eingebaut. Da gehört es wohl auch hin.
Ist aber doch wohl kein Token, sondern ein klassifizierter Textanteil, oder müsste ich die Erkennungssequenz (0x) doch in die Liste der Tokens aufnehmen?
Zumindest werden HexNumbers jetzt erkannt.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo.
Tom vom Berg
[...]
Tom vom Berg
[...]
Tom vom Berg
[...]
Tom vom Berg
[...]
Tom vom Berg
[...]
Tom vom Berg
[...]
Tom vom Berg
[...]
Tom vom Berg
echo off
MfG, at
Hello,
[...]
Tom vom Berg
self Join sozusagen.
Hast Du wenigstens mal getestet, ob Du noch mehr Fehler findest, außer den Wurzeln aus negativen Radikanden?
Das würde ich natürlich auch gerne noch einbauen. Bin für Tipps dankbar.
Bin etwas vergesslich. Sind die nun für ungerade Wurzeln definiert?
Wie ist es da mit gebrochenen Wurzeln, aos z.B. 15/6 r 10 ?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo.
Sind die nun für ungerade Wurzeln definiert?
Wie ist es da mit gebrochenen Wurzeln, aos z.B. 15/6 r 10 ?
Da muss eine Verwechselung vorliegen. Ich bin nämlich gar kein Botaniker.
MfG, at
Hello,
Sind die nun für ungerade Wurzeln definiert?
Wie ist es da mit gebrochenen Wurzeln, aos z.B. 15/6 r 10 ?Da muss eine Verwechselung vorliegen. Ich bin nämlich gar kein Botaniker.
Bei der Gelegenheit fällt mir ein: ich habe noch ein Fahrrad in DO :-)
Leider ist das Auto dafür gerade platt, sonst wäre ich glatt mal auf eine Tour vorbeigekommen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo.
Bei der Gelegenheit fällt mir ein: ich habe noch ein Fahrrad in DO :-)
Leider ist das Auto dafür gerade platt, sonst wäre ich glatt mal auf eine Tour vorbeigekommen.
Ja, verteilte Systeme sind Mist. Und du bist natürlich jederzeit herzlich eingeladen. Kaltstellen werde ich aber noch nichts. Bis du hier bist, ist bestimmt ohnehin schon Winter.
MfG, at
Hello,
Bei der Gelegenheit fällt mir ein: ich habe noch ein Fahrrad in DO :-)
Leider ist das Auto dafür gerade platt, sonst wäre ich glatt mal auf eine Tour vorbeigekommen.Ja, verteilte Systeme sind Mist. Und du bist natürlich jederzeit herzlich eingeladen. Kaltstellen werde ich aber noch nichts. Bis du hier bist, ist bestimmt ohnehin schon Winter.
Wenn ich Dich nicht besser kennengelernt hätte, würde ich behaupten, dass es bis dahin sowieso alle ist ;-)
Ich muss erstmal meine Heizung bauen, damit ich im Winter nicht frieren muss. Und das Badewasser mit dem Tauchsieder heiß zu machen, muss ja auch mal ein Ende haben. Aber zwischendurch sollten da schon mal ein paar Tage Zeit sein.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg