def __init__( self, settings={ 'UseSensors': True, 'UseRobot': False, 'RobotIp': "10.30.0.191", 'RobotPort': 9559 }): #load settings self.settings = settings #therapy win interface object self.therapy_win = interface.MainTherapyWin() #conntecting to interface self.therapy_win.connectStartButton(self.on_start_clicked) self.therapy_win.connectStopButton(self.on_stop_clicked) #creating Joy object #self.Joy = Joy.JoyHandler(sample = 0.3, gui = self.therapy_win) #create robot controller '''self.RobotController = controller.RobotController(ip = self.settings['UseRobot'], useSpanish = True) self.RobotController.set_sentences() self.RobotController.set_limits() self.NaoThread = RobotCaptureThread(self) ''' if self.settings['UseSensors']: #create sensor Manager self.ManagerRx = ManagerTx.ManagerRx( settings={ 'joy_port': 'COM9', 'imu_port': 'COM4', 'ecg_port': 'COM6', 'joy_sample': 0.2, 'imu_sample': 1, 'joy_baud': 9600, 'imu_baud': 9600, 'ecg_sample': 1 }) # set sensors self.ManagerRx.set_sensors(ecg=False, imu=True, joy=True) # threads # display data update data self.SensorUpdateThread = SensorUpdateThread(f=self.sensor_update, sample=1) #sensor update processes self.ImuCaptureThread = ImuCaptureThread(interface=self) self.JoyCaptureThread = JoyCaptureThread(interface=self) #binding functions self.ManagerRx.joy_gui_bind(self.joy_handler) self.ManagerRx.imu_gui_bind(self.imu_handler) # #BOOL self.ON = True
def __init__(self, display_surface, settings): self.display = display_surface self.display_rect = self.display.get_rect() self.display_center = self.display_rect.center self.settings = settings self.key_map = settings.get_key_map() self.delayed_functions = [] self.state = 'ift' self.prev_state = 'game' self.Saver = gss.Saver('./saves/') self.Loader = gss.Loader('./saves/') self.interface = Interface(self) self.interface.menu.store_action('new_game', self.new_game) self.interface.menu.store_action('load_game', self.load_game) self.interface.menu.store_action('save_game', self.save_game) self.interface.show_menu('start') self.combat = Combat(self) self.input = Input.I2d2axis(self.key_map) self.step = 10 self.image = pygame.Surface((0, 0)) self.ground = pygame.Surface((0, 0)) self.rect = self.image.get_rect() self.player = loadPlayer('Yves.ani.gz') self.player.world = self self.deq_handler = handler.DEQHandler(self.player) self.Actors = [] self.Objects = [] self.MainGroup = pygame.sprite.Group(self.player) self.map_maker = MapMaker(self.MainGroup, self.Actors, self.Objects) self.loops = { 'game' : self.game_loop, 'itf' : self.itf_loop, 'combat': self.combat_loop}
from eyeTracker import EyeTrack from direcao import Direction from videocaptureasync import VideoCaptureAsync import pyautogui import pyttsx3 from gui import Interface if __name__ == '__main__': eyeTrack = EyeTrack() int2Text = ['zero', 'um', 'dois', 'tres', 'quatro', 'cinco'] contadorOlhosFechados = 0 gui = Interface() gui.speech_assistant( 'Olá estou aqui para ajudar você a expressar algumas necessidades. Por favor, olhe em direção ao cartão que expressa a sua necessidade' ) video = VideoCaptureAsync(0) video.start() pyautogui.press('tab') while True: (grabed, frame) = video.read() if not grabed: break coords, frame = eyeTrack.getCoordenada(frame, debug=False) if coords: direcao = eyeTrack.getEyeDirection(coords)
from tkinter import * from manager import Manager from gui import Interface root = Tk() pm = Manager() interface = Interface(root, pm) pm.get_tree(interface.lb_1) pm.get_tree(interface.lb_2) root.mainloop()
class World(object): # I added it only there for fun load_image = loadImage def __init__(self, display_surface, settings): self.display = display_surface self.display_rect = self.display.get_rect() self.display_center = self.display_rect.center self.settings = settings self.key_map = settings.get_key_map() self.delayed_functions = [] self.state = 'ift' self.prev_state = 'game' self.Saver = gss.Saver('./saves/') self.Loader = gss.Loader('./saves/') self.interface = Interface(self) self.interface.menu.store_action('new_game', self.new_game) self.interface.menu.store_action('load_game', self.load_game) self.interface.menu.store_action('save_game', self.save_game) self.interface.show_menu('start') self.combat = Combat(self) self.input = Input.I2d2axis(self.key_map) self.step = 10 self.image = pygame.Surface((0, 0)) self.ground = pygame.Surface((0, 0)) self.rect = self.image.get_rect() self.player = loadPlayer('Yves.ani.gz') self.player.world = self self.deq_handler = handler.DEQHandler(self.player) self.Actors = [] self.Objects = [] self.MainGroup = pygame.sprite.Group(self.player) self.map_maker = MapMaker(self.MainGroup, self.Actors, self.Objects) self.loops = { 'game' : self.game_loop, 'itf' : self.itf_loop, 'combat': self.combat_loop} def new_game(self): self.load_map('01_test.map.xml') self.player.prev_dir = 'down' self.player.image = self.player.animations['down'][3] self.player.events = [] self.player.quests = {} self.state = 'game' def save_game(self, filename): self.Saver.prepare(self.map_maker.map_filename, 'map_filename') self.Saver.prepare(self.player.events, 'events') self.Saver.prepare(self.player.quests, 'quest_events') self.Saver.prepare(self.player.rect.center, 'position') self.Saver.prepare(self.player.animations[ \ self.player.prev_dir].index(self.player.image), 'image_id') self.Saver.prepare(self.player.prev_dir, 'previous_direction') self.Saver.save(filename) self.state = 'game' def load_game(self, filename): self.Loader.load(filename) self.player.events = self.Loader.get('events') self.player.quests = self.Loader.get('quest_events') self.player.prev_dir = self.Loader.get('previous_direction') self.player.image = self.player.animations[self.player.prev_dir] \ [self.Loader.get('image_id')] self.load_map(self.Loader.get('map_filename'), \ self.Loader.get('position')) self.state = 'game' def load_map(self, map_name, position=None): self.map_maker.make(map_name) if position: self.map_maker.start_position = position self.ground = self.map_maker.ground_image self.rect = self.ground.get_rect() self.image = pygame.Surface(self.rect.size) self.rect.topleft = \ (self.display_rect.width/2-self.map_maker.start_position[0], \ self.display_rect.height/2 - self.map_maker.start_position[1]) self.player.set_center(self.map_maker.start_position) self.combat.init_map(self.ground) def focus(self): """New function to set the focus on the player""" center = self.player.rect.center self.rect.topleft = (self.display_rect.width/2-center[0], \ self.display_rect.height/2-center[1]) # Keeps the screen inside the ground rect if self.rect.x > 0: self.rect.x = 0 elif self.rect.x - self.display_rect.width < -self.rect.width: self.rect.x = -(self.rect.width - self.display_rect.width) if self.rect.y > 0: self.rect.y = 0 elif self.rect.y - self.display_rect.height < -self.rect.height: self.rect.y = -(self.rect.height - self.display_rect.height) def clamp(self, rect): return rect.clamp(self.ground.get_rect()) def check_collision(self, user, old_rect, new_rect): self.MainGroup.remove(user) collide = False for sprite in self.MainGroup.sprites(): if new_rect.colliderect(sprite.crect): collide = True self.MainGroup.add(user) if collide: return old_rect else: return new_rect def add_delayed_function(self, function): """Store a function to be called in the next main loop.""" self.delayed_functions.append(function) def draw(self): group = zOrder(self.MainGroup) self.image.blit(self.ground, (0, 0)) group.draw(self.image) #for sprite in self.MainGroup.sprites(): # sprite.drawRects(self.image) self.display.blit(self.image, self.rect.topleft) #group.empty() def key_loop(self): for event in pygame.event.get(): if event.type == KEYDOWN: if event.key == K_ESCAPE: self.interface.show_menu() elif event.key == self.key_map['action']: self.action() elif event.key == K_f: for actor in self.Actors: if actor.name == "Duster": self.prev_state = "game" self.combat.Fight(self.player, [actor]) def action(self): max_dist = 100 nearest = None _player_center = self.player.rect.center self.MainGroup.remove(self.player) for sprite in self.MainGroup.sprites(): _dist = getDistance(_player_center, sprite.rect.center) if _dist < max_dist: nearest = sprite max_dsit = _dist if nearest is not None: if nearest in self.Actors: self.player.facing(nearest) nearest.facing(self.player) self.interface.show_dialog(nearest, \ self.player, self.deq_handler) self.MainGroup.add(self.player) def move(self): direction = self.input(self.step) new_rect, old_rect = self.player.move(direction) self.player.crect = \ self.check_collision(self.player, old_rect, new_rect) if direction[0] < 0: direction[0] = -1 elif direction[0] > 0: direction[0] = 1 if direction[1] < 0: direction[1] = -1 elif direction[1] > 0: direction[1] = 1 if direction[0] != 0 or direction[1] != 0: self.player.animate(str(direction)) def game_loop(self): self.key_loop() self.move() for sprite in self.Actors: sprite.loop(self) self.player.loop() self.focus() self.draw() def itf_loop(self): self.draw() self.interface.draw() def combat_loop(self): self.combat.loop() self.combat.draw() def loop(self): if len(self.delayed_functions) > 0: for func in self.delayed_functions: self.delayed_functions.remove(func) func() self.loops[self.state]()
pygame.init() pygame.font.init() nodes = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] nodepos = [(300,650),(300,575),(130,525),(350,480),(450,520),(220,440),(50,400),(550,430),(400,400),(300,370),(170,330),(500,310),(100,250),(280,260),(380,230),(140,150),(250,150),(430,140),(300,70),(300,0)] edges = [(0,1),(1,2),(1,3),(1,4),(1,5),(2,5),(2,6),(2,10),(3,5),(3,8),(3,9),(4,7),(4,8),(4,11),(5,6),(5,9),(5,10),(6,10),(6,12),(7,8),(7,11),(8,9),(8,11),(8,13),(8,14),(9,10),(9,13),(9,14),(10,12),(10,16),(11,14),(11,17),(12,15),(12,16),(13,16),(13,14),(13,15),(14,16),(14,17),(14,18),(15,16),(15,18),(16,18),(17,18),(18,19)] Heroes = Party() #Generates a Party Heroes.MakeParty() Minions = Team() GUI = Interface(800,600,"Dungeon Master",nodes,nodepos,edges,Heroes,Minions) done = False clock = pygame.time.Clock() while not done: for event in pygame.event.get(): if event.type == pygame.QUIT: done = True if (event.type == pygame.MOUSEBUTTONUP and event.button == 1 and pygame.mouse.get_focused()): GUI.on_click(event) if (event.type == pygame.MOUSEMOTION and pygame.mouse.get_focused()): GUI.on_hover(event) #Updates the screen GUI.screen_update()
import time from musicplayer import Player from song_sources import OnlineSource, OfflineSource from gui import Interface from updater import update update() gui = Interface() vk_music = OnlineSource() player = Player(vk_music.songs) def logout(*args): player.stop() vk_music.logout() gui.show_login() gui.logout = logout #or OfflineSource(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'data')).songs if vk_music.songs: gui.show_player(vk_music.songs, player) print('after show player') else: gui.show_login() def on_credentials_entered(login, password): if vk_music.login(login, password): songs_list = vk_music.get_audios() player.set_songs(songs_list)
from gui import Interface from menu import load_menu tool = Interface() tool.init(f"迷你工具", "450x600") load_menu() tool.run()