def main():
	# config
	Config.backend = 'pyglet'
	Config.init()

	# init
	context_manager = ContextManager()
	universe.context_manager = context_manager
	resolution = Config.resolution
	context = Context("context")

	# context
	create_sprites(context)
	geometry = (0, 0, resolution[0], resolution[1])
	screen = VirtualScreenRealCoordinates('screen', geometry)
	context.add_screen(screen)
	context_manager.add_state(context)
	context_manager.set_initial_state(context)
	context_manager.start()

	# instruction text
	# FIXME : had a shift to center text
	shift_x = 200
	instr = Text('text', context, 4,
		'hit SPACE bar to get ahead in the dialog',
		'Times New Roman', 20)
	instr.set_location(np.array([Config.resolution[0] / 2 - shift_x,
		(Config.resolution[1] * 15) / 16]))

	# start
	event_loop = Config.get_event_loop()
	event_loop.start()
Example #2
0
def main():
	Config.backend = 'pyglet'
	Config.init()

	#FIXME : find another way to add the device
	context_manager = ContextManager()
	universe.context_manager = context_manager

	# manage context
	properties_all_active = { 'is_visible' : True, 'is_active' : True,
				'_is_receiving_events' : True} 
	context = Context("Context", **properties_all_active)
	context_manager.add_state(context)
	context_manager.set_initial_state(context)
	context_manager.start()

	resolution = Config.resolution
	geometry = (0, 0, resolution[0], resolution[1])

	screen_fixed = VirtualScreenRealCoordinates('fixed screen', geometry)

	# dialog context
	context.add_screen(screen_fixed)
	text = Text('text', context, 4, 'bonjour')
	text.set_location([100,100])
	incrementator = Incrementator()
	incrementator.text = text
	incrementator.context = context
	timer = Timer('timer')
	timer.start()
	timer.connect('time_event', incrementator, 'on_time_event')
	# FPS
	event_loop = Config.get_event_loop()
	event_loop.start()
Example #3
0
	 def __init__(self, name, msg, text_area_mode="auto", is_visible=True, is_active=True,
			 _is_receiving_events=True):
		Context.__init__(self, name, is_visible, is_active, _is_receiving_events)

		screen = Config.get_graphic_engine().get_screen()
		ws, hs = screen.get_width(), screen.get_height()
		uniform = UniformLayer('dark', self, layer=0,
					color=(0, 0, 0), alpha=128)
		uniform.start()
	
		dialog_bg = StaticSprite('dialog_bg', self, layer=4)
		dialog_bg.load_from_filename(imgname='dialog.png',
					center_location='top_left')
		_, _, width, height = dialog_bg.bounding_box()
		x, y = (ws - width) / 2., hs - height 
		area = (x, y), (width, height)

		dialog_bg.set_location([x,y])
		dialog_bg.start()

		if text_area_mode is "color_area":
			black_area = dialog_bg.get_frame_infos()[0].find_color_area(color='black')
			text_area = ((x+black_area[0][0], y+black_area[0][1]), (black_area[1][0]-black_area[0][0], black_area[1][1]-black_area[0][1]))
		elif text_area_mode is "auto":
			text_area = (area[0][0] + 100, area[0][1] + 30), (area[1][0] - 130, area[1][1] + 60) 

		dialog = Dialog('dialog', self, layer=4)
		
		states = []
		for i, (perso, txt, typing_machine_mode) in enumerate(msg):
			state = DialogState('state_%d' % i, txt, 'Times New Roman', 13,
					text_area, perso, 20., typing_machine_mode)
			dialog.add_state(state)
			states.append(state)

		dialog.set_initial_state(states[0])
		dialog.set_location(text_area[0])
		dialog.start()
		next = Text('text', self, 4, '...', 'Times New Roman', 40)
		next.set_location([x+width-80,y+height-80])
		next.start()	
		self.set_visible(next, False)
		sprite = StaticSprite('sprite', self, layer=4)
		sprite.load_from_filename(imgname='perso.png')
		sprite.set_location([x + 60, y + height / 2])
		sprite.start() # FIXME
		dialog.dl = DialogListener()
		dialog.dl.states = states
		dialog.dl.context = self
		dialog.dl.next = next

		signal = (KeyBoardDevice.constants.KEYDOWN,
			KeyBoardDevice.constants.K_SPACE)
		self.connect(signal, dialog.dl, 'on_fast_forward')
		for state in states:
			state.connect('dialog_state_terminated', dialog.dl, 'on_dialog_finish')
			state.connect('dialog_state_started', dialog.dl, 'on_dialog_start')
def main():
	# config
	Config.backend = 'pyglet'
	Config.init()

	# init
	context_manager = ContextManager()
	universe.context_manager = context_manager
	resolution = Config.resolution
	context = Context("context")

	# status text
	# FIXME : had a shift to center text
	shift_x = 90
	text = Text('text', context, 4, '????', 'Times New Roman', 80)
	text.set_location(np.array([Config.resolution[0] / 2 - shift_x, 
				Config.resolution[1] / 32]))
	text.stop()

	# instruction text
	# FIXME : had a shift to center text
	shift_x = 60
	instr = Text('text', context, 4, 'hit SPACE bar', 'Times New Roman', 20)
	instr.set_location(np.array([Config.resolution[0] / 2 - shift_x, 
				(Config.resolution[1] * 7) / 8]))
	instr.stop()



	# background
	bg_left = create_bg_left(context, text, resolution)
	bg_right = create_bg_right(context, text, resolution)
	player = create_player(context, resolution)

	# collider manager
	collider_manager = CollisionManager()
	collider_manager.add_collidable_ref_sprite(player)
	collider_manager.add_collidable_sprites([bg_left, bg_right])

	signal = (KeyBoardDevice.constants.KEYDOWN,
			KeyBoardDevice.constants.K_SPACE)
	context.connect(signal, collider_manager,
			"on_collision", asynchronous=False)

	# context
	geometry = (0, 0, resolution[0], resolution[1])
	screen = VirtualScreenRealCoordinates('screen', geometry)
	context.add_screen(screen)
	context_manager.add_state(context)
	context_manager.set_initial_state(context)
	context_manager.start()

	# start
	event_loop = Config.get_event_loop()
	event_loop.start()
Example #5
0
def main():
	# config
	Config.backend = 'pyglet'
	Config.init()

	# init
	context_manager = ContextManager()
	universe.context_manager = context_manager
	resolution = Config.resolution
	context = Context("context")
	bg = create_bg(context)

	# game context
	avatars = create_avatars(context)
	geometry = (0, 0, resolution[0], resolution[1])
	screen = VirtualScreenWorldCoordinates('screen', geometry)
	context.add_screen(screen)
	context_manager.add_state(context)
	context_manager.set_initial_state(context)
	context_manager.start()

	# avatar switch
	switcher = AvatarSwitcher(avatars[0], avatars[1])
        signal = (KeyBoardDevice.constants.KEYDOWN,
                  KeyBoardDevice.constants.K_SPACE)
        context.connect(signal, switcher, "on_space_press")

	# instruction text
	# FIXME : had a shift to center text
	shift_x = 60
	instr = Text('text', context, 4, 'hit SPACE bar', 'Times New Roman', 20)
	instr.set_location(np.array([Config.resolution[0] / 2 - shift_x,
		(Config.resolution[1] * 15) / 16]))

	# start
	event_loop = Config.get_event_loop()
	event_loop.start()
Example #6
0
def main():
	# config
	Config.backend = 'pyglet'
	Config.init()

	# init
	context_manager = ContextManager()
	universe.context_manager = context_manager
	resolution = Config.resolution
	context_split = Context("context split")
	create_bg(context_split)

	# left context
	perso_left = create_perso_left(context_split)
	geometry_left = (0, 0, resolution[0] / 2, resolution[1])
	screen_left = VirtualScreenWorldCoordinates('screen left',
			geometry_left, perso_left.get_location(), perso_left)
	context_split.add_screen(screen_left)
	context_manager.add_state(context_split)

	# right context
	perso_right = create_perso_right(context_split)
	geometry_right = (resolution[0] / 2, 0, resolution[0] / 2,resolution[1])
	screen_right = VirtualScreenWorldCoordinates('screen right',
			geometry_right, perso_right.get_location(), perso_right)
	context_split.add_screen(screen_right)
	context_manager.add_state(context_split)

	context_manager.set_initial_state(context_split)
	context_manager.start()

	# context pause
	context_pause = Context("context pause")
	create_pause(context_pause)
	context_manager.add_state(context_pause)
	geometry = (0, 0, resolution[0], resolution[1])
	screen = VirtualScreenRealCoordinates('screen', geometry)
	context_pause.add_screen(screen)

	# start
	event_loop = Config.get_event_loop()
	event_loop.start()
Example #7
0
def main():
	Config.backend = 'pyglet'
	Config.init()

	#FIXME : find another way to add the device
	context_manager = ContextManager()
	universe.context_manager = context_manager

	# manage context
	properties_all_active = { 'is_visible' : True, 'is_active' : True,
				'_is_receiving_events' : True}
	properties_all_inactive = { 'is_visible' : False, 'is_active' : False,
				'_is_receiving_events' : False} 
	properties_game_inpause = { 'is_visible' : True, 'is_active' : False,
				'_is_receiving_events' : False}
	context_ingame = Context("In game")

	resolution = Config.resolution
	geometry = (0, 0, resolution[0], resolution[1])
	screen_fixed = VirtualScreenRealCoordinates('fixed screen', geometry)
	msg = [ ('player', '... ...mmm...ou...ou suis-je ? ' + \
		"ahh...mes yeux ! " + \
		"Laissons leur le temps de s'habituer.", True), 
		#('player', '...%1...%1mmm...%1ou...ou suis-je ?\n' + \
		#"ahh...mes yeux !\n" + \
		#"Laissons leur le temps de s'habituer\n", True), 
		('player', "Mais%1c'est un hopital ! " + \
		"Voyons. Jambes...%1OK. Bras...%1OK. Tete...%1OK.", True),
		('nurse', "Ho! J'ai entendu du bruit dans la chambre " + \
		"d'a cote", False),
		('player', 'Bon...allons chercher des renseignements.', True)
	]

	context_dialog = DialogContext("Dialog", msg)
	context_dialog.add_screen(screen_fixed)

	context_pause = Context("Pause", **properties_all_inactive)
	context_fps = Context("fps", **properties_all_inactive)
	signal_pause = (KeyBoardDevice.constants.KEYDOWN,
				KeyBoardDevice.constants.K_p)
	signal_dialog_on = "dialog_on"
	signal_dialog_off = "dialog_off"
	context_ingame.add_transition(context_manager, signal_pause,
		context_pause, properties_game_inpause, properties_all_active)
	context_pause.add_transition(context_manager, signal_pause,
		context_ingame, properties_all_inactive, properties_all_active)
	context_ingame.add_transition(context_manager, signal_dialog_on,
		context_dialog, properties_game_inpause, properties_all_active)
	context_dialog.add_transition(context_manager, signal_dialog_off,
		context_ingame, properties_all_inactive, properties_all_active)
	context_manager.add_state(context_ingame)
	context_manager.add_state(context_pause)
	context_manager.add_state(context_dialog)
	context_manager.add_state(context_fps)
	context_manager.set_initial_state(context_ingame)
	context_manager.start()

	event = SignalEvent(None, context_ingame, 'on_transition',
					signal_dialog_on)
	event.start()


	# ingame context
	create_bg(context_ingame)
	player = create_player(context_ingame)
	create_nurse(context_ingame)
	screen_game = VirtualScreenWorldCoordinates('main screen', geometry,
				player.get_location(), player)
	context_ingame.add_screen(screen_game)

	# pause context
	create_pause(context_pause)
	context_pause.add_screen(screen_fixed)

	context_dialog.add_screen(screen_fixed)

	# fps context
	fps_sprite = FpsSprite('fps', context_fps)
	context_fps.add_screen(screen_fixed)

	# FPS
	event_loop = Config.get_event_loop()
	event_loop.start()
def main():
	# config
	Config.backend = 'pyglet'
	Config.init()

	# init
	context_manager = ContextManager()
	universe.context_manager = context_manager
	resolution = Config.resolution
	context = Context("context")

	# status text
	# FIXME : had a shift to center text
	shift_x = 90
	text = Text('text', context, 4, '????', 'Times New Roman', 80)
	text.set_location(np.array([Config.resolution[0] / 2 - shift_x, 
				Config.resolution[1] / 32]))
	text.stop()

	# instruction text
	# FIXME : had a shift to center text
	shift_x = 60
	instr = Text('text', context, 4, 'hit SPACE bar', 'Times New Roman', 20)
	instr.set_location(np.array([Config.resolution[0] / 2 - shift_x, 
				(Config.resolution[1] * 15) / 16]))
	instr.stop()


	# squares
	squares = []
	for (color, colorname) in [((64, 32, 32), 'red'),
				((32, 64, 32), 'green'), 
				((32, 32, 64), 'blue'), 
				((64, 64, 32), 'yellow')]:
		s = create_colored_square(context, text, color,
					colorname, resolution)
		squares.append(s)
	for square in squares: square.add_squares(squares)
	init_squares_locations(resolution)
	move_squares_randomly(squares)

	# player and nurse
	player = create_player(context, resolution)
	nurse = create_nurse(context, text, resolution)

	# collider manager
	collider_manager = CollisionManager()
	collider_manager.add_collidable_ref_sprite(player)
	collider_manager.add_collidable_sprite(nurse) # first in the check list
	collider_manager.add_collidable_sprites(squares)

	signal = (KeyBoardDevice.constants.KEYDOWN,
			KeyBoardDevice.constants.K_SPACE)
	context.connect(signal, collider_manager,
			"on_collision", asynchronous=False)

	# context
	geometry = (0, 0, resolution[0], resolution[1])
	screen = VirtualScreenRealCoordinates('screen', geometry)
	context.add_screen(screen)
	context_manager.add_state(context)
	context_manager.set_initial_state(context)
	context_manager.start()

	# start
	event_loop = Config.get_event_loop()
	event_loop.start()