 	renderRatio: (x, y, {min, current, max}, suffix = '') ->
 		min ?= 0
 
-		program.move x, y
-		if min is 0
-			program.write "#{current} / #{max}#{suffix}"
-		else
-			program.write "#{min} <= #{current} <= #{max}#{suffix}"
+		str =
+			if min is 0
+				"#{current} / #{max}#{suffix}"
+			else
+				"#{min} <= #{current} <= #{max}#{suffix}"
+
+		@write x, y, str
 
 	renderBar: (x, y, w, {min, current, max}) ->
 		min ?= 0

				@bufferPut (e.x - c.x + x), (e.y - c.y + y), graphic

	renderHealth: (x, y) ->
		program.fillArea x, y, 40, 2, ' '
		health = @game.player.creature.health

		@renderRatio x, y, health, ' health'

	write: (x, y, str) ->
		for c,i in str
			@bufferPut x+i, y, c

	fillArea: (x, y, w, h, c) ->
		c = symbol: c

		for i in [0...w]
			for j in [0...h]
				@bufferPut x+i, y+j, c

	bufferToString: ->
		out = ''
