-def ask_question (surface, question, answers):
- pygame.draw.rect (surface, pygame.Color (255, 255, 128), pygame.Rect (40, 40, 480-40, 480-40))
+def ask_question (surface, question, answers, bgscreen):
+
+ sel_answer = 1
+
+ while 1:
+ textarray = [ [ 10, 128, 0, 0, question ] ]
+
+ i = 1
+ for answer in answers:
+ if sel_answer == i:
+ r, g, b = 255, 0, 0
+ else:
+ r, g, b = 0, 0, 0
+ textarray.append ( [10, r, g, b, answer] )
+
+ i += 1
+
+ surface.blit (bgscreen, (surface.get_width()/2 - bgscreen.get_width()/2,
+ surface.get_height()/2 - bgscreen.get_height()/2))
+ put_lines (surface, textarray)
+
+ pygame.display.update ()
+
+ for event in pygame.event.get ():
+ if event.type == pygame.QUIT:
+ sys.exit (0)
+ elif event.type == pygame.KEYDOWN:
+ if event.key == pygame.K_UP:
+ sel_answer -= 1
+ if sel_answer < 1:
+ sel_answer = 1
+ elif event.key == pygame.K_DOWN:
+ sel_answer += 1
+ if sel_answer > len(answers):
+ sel_answer = len(answers)
+ elif event.key == pygame.K_RETURN:
+ return sel_answer
+
+# function displaying the contents of a container. Object must contain
+# items list
+# edgewidth - container edges to avoid drawing items in
+def get_container_object (surface, obj, bgimage, edgewidth=0):
+
+ # get the number of items
+ numitems = len (obj.objects)
+ # number of rows
+ num_rows = (bgimage.get_height () - edgewidth*2) / 48
+ # number of cols
+ num_cols = (bgimage.get_width () - edgewidth*2) / 48