Python Mud (7): parser en command api updates

Saturday 31 March 2012, 23:58:00 | mud / i.f.

Vorige edities:

  1. Soul Emotes →Python Mud (1): Soul emotes
  2. Eerste opzet driver en mudlib →Python Mud (2): eerste opzet driver en mudlib
  3. Items en verplaatsing →Python Mud (3): items en verplaatsing
  4. take ALL the things & teleport me out of here →Python Mud (4): take ALL the things & teleport me out of here
  5. laatste paar commands →Python Mud (5): laatste paar commands
  6. item verplaatsing en inventory fixes →Python Mud (6): item verplaatsing en inventory fixes

Verbeteringen aan commando's: who is/who are voor info over npcs/spelers. Help is verbeterd. Je kunt nu met ?topic of what is topic specifieke help vragen over commands, emotes, items, npc's, enzovoort. Alle commands hebben een korte help-docstring gekregen. De API van commands krijgt nu de parse informatie door van de Soul parser en hoeft niet zelf meer string splitting te doen om te achterhalen wat er getypt is. Open/close/lock/unlock bestaan nu ook voor items en niet alleen meer voor deuren. Je kunt nu dus de vuilnisbak openen en dichtdoen bijvoorbeeld. Als hij dicht is kun je er niks in gooien.

Dynamische titels en beschrijving-teksten: d.m.v. het vervangen van de title en description attributes door een @property kun je dynamische teksten maken voor de titel en beschrijvingen van dingen. Voorbeeld object is de trashcan die leeg/vol is. Wanneer je een deur/exit examined kan hij nu aangeven of hij open of dicht is of op slot. Dit wordt normaal gesproken dan niet getoond bij een simpel 'look' (long_description)

Binnenkort toch donker/licht mogelijkheid maar eens proberen te maken. En ik vind eigenlijk dat je ook spaties moet kunnen gebruiken in namen: get red gem. examine first door/second door/... (zoals je hieronder in de [Alley of doors] kan zien zijn er vier deuren maar je moet ze allemaal een unieke naam geven zonder spaties, dat is voorlopig dus nog door1, door2, door3, door4... niet zo fraai :-( )

Een kort stukje dialoog met een paar nieuwe features volgt hieronder:

>> put newspaper in the trashcan
You take newspaper.
You can't put things in the trashcan: you should open it first.

>> exa trashcan
You see a trashcan.
It looks worn and rusty. It's closed.

>> open trashcan
You opened the empty trashcan.

>> put newspaper in the trashcan
You put a newspaper in the trashcan.

>> exa trashcan
You see a filled trashcan.
It is a trash can, with an open lid, and it stinks!
It contains: newspaper.

>> close trashcan
You closed the trashcan.

>> take all from trashcan
You can't peek inside, maybe you should open it first?

>> what is chant
It is a soul emote you can do. chant: You chant: Hare Krishna Krishna Hare Hare.

>> what is trashcan
It's an item in your vicinity. You should perhaps try to examine it.

>> s
[Alley of doors]
An alley filled with doors.
Door one.
Door two.
Door three.
Door four.
You can go north which brings you back to the square.

>> door3
You can't go there; it's closed.

>> open door3
You opened it.

>> door3
[Alley of doors]
An alley filled with doors.
Door one.
Door two.
Door three.
Door four.
You can go north which brings you back to the square.

>> examine door3
It seems you can go there:
Door three. It is open and unlocked.

>> close door3
You closed it.

>> examine door3
It seems you can go there:
Door three. It is closed and unlocked.

>>