-- everything is a location, an object or a timer --
		
		In this part of the tutorial we will look into text and background 
		colors, fonts and the use of the status window in the Glk version of the 
		interpreter.
		
		By default the interpreter window shows white text on a black 
		background. XVAN has built in functions to change text and background 
		colors:
			
			background(<color>) sets the background color
			
			text(<color>) sets the text color.
		
		Possible values for <color> are blue and black. Note that blue and black 
		must be defined as words in the vocabulary file.
		
		Setting the background color to either blue or white automatically sets 
		the text color to white.
		
		Setting the text color to either blue or white automatically sets the 
		background color to black.
		
		For our sample story we want white text on a blue background, so we 
		change the player’s t_init trigger as follows:
		
		o_player.t_init
		
		   t_init
		
		     
		background(blue)       # blue background with white text
		
		
		     printcr(d_init)
		     printcr("")
		     entrance(owner(o_player))
		
		XVAN has print functions that can print 
		
		boldface and
		
		
		italic text:
			
			printbold() and printcrbold()
			
			printitalic() and printcritalic()
		
		These functions work only in the Glk version of the interpreter. You do 
		not have to make separate game source files for Glk and non-Glk. The 
		non-Glk interpreter will handle these functions but will print normal 
		text.
		
		In our tutorial story, we want the location names to be printed in 
		boldface. In the common t_entrance trigger and the various location 
		t_entrance triggers we change the text “printcr(d_shortdescr)” to 
		“printcrbold(d_shortdescr)”. We won’t copy it all here, you’ll find it 
		in the final story file part4-end.xvn.
		
		The Glk version of the interpreter has a three line status window on top 
		of the game window. Following functions are available to manipulate the 
		status window:
			
			clearstatus() clears all text from the status window;
			
			printstatus() prints text from current cursor position in status 
			window;
			
			printcrstatus() same as above but adds a carriage return;
			
			setcursor() positions the cursor at the given position in the status 
			window.
		
		In the status window, we want to continuously display the player’s 
		location, number of moves and score. We create a trigger in the player 
		object:
		
		t_status_window
    clearstatus()
		
    # print the number of moves
    setcursor(0,0)
    printstatus("Moves: [m_init]")
		
    # print the score
    setcursor(0,1)
    printstatus("Score: [r_score]")
		
    # print the location's name
    setcursor(0,2)
    if islit(l_location) then
        printstatus(l_location.d_shortdescr)
		     else
        printstatus("Darkness")
		
		The non-Glk version of the interpreter will accept the commands but do 
		nothing.
		
		We want to refresh the status window at the end of every move, so we 
		create the following timer:
		
		m_status_window
		  init                 
		 0
		  step                0
		  direction       up
		  interval          1
		  state               
		go
		  trigger_at      0
		  execute o_player.t_status_window
		
		This is what the status window looks like (the white part above the blue 
		window).
		
		This is the end of part 4. Everything we did is in the files
		part4-end.xvn and 
		part4-end.lib (the last file is identical to part3-end.lib).
.