Beispiel um sauberes moven ergaenzt

Change-Id: I7031e54908fd5271ecec194c38aa1fdce04aa054
diff --git a/doc/beispiele/AddCmd/busch.c b/doc/beispiele/AddCmd/busch.c
index da3c5b3..a28eb41 100644
--- a/doc/beispiele/AddCmd/busch.c
+++ b/doc/beispiele/AddCmd/busch.c
@@ -30,29 +30,44 @@
    // "pfluecke beeren von busch" etc.
    AddCmd("pfluecke|ernte&fruechte|beeren&@ID","cmd_pfluecken",
           "Was willst Du denn @verben?|Wo willst Du denn die Beeren @verben?");
+   //      ^- Fehler fuer 'fruechte'   ^- Fehler fuer '@ID'
 
    // suchen gibt nur eine Meldung aus. Dafuer braucht man kuenftig keine
    // Funktionen mehr.
    AddCmd("such|suche|durchsuch|durchsuche&@ID&\nimpossible",0, 
-          "Wo willst Du @VERBen?|Du durchsuchst das Gebuesch, findest aber nichts.^"
-          "@WER1 durchsucht ein Gebuesch, findet aber nichts.");
+          "Wo willst Du @VERBen?|Du durchsuchst das Gebuesch, findest aber nichts."
+   //      ^- Fehler fuer '@ID'  ^- Fehler fuer unerfuellbare Regel '\nimpossible'
+          "^@WER1 durchsucht ein Gebuesch, findet aber nichts.");
+   //      ^- return 1-Flag, mit Raummeldung
 
    // Graben geht eh nicht. Daher nur Fehlermeldungen.
    // Das ^ sagt, dass hier ein return1 zurueckgegeben wird. Es gibt aber keine 
    // Raummeldung.
    AddCmd("grab|grabe&@ID&aus@\nimpossible",0,
           "Was willst Du graben?|Du willst das Gebuesch ausgraben?|"
+   //      ^- Fehler fuer '@ID'  ^- Fehler fuer 'aus'
           "Die Wurzeln scheinen tief zu rechen. Das wird nichts.^");
+   //      ^- Fehler fuer unerfuellbare Regel '\nimpossible'    ^- return 1-Flag
+   //                                                              keine Raum
 }
 
 int cmd_pfluecken(string arg, mixed *param)
 {
-    object obj;
-    obj=clone_object(__DIR__"obst");
-    write("Verwundert pflueckst Du "+(obj->name())+" vom Busch. Komisch.\n");
+  object obj = clone_object(__DIR__"obst");
+  string msg = "Verwundert pflueckst Du "+(obj->name())+" vom Busch. "
+               "Komisch.";
 
-    // Das hier ist ein Beispiel fuer AddCmd, daher mach ich mir nich 
-    // die Muehe das richtig zu machen. Is eh nur fuer Magier!
-    obj->move(this_player(),M_GET|M_NOCHECK);
+  this_player()->ReceiveMsg(msg, MT_NOTIFICATION);
+  if(this_player()->pick(obj))
     return 1;
+
+  if(obj->move(environment(), M_PUT) == MOVE_OK)
+    this_player()->ReceiveMsg(obj->Name(WER)+" faellt zu Boden.",
+                              MT_LOOK|MT_LISTEN);
+  else {
+    this_player()->ReceiveMsg(obj->Name(WER, 1)+" zerplatzt.",
+                              MT_LOOK|MT_LISTEN);
+    obj->remove(1);
+  }
+  return 1;
 }