http://qs321.pair.com?node_id=83904


in reply to Daft text adventure project

It's even worse, you will need to learn about objects. Well, you don't have to use objects, but sometimes they are fantastically useful. If you've come from QBasic, you will struggle for a while until you learn to relax and use the power. Start by reading merlyns absolutely fantastic perlboot tutorial. It even uses animals as examples.

In the meantime you can build yourself a function library by reading through perlmod. As always I recommend using the example there to start your module building experiments.

Modules are just like adding functions to Perl, but you can also add variables full of data. You just set them up in the module, export them and then any program that calls a use module; will be able to use those functions and variables. The declarations happen in the module, so you can declare hundreds of variables (but you shouldn't) inside the module and then use them in the program.

Doing that will give you a firm basis for moving into object orientated programming, since packages are the basis for objects. ( I think they are actually classes, but I'm just learning this stuff too ).

____________________
Jeremy
I didn't believe in evil until I dated it.

Replies are listed 'Best First'.
Re: Re: Daft text adventure project
by Tiefling (Monk) on May 29, 2001 at 17:05 UTC
    This all sounds very positive! I am aware of OO principles, but (for a variety of reasons) I'm sticking to pure function Perl initially. Hopefully, if I do a sufficiently good job first time through, then an OO re-write will be either easy or unneeded. I presently lack a home 'net connection, so building a function library will require care, time and floppies. I wasn't overtly aware that modules could be used to generate data, although I guess I'd have known if I'd thought about it for half a nano. However, as I will almost certainly want to use a 'god mode' for at least some of the game-world development, I'd need to be certain that such a usage was open-ended, rather than binding in a fixed quantity of data at the export time of the module.

    Thanks!

    Tiefling }:-)