Difference between revisions of "Script Classes for Adventure Games/Avoider Class"

From SCI Wiki
Jump to navigationJump to search
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
Chapter:  
 
Chapter:  
 
[[Script Classes for Adventure Games/Introduction|1]] |  
 
[[Script Classes for Adventure Games/Introduction|1]] |  
[[Script Classes for Adventure Games/RootObj|2]] |  
+
[[Script Classes for Adventure Games/RootObj Class|2]] |  
[[Script Classes for Adventure Games/Object|3]] |  
+
[[Script Classes for Adventure Games/Object Class|3]] |  
[[Script Classes for Adventure Games/Collection|4]] |  
+
[[Script Classes for Adventure Games/Collection Class|4]] |  
[[Script Classes for Adventure Games/List|5]] |  
+
[[Script Classes for Adventure Games/Script Class|5]] |  
[[Script Classes for Adventure Games/Set|6]] |  
+
[[Script Classes for Adventure Games/Timer Class|6]] |  
[[Script Classes for Adventure Games/EventHandler|7]] |  
+
[[Script Classes for Adventure Games/Feature Class|7]] |  
[[Script Classes for Adventure Games/Inventory|8]] |  
+
[[Script Classes for Adventure Games/View Class|8]] |  
[[Script Classes for Adventure Games/Script|9]] |  
+
[[Script Classes for Adventure Games/PicView Class|9]] |  
[[Script Classes for Adventure Games/Timer|10]] |  
+
[[Script Classes for Adventure Games/Cycling Classes|10]] |  
[[Script Classes for Adventure Games/Feature|11]] |  
+
[[Script Classes for Adventure Games/Motion Classes|11]] |  
[[Script Classes for Adventure Games/View|12]] |  
+
[[Script Classes for Adventure Games/Avoider Class|12]] |  
[[Script Classes for Adventure Games/Prop|13]] |  
+
[[Script Classes for Adventure Games/Event Class|13]] |  
[[Script Classes for Adventure Games/Actor|14]] |
+
[[Script Classes for Adventure Games/User Class|14]]<br />
[[Script Classes for Adventure Games/Ego|15]] |
+
[[Script Classes for Adventure Games/Game Class|15]] |  
[[Script Classes for Adventure Games/PicView|16]] |
+
[[Script Classes for Adventure Games/Locale Class|16]] |  
[[Script Classes for Adventure Games/Cycle|17]] |
+
[[Script Classes for Adventure Games/Region Class|17]] |  
[[Script Classes for Adventure Games/Forward|18]] |
+
[[Script Classes for Adventure Games/Room Class|18]] |  
[[Script Classes for Adventure Games/Walk|19]] |
+
[[Script Classes for Adventure Games/Timer2 Class|19]] |  
[[Script Classes for Adventure Games/Reverse|20]] |
+
[[Script Classes for Adventure Games/InvItem Class|20]] |  
[[Script Classes for Adventure Games/CycleTo|21]] |
+
[[Script Classes for Adventure Games/Block Class|21]] |  
[[Script Classes for Adventure Games/EndLoop|22]] |
+
[[Script Classes for Adventure Games/Cage Class|22]] |  
[[Script Classes for Adventure Games/BegLoop|23]] |
+
[[Script Classes for Adventure Games/Sound Class|23]] |  
[[Script Classes for Adventure Games/Motion|24]] |
+
[[Script Classes for Adventure Games/StatusLine Class|24]] |  
[[Script Classes for Adventure Games/MoveTo|25]] |
+
[[Script Classes for Adventure Games/File Class|25]] |  
[[Script Classes for Adventure Games/Wander|26]]<br />
+
[[Script Classes for Adventure Games/Code Class|26]] |  
[[Script Classes for Adventure Games/Follow|27]] |
+
[[Script Classes for Adventure Games/Global Variables|27]] |  
[[Script Classes for Adventure Games/Chase|28]] |
 
[[Script Classes for Adventure Games/Jump|29]] |
 
[[Script Classes for Adventure Games/JumpTo|30]] |
 
[[Script Classes for Adventure Games/Orbit|31]] |
 
[[Script Classes for Adventure Games/Path|32]] |
 
[[Script Classes for Adventure Games/RelPath|33]] |
 
[[Script Classes for Adventure Games/Avoider|34]] |
 
[[Script Classes for Adventure Games/Event|35]] |
 
[[Script Classes for Adventure Games/User|36]] |
 
[[Script Classes for Adventure Games/Game|37]] |  
 
[[Script Classes for Adventure Games/Locale|38]] |  
 
[[Script Classes for Adventure Games/Region|39]] |  
 
[[Script Classes for Adventure Games/Room|40]] |  
 
[[Script Classes for Adventure Games/Timer2|41]] |
 
[[Script Classes for Adventure Games/TimeOut|42]] |  
 
[[Script Classes for Adventure Games/InvItem|43]] |  
 
[[Script Classes for Adventure Games/Block|44]] |  
 
[[Script Classes for Adventure Games/Cage|45]] |  
 
[[Script Classes for Adventure Games/Sound|46]] |  
 
[[Script Classes for Adventure Games/StatusLine|47]] |  
 
[[Script Classes for Adventure Games/File|48]] |  
 
[[Script Classes for Adventure Games/Code|49]] |  
 
[[Script Classes for Adventure Games/Global Variables|50]] |  
 
 
[[Script Classes for Adventure Games/Index|Index]]
 
[[Script Classes for Adventure Games/Index|Index]]
 
</div><br />
 
</div><br />
Line 62: Line 39:
 
&nbsp;
 
&nbsp;
  
xxxxxxx body xxxxxxxx
+
==<br /> The Avoider Class ==
 +
 
 +
The Avoider class is a class which helps Actors get around obstacles. If an Avoider is installed in avoider in an Actor, it gets called instead of the usual motion class when it is time to move the object. The Avoider then calls the motion and checks to see if the Actor was able to move. If the Actor is blocked by something ((client isBlocked:) is TRUE), the Avoider takes over and attempts to get around whatever is blocking the Actor. In some cases it looks really smart, in others astoundingly stupid. As we work on it, it should get better.
 +
 
 +
{|
 +
|width= "125"|In file:||motion.sc
 +
|-
 +
|Inherits from:||Object
 +
|-
 +
|Inherited by:||none
 +
|}
 +
 
 +
 
 +
===<br /> Properties ===
 +
 
 +
<blockquote>
 +
====<br /> client ====
 +
<blockquote>The Actor to whom this Avoider is assigned.</blockquote>
 +
 
 +
 
 +
====<br /> heading ====
 +
<blockquote>The direction (clockwise or counter-clockwise) in which the Avoider turns while trying to get around the obstacle. This is picked randomly when the Actor first encounters the obstacle and remains constant as long as the Avoider is in control. The Avoider attempts to get around the obstacle by turning in 45 degree increments in the chosen direction until it is able to move.</blockquote>
 +
</blockquote>
  
 
&nbsp;
 
&nbsp;
Line 75: Line 74:
 
&nbsp;
 
&nbsp;
  
<span style="float: left">[[Script Classes for Adventure Games/RelPath|&lt; Previous: RelPath]]</span>
+
<span style="float: left">[[Script Classes for Adventure Games/Motion Classes|&lt; Previous: The Motion Classes]]</span>
<span style="float: right">[[Script Classes for Adventure Games/Event|Next: Event &gt;]]</span>
+
<span style="float: right">[[Script Classes for Adventure Games/Event Class|Next: The Event Class &gt;]]</span>
  
 
&nbsp;
 
&nbsp;

Latest revision as of 00:50, 11 December 2015

Official SCI Documentation

Chapter: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | Index


The Avoider Class

Author: Jeff Stephenson

Date: 5 April 1988

 


The Avoider Class

The Avoider class is a class which helps Actors get around obstacles. If an Avoider is installed in avoider in an Actor, it gets called instead of the usual motion class when it is time to move the object. The Avoider then calls the motion and checks to see if the Actor was able to move. If the Actor is blocked by something ((client isBlocked:) is TRUE), the Avoider takes over and attempts to get around whatever is blocking the Actor. In some cases it looks really smart, in others astoundingly stupid. As we work on it, it should get better.

In file: motion.sc
Inherits from: Object
Inherited by: none



Properties


client

The Actor to whom this Avoider is assigned.



heading

The direction (clockwise or counter-clockwise) in which the Avoider turns while trying to get around the obstacle. This is picked randomly when the Actor first encounters the obstacle and remains constant as long as the Avoider is in control. The Avoider attempts to get around the obstacle by turning in 45 degree increments in the chosen direction until it is able to move.

 

Notes


 

Table of Contents

 

< Previous: The Motion Classes Next: The Event Class >