lynne-simulator/Lynne Simulator.inform/Index/Details/27_A.html

672 lines
24 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
<!--
*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
h3.tighter {
margin-top: 0px;
}
p.hang {
padding-left: 25px;
text-indent: -25px;
margin-top: 0px;
margin-bottom: 0px;
}
p.in1 {
padding-left: 0px;
}
p.tightin1 {
padding-left: 0px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin1 {
padding-left: 0px;
margin-bottom: 2px;
}
p.hangingin1 {
padding-left: 50px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in2 {
padding-left: 25px;
}
p.tightin2 {
padding-left: 25px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin2 {
padding-left: 25px;
margin-bottom: 2px;
}
p.hangingin2 {
padding-left: 75px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in3 {
padding-left: 50px;
}
p.tightin3 {
padding-left: 50px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin3 {
padding-left: 50px;
margin-bottom: 2px;
}
p.hangingin3 {
padding-left: 100px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in4 {
padding-left: 75px;
}
p.tightin4 {
padding-left: 75px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin4 {
padding-left: 75px;
margin-bottom: 2px;
}
p.hangingin4 {
padding-left: 125px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in5 {
padding-left: 100px;
}
p.tightin5 {
padding-left: 100px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin5 {
padding-left: 100px;
margin-bottom: 2px;
}
p.hangingin5 {
padding-left: 150px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in6 {
padding-left: 125px;
}
p.tightin6 {
padding-left: 125px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin6 {
padding-left: 125px;
margin-bottom: 2px;
}
p.hangingin6 {
padding-left: 175px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in7 {
padding-left: 150px;
}
p.tightin7 {
padding-left: 150px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin7 {
padding-left: 150px;
margin-bottom: 2px;
}
p.hangingin7 {
padding-left: 200px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in8 {
padding-left: 175px;
}
p.tightin8 {
padding-left: 175px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin8 {
padding-left: 175px;
margin-bottom: 2px;
}
p.hangingin8 {
padding-left: 225px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in9 {
padding-left: 200px;
}
p.tightin9 {
padding-left: 200px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin9 {
padding-left: 200px;
margin-bottom: 2px;
}
p.hangingin9 {
padding-left: 250px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
div.hr {
border: 0;
width: 100%;
color: #707070;
background-color: #707070;
height: 5px;
}
.headingbox {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
background: #eeeeee; /* grey */
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingboxhigh {
position: relative;
height: 117px;
padding: 0px;
white-space:nowrap;
background: #eeeeee; /* grey */
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingboxSucceeded {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
background: #E6FFE6; /* green */
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingboxFailed {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
background: #f69Ca6; /* red */
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingtext {
position: absolute;
top: -4px;
left: -1px;
width: 100%;
color: #222222;
padding: 14px 10px 0px 10px;
font-size: 20px;
font-weight: bold;
}
.headingrubric {
position: absolute;
top: 36px;
width: 100%;
color: #222222;
padding: 0px 10px 0px 10px;
font-size: 11px;
font-weight: bold;
}
-->
</style>
<script type="text/javascript">
function project() {
if ("Project" in window) return window.Project;
return external.Project;
}
function showExtra(id, imid) {
if (document.getElementById(id).style.display == 'block') {
document.getElementById(id).style.display = 'none';
document.getElementById(imid).src = 'inform:/doc_images/extra.png';
} else {
document.getElementById(id).style.display = 'block';
document.getElementById(imid).src = 'inform:/doc_images/extraclose.png';
}
}
function showBasic(id) {
if (document.getElementById(id).style.display == '') {
document.getElementById(id).style.display = 'none';
} else {
document.getElementById(id).style.display = '';
}
}
function showResp(id, imid) {
if (document.getElementById(id)) {
if (document.getElementById(id).style.display == 'block') {
document.getElementById(id).style.display = 'none';
document.getElementById(imid).src = 'inform:/doc_images/responses.png';
} else {
document.getElementById(id).style.display = 'block';
document.getElementById(imid).src = 'inform:/doc_images/responsesclose.png';
}
}
}
function showAllResp() {
for (var i=0;i<376;i++) {
showResp('extra'+(1000000+i), 'plus'+(1000000+i));
}
}
</script>
<style type="text/css" media="screen, print">
p {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
}
.box a:link { text-decoration: none; }
.box a:visited { text-decoration: none; }
.box a:active { text-decoration: none; }
.box a:hover { text-decoration: none; color: #444444; }
.smallbox a:link { text-decoration: none; }
.smallbox a:visited { text-decoration: none; }
.smallbox a:active { text-decoration: none; }
.smallbox a:hover { text-decoration: none; color: #444444; }
.symbol {
position: absolute;
top: -4px;
left: -1px;
width: 100%;
color: #ffffff;
padding: 14px 0px 14px 1px;
font-size: 20px;
font-weight: bold;
text-align: center;
}
.indexno {
position: absolute;
top: 1px;
left: 3px;
color: #ffffff;
font-size: 7pt;
text-align: left;
}
.rubric {
position: absolute;
top: 35px;
width: 100%;
color: #ffffff;
font-size: 9px;
font-weight: bold;
text-align: center;
}
.box {
position: relative;
height: 56px;
width: 56px;
padding: 0px;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.sidebar {
height: 56px;
width: 16px;
background: #888;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.sidebar:hover { background: #222; }
.smallbox {
position: relative;
height: 40px;
width: 40px;
padding: 0px;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
#box1_1 {
background: #cf0a38;
}
#minibox1_1 {
background: #cf0a38;
}
#box1_2 {
background: #cf0a38;
}
#minibox1_2 {
background: #cf0a38;
}
#box1_3 {
background: #cf0a38;
}
#minibox1_3 {
background: #cf0a38;
}
#box1_4 {
background: #cf0a38;
}
#minibox1_4 {
background: #cf0a38;
}
#box1_5 {
background: #cf0a38;
}
#minibox1_5 {
background: #cf0a38;
}
#box2_1 {
background: #ea5b1f;
}
#minibox2_1 {
background: #ea5b1f;
}
#box2_2 {
background: #ea5b1f;
}
#minibox2_2 {
background: #ea5b1f;
}
#box2_3 {
background: #ea5b1f;
}
#minibox2_3 {
background: #ea5b1f;
}
#box2_4 {
background: #ea5b1f;
}
#minibox2_4 {
background: #ea5b1f;
}
#box2_5 {
background: #ea5b1f;
}
#minibox2_5 {
background: #ea5b1f;
}
#box3_1 {
background: #e9cf08;
}
#minibox3_1 {
background: #e9cf08;
}
#box3_2 {
background: #e9cf08;
}
#minibox3_2 {
background: #e9cf08;
}
#box3_3 {
background: #e9cf08;
}
#minibox3_3 {
background: #e9cf08;
}
#box4_1 {
background: #52992f;
}
#minibox4_1 {
background: #52992f;
}
#box4_2 {
background: #52992f;
}
#minibox4_2 {
background: #52992f;
}
#box4_3 {
background: #52992f;
}
#minibox4_3 {
background: #52992f;
}
#box4_4 {
background: #52992f;
}
#minibox4_4 {
background: #52992f;
}
#box5_1 {
background: #1d31b4;
}
#minibox5_1 {
background: #1d31b4;
}
#box5_2 {
background: #1d31b4;
}
#minibox5_2 {
background: #1d31b4;
}
#box6_1 {
background: #001860;
}
#minibox6_1 {
background: #001860;
}
#box6_2 {
background: #001860;
}
#minibox6_2 {
background: #001860;
}
#box6_3 {
background: #001860;
}
#minibox6_3 {
background: #001860;
}
#box7_1 {
background: #8b58bf;
}
#minibox7_1 {
background: #8b58bf;
}
#box7_2 {
background: #8b58bf;
}
#minibox7_2 {
background: #8b58bf;
}
#box8_1 {
background: #111111;
}
#minibox8_1 {
background: #111111;
}
#box9_1 {
background: #cf0a38;
}
#minibox9_1 {
background: #cf0a38;
}
ul.leaders {
padding: 0;
margin-top: 1px;
margin-bottom: 0;
overflow-x: hidden;
list-style: none}
ul.leaders li.leaded:before {
float: left;
width: 0;
white-space: nowrap;
content:
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "}
ul.leaders li.leaded span:first-child {
padding-right: 0.33em;
background: white}
ul.leaders li.leaded span + span {
float: right;
padding-left: 0.33em;
background: white}
li.indent1 span:first-child {
padding-left: 25px;
}
li.indent2 span:first-child {
padding-left: 50px;
}
li.indent3 span:first-child {
padding-left: 75px;
}
li.indent4 span:first-child {
padding-left: 100px;
}
li.indent5 span:first-child {
padding-left: 125px;
}
li.indent6 span:first-child {
padding-left: 150px;
}
li.indent7 span:first-child {
padding-left: 175px;
}
li.indent8 span:first-child {
padding-left: 200px;
}
li.indent9 span:first-child {
padding-left: 225px;
}
li.unleaded:before {
content: "";
}
</style>
<script type="text/javascript">
var qq; window.onload = function() {
if (location.search.length > 0) {
qq = location.search.substring(1, location.search.length);
show_only_one_element(qq);
}
}
function click_element_box(id) {
if (document.getElementById(id).style.display == 'none') {
show_only_one_element(id);
} else {
var x = 0;
if (document.getElementById('segment1').style.display == '') { x++; }
if (x == 1) { show_all_elements(); }
else { show_only_one_element(id); }
}
}
function click_sidebar() {
if (document.getElementById('surround0').style.display == 'none') {
enter_periodic_table();
} else {
show_all_elements();
}
}
function show_all_elements() {
show_element('segment1');
light_up('segment1');
}
function show_only_one_element(id) {
hide_element('segment1');
light_down('segment1');
show_element(id);
light_up(id);
}
function enter_periodic_table() {
hide_element('segment1');
light_up('segment1');
}
function show_element(id) {
document.getElementById(id).style.display = '';
}
function hide_element(id) {
document.getElementById(id).style.display = 'none';
}
function light_up(id) {
var ic = 'box9_1';
document.getElementById(ic).style.background = '#cf0a38';
}
function light_down(id) {
var ic = 'box9_1';
document.getElementById(ic).style.background = '#cccccc';
}
</script>
</head>
<body>
<script language="JavaScript">function pasteCode(code) { var myProject = project(); myProject.selectView('source'); myProject.pasteCode(code); }</script>
<font size=2>
<!--CONTENT BEGINS-->
<table cellspacing="3" border="0" style="background:#eeeeee;"><tr>
<td valign="top" align="left">
<div id="minibox9_1" class="smallbox">
<a class="symbol" title="Details" href="../Actions.html">^</a>
<div class="indexno">1</div>
</div>
</td>
<td style="width:100%;" align="left" valign="top">
<p style="margin-top:0px;padding-top:0px;margin-bottom:0px;padding-bottom:0px;line-height:150%;"><b>Details</b> &mdash;
A single action in detail.<br><i>About the action rulebooks&nbsp;&nbsp;<a href=inform:/doc178.html><img border=0 src=inform:/doc_images/help.png></a></i></p>
</td>
</tr></table>
<hr><b>Standard actions concerning other people</b><br>Giving it to&nbsp;<a href=24_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, Showing it to&nbsp;<a href=25_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, Waking&nbsp;<a href=26_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, <b>Throwing it at</b>&nbsp;<a href=27_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, Attacking&nbsp;<a href=28_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, Kissing&nbsp;<a href=29_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, Answering it that&nbsp;<a href=30_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, Telling it about&nbsp;<a href=31_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, Asking it about&nbsp;<a href=32_A.html><img border=0 src=inform:/doc_images/Beneath.png></a>, Asking it for&nbsp;<a href=33_A.html><img border=0 src=inform:/doc_images/Beneath.png></a><p><hr><p><b>Throwing <font color="#000080">something</font> at <font color="#000080">something</font> </b><a name=ThrowAt></a> (<i>past tense</i> thrown it at)<br>
<p>Throwing something at
someone or something is difficult for Inform to model. So many considerations
apply: just because the actor can see the target, does it follow that the
target can accurately hit it? What if the projectile is heavy, like an
anvil, or something not easily aimable, like a feather? What if there
is a barrier in the way, like a cage with bars spaced so that only items
of a certain size get through? And then: what should happen as a result?
Will the projectile break, or do damage, or fall to the floor, or into
a container or onto a supporter? And so on.<br><br>Because it seems hopeless to try to model this in any general way,
Inform instead provides the action for the user to attach specific rules to.
The check rules in the Standard Rules simply require that the projectile
is not an item of clothing still worn (this will be relevant for women
attending a Tom Jones concert) but then, in either the 'futile to throw
things at inanimate objects rule' or the 'block throwing at rule', will
refuse to carry out the action with a bland message.<br><br>To make throwing do something, then, we must either write Instead rules
for special circumstances, or else unlist these check rules and write
suitable carry out and report rules to pick up the thread.<p><hr><p><b>Typed commands leading to this action</b><p>
<p class="hangingin2">&quot;drop/throw/discard [something preferably held] at/against [something]&quot;</p><p><b>Rules controlling this action</b></p><p>
<p class="hangingin2">instead of&nbsp;&nbsp;&nbsp;&nbsp;<i>doing something to the cables</i>&nbsp;&nbsp;&nbsp;<a href="source:story.ni#line56"><img border=0 src=inform:/doc_images/Reveal.png></a></p>
<br><p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor throwing something at</i>&nbsp;&nbsp;<font color="#800000">implicitly remove thrown clothing rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('implicitly remove thrown clothing rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The implicitly remove thrown clothing rule is not listed in the check throwing it at rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i>&nbsp;&nbsp;<a href="#" onclick="showResp('extra1000216', 'plus1000216'); return false;"><img border=0 id="plus1000216" src=inform:/doc_images/responses.png></a>&nbsp;1</p>
<div id="extra1000216" style="display: none;"><p class="in2">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ffffff; font-family: 'Courier New', Courier, monospace; background-color: #8080ff;">&nbsp;&nbsp;A&nbsp;&nbsp;</span> <span style="color: #000066;">"(first taking [the noun] off)[command clarification break]"</span>&nbsp;&nbsp;<a href="javascript:pasteCode('implicitly remove thrown clothing rule response (A)')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i>&nbsp;<a href="javascript:pasteCode('implicitly remove thrown clothing rule response (A) is [=0x0022=]New text.[=0x0022=].')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>set</i></div>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor throwing something at</i>&nbsp;&nbsp;<font color="#800000">futile to throw things at inanimate objects rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('futile to throw things at inanimate objects rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The futile to throw things at inanimate objects rule is not listed in the check throwing it at rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i>&nbsp;&nbsp;<a href="#" onclick="showResp('extra1000217', 'plus1000217'); return false;"><img border=0 id="plus1000217" src=inform:/doc_images/responses.png></a>&nbsp;1</p>
<div id="extra1000217" style="display: none;"><p class="in2">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ffffff; font-family: 'Courier New', Courier, monospace; background-color: #8080ff;">&nbsp;&nbsp;A&nbsp;&nbsp;</span> <span style="color: #000066;">"Futile."</span>&nbsp;&nbsp;<a href="javascript:pasteCode('futile to throw things at inanimate objects rule response (A)')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i>&nbsp;<a href="javascript:pasteCode('futile to throw things at inanimate objects rule response (A) is [=0x0022=]New text.[=0x0022=].')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>set</i></div>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor throwing something at</i>&nbsp;&nbsp;<font color="#800000">block throwing at rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('block throwing at rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The block throwing at rule is not listed in the check throwing it at rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i>&nbsp;&nbsp;<a href="#" onclick="showResp('extra1000218', 'plus1000218'); return false;"><img border=0 id="plus1000218" src=inform:/doc_images/responses.png></a>&nbsp;1</p>
<div id="extra1000218" style="display: none;"><p class="in2">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ffffff; font-family: 'Courier New', Courier, monospace; background-color: #8080ff;">&nbsp;&nbsp;A&nbsp;&nbsp;</span> <span style="color: #000066;">"[We] [lack] the nerve when it [if story tense is the past
tense]came[otherwise]comes[end if] to the crucial moment."</span>&nbsp;&nbsp;<a href="javascript:pasteCode('block throwing at rule response (A)')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i>&nbsp;<a href="javascript:pasteCode('block throwing at rule response (A) is [=0x0022=]New text.[=0x0022=].')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>set</i></div>
<br>Click on the speech-bubble icons to see the responses, or here to see all of them:&nbsp;<a href="#" onclick="showAllResp(); return false;"><img border=0 src=inform:/doc_images/responses.png></a>&nbsp;3</p>
<!--CONTENT ENDS-->
</font>
</body>
</html>