Newsgroup: it.comp.giochi.avventure.testuali
Titolo: [INFORM] - Descrizione di oggetto switchable

Object obj
    ....
    has switchable;
guarda obj
l'oggetto è in questo momento ....
c'è un modo per evitare la descrizione dello stato dell'oggetto??
(a parte la modifica della libreria, già provata, solo che comporta testare nelle
description la property On).
ciao
tommaso

no, non modificare (mai) le librerie, semmai redireziona l'azione switch a un oggetto switch contenuto nella macchina
originale. Quest'ultimo può essere anche invisibile, oppure puoi rendere la macchina trasparente per renderlo
visibile... insomma puoi fare un po' quello che ti pare. 
io ho una macchina trasparente con molti stati interni, uno switch, un pulsante, un video... la macchina ha
"trasparent", lo switch "switchable", il pulsante e lo schermo niente. in generale la descrizione della macchina si
"propaga" anche sulla descrizione dei componeneti, ma questo dipende dai casi.
ciao
S



Ho provato partendo da una classe ma ottengo lo stesso risultato, potresti farmi un esempio banale,
facciamo una lampadina, un accendino, scegli tu....
grazie
ciao
tommaso

 facciamo una lampadina, un accendino, scegli tu....
ecco qua.
----------------------CUT HERE----------------------
Object machine "strange-looking machine" Lab
	    with name "machine" "strange" "weird",
	         status OFF,  ! enumerativo definito prima
	         description [; print "this is a truly weird piece of machinery. 
				       It has a big red switch, a bright yellow button and a monitor. 
				       The machine is currently ";
				       switch (self.status)
				                    {   OFF: print "silent. ! snip
        	     before [;  SwitchOn: <<SwitchOn switch>>;
	                        SwitchOff: <<SwitchOff switch>>; 
 	    	     after  [;  Examine: <<examine screen>>; ], !snip globale
		has  transparent;
 
Object switch "switch" machine
         with name "power" "switch",
	      description "^There's a big red switch with the word POWER written on a label next to it.",
              before
	           [;  Push: "It's a switch, not a button! At most, you could turn it...";
	               Turn: if (self has on) <<SwitchOff self>>; else <<SwitchOn self>>; ],
	      after
                     [;  SwitchOn: print "The machine starts... ec ec"; Machine.status = 2; return true;
                         SwitchOff: print "The machine shuts ec ec"; Machine.status = 1; return true; ],               
has  switchable;
Object button "a yellow button" machine
         with name "button" "yellow",
	          description "The machine has a yellow button ec ec.",
	          before
	          [;  Push: if (machine.status ==  ! snippone
		          Turn: "turning the button accomplishes nothing";   ];
Object screen "screen" machine
	with name "screen" "monitor" "video",
	description [; print "The screen ";
				  switch (machine.status)
				  {   OFF: print "is blank.";
				      IDLE: print ec ec ! snip
					...
				      default: print " ***DEBUG: ERROR*** "; }   ];
------------------------------------------YE ENDE-------------------------------------------------

 (...)
Questo Lab mi ricorda qualcosa... hai davvero un laboratorio in un 
gioco o anche tu come me hai un 'Lab' personale per fare testing di 
codice? :-)
-- 
Ciao ciao,
         gws
per rispondere in e-mail togli 'zot' dall'indirizzo

 codice? :-)
ovviamente la seconda che hai detto!
Constant Story "Inform-ing Galore";
Constant Headline "^A virtual environment with nothing besides a lab^";
...
Object lab "Cramped Lab"
          with description "A simple, featureless lab.",
	  has light;
....
[ Initialise;
location = Lab;
"^^^^^Days of researching, but now... a scientific discovery!^";
];

^____^
Constant Story "Working Out Inform";
Constant Headline "^An Interactive Test Lab to learn Inform^
             	      Copyright (c) 2000 by Giulio Pizzini.^";
(...)
Object Lab "Test Lab"
  with	description
          	"So here you are in your warm and nice testing lab....
          	 let's try what you have coded....",
	cant_go [;
	         "Implement a room if you want to go there!";
  		 ],
  	d_to Dark,
  has  light;
(...)
[ Initialise;
  location = Lab;
 "^^Days of studying, days of coding, but at last your patience was  
  rewarded. Or at least this is what YOU hope...!^";
];
