Beispiel #1
0
    def __init__(self, log, settings):
        self.log = log
        self.settings = settings
        # log.debug("App Class Initializing")

        # Setup home_dir and temp_dir
        self.home_dir = os.path.expanduser("~")
        tempfile.tempdir = self.home_dir
        self.temp_dir = tempfile.TemporaryDirectory()
        # log.debug('temp_dir: %s', self.temp_dir)

        # Initialize Frame
        self.frame = Urwid.Frame(
            Urwid.Filler(W.get_text('body', 'Loading...Please Wait',
                                    'center')))

        # Initialize MainLoop
        self.loop = Urwid.MainLoop(self.frame,
                                   self.settings.display['palette'],
                                   unhandled_input=self.unhandled_input,
                                   handle_mouse=False)

        self.errors = 0
        self.state = State(self, self.log)
        self.menus = Menus(self)
        self.views = Views(self)
        self.actions = Actions(self)
        self.views.activate(self, {'view': 'home'})
        self.action_pipes = []
Beispiel #2
0
 def bootstrap(self):
     self.game_settings.load_settings()
     self.keys_settings.load_settings()
     self.display = BasicDisplayUtils()
     self.input_manager = InputManager(self.keys_settings, self.display)
     self.menus = Menus(self.input_manager, self.display,
                        self.game_settings, self.keys_settings,
                        self.start_new_game, self.quit)
Beispiel #3
0
 def __init__(self, settings):
     L.debug("App Class Initializing")
     self.settings = settings
     self.frame = U.Frame(
         U.Filler(W.get_text('body', 'Loading...Please Wait', 'center')))
     self.loop = U.MainLoop(self.frame,
                            self.settings.display['palette'],
                            unhandled_input=self.unhandled_input,
                            handle_mouse=False)
     self.state = State(self)
     self.views = Views(self)
     self.menus = Menus(self)
Beispiel #4
0
    def __init__(self, api_key, api_secret):
        """
        Initializes the AWhereAPI class, which is used to perform HTTP requests 
        to the aWhere V2 API.

        Docs:
            http://developer.awhere.com/api/reference
        """
        self._fields_url = 'https://api.awhere.com/v2/fields'
        self._weather_url = 'https://api.awhere.com/v2/weather/fields'
        self.api_key = api_key
        self.api_secret = api_secret
        self.base_64_encoded_secret_key = self.encode_secret_and_key(
            self.api_key, self.api_secret)
        self.auth_token = self.get_oauth_token(self.base_64_encoded_secret_key)
        self._menu = Menus()
    def __init__(self,parent, iface,core):
        self.menu = Menus(iface,core)
        QtGui.QDialog.__init__(self)
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
        self.parent, self.iface, self.core = parent, iface, core
        self.linesDic,self.linesCommDic = {},{}
        for mod in core.modelList:
            self.linesDic[mod] = core.diczone[mod].getLinesDic()
            self.linesCommDic[mod] = core.diczone[mod].getLinesCommDic()

        self.ui = Ui_Main()
        self.ui.setupUi(self,iface,core)
        
        self.ui.pFile.comboFile.activated['QString'].connect(self.fileChange)
        self.ui.pVar.comboModel.activated['QString'].connect(self.modelChange)
        self.ui.pVar.comboGroup.activated['QString'].connect(self.groupChange)
        self.ui.pVar.comboLine.activated['QString'].connect(self.lineChange)
        self.ui.pVar.comboType.activated['QString'].connect(self.typeChange)
Beispiel #6
0
 def setUpClass(cls):
     cls.driver = Chrome(config.CHROMEDRIVER)  # chromedriver的文件地址
     url = config.HOMEPAGE_URL
     cls.session = Homepage(driver=cls.driver, url=url)
     cls.session.fullscreen()
     cls.m = Menus()
Beispiel #7
0
 def __init__(self):
     self.menus = Menus()
Beispiel #8
0
    def run(self):
        running = True
        tower_menu = Menus()
        frame = 1000
        tick = 16
        spawn_tick = 250
        
        #proof = Towers((5, 5))

        tower_menu.draw(screen)
        ground = self.load_level(2)

        sprite_terrain.draw(background) # Draws background terrain
        window.blit(background, (0, 0))

        pygame.display.update()

        grid = pathfinder.AStar()
        grid.init_path(grid_row, grid_col, self.road, self.start, self.end)
        route = grid.process()
        render_sprites = pygame.sprite.LayeredUpdates(sprite_terrain, sprite_path, layer=1)

        while running:

            for event in pygame.event.get():
                mouse_pos = pygame.mouse.get_pos()
                ratio_x = (window.get_width() / screen.get_width())
                ratio_y = (window.get_height() / screen.get_height())
                mouse_scaled = (mouse_pos[0] / ratio_x, mouse_pos[1] / ratio_y)
                if event.type == pygame.QUIT:
                    running = False
                    sys.exit(0)
                if event.type == pygame.MOUSEBUTTONDOWN:
                    # check for left button
                    if event.button == 1:
                    #    if tower_menu.basic_tower_button.collidepoint(mouse_scaled):
                    #         tower_menu.click(screen, tower_menu.basic_tower_button, True)
                    #     elif tower_menu.ice_tower_button.collidepoint(mouse_scaled):
                    #         tower_menu.click(screen, tower_menu.ice_tower_button, True)
                        for x in range(grid_col):
                            for y in range(grid_row):
                                if pygame.Rect(ground[x][y].location).collidepoint(mouse_scaled):
                                    if ground[x][y].can_place:
                                        self.towers.append(Towers(ground[x][y].location))
                                        ground[x][y].can_place = False
                                        render_sprites.add(sprite_towers, layer=2)
                        for num in range(len(self.minion)):
                            if self.minion[num].sprite.rect.collidepoint(mouse_scaled):
                                self.minion[num].health = 0
                # if event.type == pygame.MOUSEBUTTONUP:
                #     if event.button == 1:
                #         # if tower_menu.state:
                #         #     tower_menu.click(screen, tower_menu.basic_tower_button, False)
                # # if tower_menu.basic_tower_button.collidepoint(mouse_scaled) and not tower_menu.over:
                # #     tower_menu.hover(screen, tower_menu.basic_tower_button)
                # # elif tower_menu.over and not tower_menu.basic_tower_button.collidepoint(mouse_scaled):
                # #     tower_menu.hover_off(screen, tower_menu.basic_tower_button)

            if time() > tick:
                tick = time() + 17
                kill = []
                minion_hitboxs = []

                for num in range(len(self.minion)):
                    if self.minion[num]:
                        if not self.minion[num].alive:
                            kill.append(num)
                        elif self.minion[num].health > 0:
                            self.minion[num].update_location(route)
                            minion_hitboxs.append(self.minion[num].sprite.rect)

                if len(kill) > 0: # If there are minions to kill in the list this del them
                    for d in range(len(kill)):
                        del self.minion[kill[d]]
                    kill = []

                for num in range(len(self.towers)):
                    current_tower = self.towers[num]
                    collision_index = current_tower.hit_box.rect.collidelist(minion_hitboxs)
                    if not collision_index == -1 and current_tower.target == None:
                        current_tower.target = collision_index
                    elif not current_tower.target == collision_index:
                        current_tower.target = None
                    if not current_tower.target == None:
                        self.minion[current_tower.target].health -= current_tower.damage
                #Clears then render sprites to display
                render_sprites.remove_sprites_of_layer(3)
                render_sprites.add(sprite_creeps, layer=3)

            if time() > frame: # Update minion animation frames
                frame = 80 + time()
                for num in range(len(self.minion)):
                    if self.minion[num].health <= 0:
                        if self.minion[num].update(12) == "dead":
                            self.minion[num].alive = False
                    else:
                        self.minion[num].update()

                for num in range(len(self.towers)):
                    self.towers[num].update()

            if time() > spawn_tick:
                if wave_Count >= len(self.minion):
                    spawn_type = random.choice([Dwarf, Deer, Satyr, Hunter, Druid, Pixie])
                    #spawn_type = [Dwarf, Deer, Satyr, Hunter, Druid, Pixie]
                    self.minion.append(spawn_type(self.spawn))
                    spawn_tick = time() + 500
                render_sprites.add(sprite_creeps, layer = 3)

                #if wave_Count >= len(self.minion):
                #    self.minion.append(Deer(self.spawn))
                #    spawn_tick = time() + 500
                #render_sprites.add(sprite_creeps)

            clock.tick()
            render_sprites.draw(screen)
            #for num in range(len(self.towers)):
            #    screen.blit(self.towers[num].hit_box.image, (self.towers[num].sprite.rect.center))
            fps = myfont.render(str(int(clock.get_fps())), 1, (255, 255, 255), (15, 210, 50))
            screen.blit(fps, (20, screen_height - 30))
            window.blit((render_to_window(screen)), (0, 0))
            pygame.display.update()
Beispiel #9
0
from menus import Menus
from game_regra import GameRegra


menu = Menus()

menu.mostrar_menu()
gameRegra = GameRegra()

if menu.opcao == 1:
    gameRegra.solicitar_cadastro()
elif menu.opcao == 2:
    gameRegra.visualizar_cadastro()
elif menu.opcao == 3:
    gameRegra.deletar()
elif menu.opcao == 4:
    gameRegra.alterar()
else:
    print('Obrigado e volte sempre!')
    exit(0)
Beispiel #10
0
    def __init__(self, resolution):
        pygame.init()
        self.settings = {}
        self.settings['sound_system'] = True
        self.settings['stage_music'] = True  # TODO: implement this
        self.settings['music'] = True
        self.settings['music_vol'] = .4
        self.settings['sounds'] = True  # TODO: implement this
        # pygame.mixer.init(frequency=44100, size=-16, channels=2,
        # buffer=4096)
        if self.settings['sound_system']:
            print("initializing sound with volume " +
                  str(self.settings['music_vol']))
            pygame.mixer.init(frequency=44100, channels=2)
            pygame.mixer.music.set_volume(self.settings['music_vol'])
        else:
            self.settings['sounds'] = False
            self.settings['music'] = False
        if self.settings['music']:
            pygame.mixer.music.set_endevent(pygame.USEREVENT)
        else:
            self.settings['stage_music'] = False

        print("effective settings: " + str(self.settings))

        self.music_name = None
        self.queued_music_name = None
        self.prev_offset = 0.0
        self.prev_song_len = 0.0
        self.music_loaded = None
        self.clock = pygame.time.Clock()
        self.music_count = -1
        data_sub_dir = "data"
        ced = os.path.dirname(__file__)  # current executable directory
        self.DATA_PATH = os.path.join(ced, data_sub_dir)
        self.screen = pygame.display.set_mode(resolution)
        pygame.display.set_caption("Pylaga " + __version__)
        self.world = World(self, self.screen)
        logo_image = self.load_file("screen-intro.png")
        cursor_image = self.load_file('pship0.png')
        about_string = '''
            PYLAGA

            Code License: GPL 3.0
            Media License: CC-BY-SA 4.0 International

            Original Creator:
              Derek Mcdonald

                FreeSansBold.ttf:
                  Copyleft 2002, 2003, 2005, 2008, 2009, 2010
                  Free Software Foundation ([GPL License]
                  (https://www.gnu.org/licenses/gpl-3.0.en.html))


            PYLAGA fork [python 2]
               RJ Marsan (gmail RJMarsan)


            PYLAGA [Python 3]
                new graphics
                new enemies
                removed globalvars
                sound fx [own work]
                particles
                  poikilos

                CRYSTAL-Regular.ttf:
                  Felipe Munoz (CC-BY SA 4.0 International)

                Music
                  MixMystery
        '''
        help_string = '''
            MOVE: move mouse
            FIRE: click/tap
            MENU: Escape ("Esc") key
              MENU controls: click/tap choice, or use arrows & enter key
                                          (Esc or q key to resume/retry)
            EXIT: In the menu, click EXIT
                      (or select EXIT with arrows then press Enter key)
        '''
        pages_dict = {
            'ABOUT': {
                'scroll_text': about_string
            },
            'HELP': {
                'scroll_text': help_string
            }
        }
        # pages_dict['ABOUT']['scroll_text'] = about_string
        # pages_dict['HELP'] = {}
        # pages_dict['HELP']['scroll_text'] = help_string
        self.menus = Menus(self.world.statcounter, self, logo_image,
                           cursor_image, pages_dict)
        init_menu_strings = ["PLAY", "ABOUT", "HELP", "EXIT"]
        self.menus.show_dialog(init_menu_strings)
        print("starting world...")
        self.world.start(self.menus)
        tries = 1
        open_page = None
        caption = None
        retry_menu_strings = [
            "RETRY", "ABOUT", "HELP", "EXIT",
            "Score: %s" % self.world.statcounter.get_val()
        ]
        if self.world.won:
            open_page = 'ABOUT'
            caption = self.world.won_msg
            # retry_menu_strings.insert(0, self.world.won_msg)
        else:
            caption = 'GAME OVER'
            # retry_menu_strings.insert(0, 'GAME OVER')

        while ((not self.menus.get_bool('exit'))
               and (self.menus.show_dialog(retry_menu_strings,
                                           cursor_spin=-1.0,
                                           open_page=open_page,
                                           caption=caption))):
            print("starting world (tries: " + str(tries) + ")...")
            self.world.start(self.menus)
            open_page = None
            retry_menu_strings = [
                "RETRY", "ABOUT", "HELP", "EXIT",
                "Score: %s" % self.world.statcounter.get_val()
            ]
            if self.world.won:
                open_page = 'ABOUT'
                caption = self.world.won_msg
                # retry_menu_strings.insert(0, self.world.won_msg)
            else:
                caption = 'GAME OVER'
                # retry_menu_strings.insert(0, 'GAME OVER')
            tries += 1
        self.world.on_exit()