Example #1
0
    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
Example #2
0
    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}
Example #3
0
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)
Example #4
0
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()
Example #5
0
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]()
Example #6
0
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)
Example #8
0
from gui import Interface
from menu import load_menu

tool = Interface()
tool.init(f"迷你工具", "450x600")

load_menu()

tool.run()