Skip to content
Snippets Groups Projects
situation-space.md 2.26 KiB
Newer Older
  • Learn to ignore specific revisions
  • ComFreek's avatar
    ComFreek committed
    ## The Evolution of a Situation Space
    
    This is an overview of how a situation space and theory looks like over the course of playing.
    
    Read from top to bottom; the comments indicate the "current" action that led to the creation of the respective module or declaration.
    
    ```mmt
    
    fixmeta http://mathhub.info/FrameIT/frameworld?FrameworldMeta ❚
    
    theory SituationSpace = 
    	// Player starts with situation_theory_1 below that includes this root situation theory,
    	   providing access to scrolls that are available by default ❙
    	theory Root =
    		include ☞http://mathhub.info/FrameIT/frameworld?OppositeLen ❙
    		include ☞http://mathhub.info/FrameIT/frameworld?AngleSum ❙
    		include ☞http://mathhub.info/FrameIT/frameworld?Midpoint ❙
    
    	
    	// Player starts with this situation theory. ❙
    	theory situation_theory_1 =
    		include ?DefaultSituationSpace/Root ❙
    
    		// The player collects some facts about the world. ❙
    		fact1: ... ❙
    		fact2: ... ❙
    		fact3: ... ❙
    
    		// The player formulates a scroll view... (continued below) ❙
    		view scroll_view_1 : ?OppositeLen/Problem  -> ?SituationSpace/situation_theory_1  = 
    			factslot1 = fact1 ❙
    			factslot2 = fact2 ❙
    			factslot3 = fact3 ❙
    
    
    	
    	// (continued)... and applies the scroll and thus lands in a new derived situation theory. ❙
    	theory situation_theory_2 =
    		include ?SituationSpace/situation_theory_1 ❙
    
    		// The player gets access to facts obtained by the scroll (these are precisely the ones pushed out
    		   from ?OppositeLen/Solution over ?SituationSpace?situation_theory_1?scroll_view_1). ❙
    		out_fact1: ... ❙
    		out_fact2: ... ❙
    		out_fact3: ... ❙
    
    		// The player goes on collecting more facts. ❙
    		fact4: ... ❙
    		fact5: ... ❙
    
    		// The player again formulates a scroll, now being able to combine facts they measured themselves
    		   and facts they previously obtained via scroll application. ❙
    		view scroll_view_2 : ?OppositeLen/Problem  -> ?SituationSpace/situation_theory_2 =
    			factslot1 = out_fact1 ❙
    			factslot2 = fact4 ❙
    			factslot3 = out_fact3 ❙
    
    
    	
    	theory SituationSpace/situation_theory_3 =
    		include ?SituationSpace/situation_theory_2 ❙
    		out_fact4: ... ❙
    
    		// and so on and so forth ❙
    
    
    ```