the-infocom-files/suspended

Logic error in PRE-MOVE (but perhaps not important?)

eriktorbjorn opened this issue · 0 comments

<ROUTINE PRE-MOVE ()
	 <COND (,PRSI
		<COND (<AND <EQUAL? ,PRSI ,RIGHT ,LEFT ,INTNUM>
			    <GETP ,PRSO ,P?DIAL>>
		       <PERFORM ,V?SET ,PRSO ,PRSI>
		       <RTRUE>)>)
	       (<AND ,PRSI
		     <EQUAL? ,PRSI ,CONVEYERBELTA>
		     <GETP ,PRSO ,P?ROBOT>>
		<PERFORM ,V?PUSH-UP ,PRSO ,PRSI>
		<RTRUE>)
	       (<AND ,PRSI
		     <EQUAL? ,PRSI ,CONVEYERBELTB ,CONVEYERBELTC>
		     <GETP ,PRSO ,P?ROBOT>>
		<ROBOT-TELL "There's no way to do that from here.">)
	       (,PRSI
	        <ROBOT-TELL "One step at a time, please.">
		<RTRUE>)
	       (<HELD? ,PRSO> <ROBOT-TELL "I don't juggle objects!">
		<RTRUE>)>>

There are five cases here, but anything that would trigger cases 2-4 already triggers case 1.