sez [EMAIL PROTECTED]: >It seems to me that as the language grows it will get >progressively slower if I'm just continually adding IF-THEN >statements or adding to one large CASE statement. Exactly how many language-tokens are you going to *need* for this thing? Hmmm... in no particular order: (1) RollDice (2) MovePiece (3) MoveManyPieces (can be implemented as a loop-wrapper around the MovePiece handler) (4) SetCondition (for instance, in Mille Bournes, playing a "Punctureproof" card makes you immune to the "flat tire" hazard) (5) GetCard (6) ApplyCard (7) TrashCard (8) NextPlayer (the card game Uno has cards which explicitly stomp on the normal order of play...) Hmm... those are all for*playing* the game. There will also have to be some language-tokens which define the game and set it up... (9) DefineThing (i.e., cards, pieces, board sections (see also: Settlers of Catan), players, etc) (10) DefineRule (given a specific Thing, what sort of actions are allowed for that Thing under which situations?) (11) DefineCondition (12) DefineVictory That's twelve different language tokens you'll need, IMAO. Can anyone else think of any others?
>As I've been typing this message it seems more and more that creating >a library of commands, rather than a language itself, might be the >better way to go about implementing this. If I do so, that might >eliminate Revolution as a real consideration. Naah. Rev is a consideration regardless, because somebody has to do the hard work of writing the code which implements all the commands in the library. Rev is way-cool for that hard work. >If Rev could at least >generate a script from a command file that I imported, then I could >work around this. More sophisticated users would just use Transcript >in DreamCard and call the scripts that implement those commands. Less >sophisticated users would simply construct command files. I'm >concerned that the 10 line limit on scripts created in standalones >might be the real killer for me here. Naah. The command file is just a list of character strings which trigger various pre-written handlers. The 10-line limit isn't a factor, becuase *you* (the developer) are the only one who ever has to deal with *scripts*. Basically, load a command file into a field or variable, and let your handlers massage said file; no problem. >Without the way to generate >scripts of arbitrary size from a command file, I don't see any way of >connecting the two worlds. If someone wanted to go beyond the command >language I provide, they would have to jump into the implementation >language completely and ignore my cumbersome language parsing. I'm >not sure how much of what I had already done could be made easily >reusable for people who want to go beyond the basics. German-type games are a *mess*, as far as conversion to a machine-friendly form is concerned. There's far too many conditional rules and arbitrary thises & thats. _______________________________________________ use-revolution mailing list [email protected] Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
