예제 #1
0
    def allPosTag(self):
        i = float(1)
        tot = len(glob.glob(self.folderDialoghiClean + '*'))
        ifile = len(glob.glob(self.folderDialoghiPosTag + '*'))

        for fil in glob.glob(self.folderDialoghiClean + u'*'):
            try:
                dlg = []
                for line in SaveLoad.LoadLines(fil):
                    if len(line.strip()) > 0:
                        line = unicode(line)
                        line = line.lower()
                        l = self.pos.PosTag(line)
                        dlg.append(l)

                #salvo il file postaggato e senza \n inutili
                filename = str(ifile) + u'.txt'
                filename = self.folderDialoghiPosTag + filename
                #salvo il file  dei dialoghi
                if SaveLoad.SaveByte(dlg, filename):
                    ifile += 1

            except:
                #potrebbero esserci errori di qualsiasi natura nei file, in questo caso ignoro il file e passo al successivo
                pass

            print "elaborazione file ", fil[len(self.folderDialoghiClean
                                                ):], " - ", i, " / ", tot
            i += 1
예제 #2
0
    def __Save(self):
        print SaveLoad.SaveByte(self.rankRes, "self.rankRes")

        for i in self.rankRes.iteritems():
            for v in i:
                v = v + u"\n"
                SaveLoad.SaveLinesA(v, 'tutti i dialoghi k.txt')

        return

        #old
        for k in self.rankRes.keys():
            i = 0
            try:
                for v in self.rankRes[k]:
                    try:
                        dati = k + self.__SEPATATORE + v
                        k = self.pulisci.PulisciFilename(k)

                        #per evitar problemi con la lunghezza dei file
                        if len(k) > 90:
                            k = k[:90]
                        filename = self.folderDialoghi + k + str(
                            i) + self.extFile
                        print "file: ", filename, "Saved:", SaveLoad.SaveLines(
                            dati, filename)

                        i += 1
                    except:
                        pass
            except:
                pass
예제 #3
0
	def loadChar(self):

		sl.loadChar(self)
		self.remakeClass()
		for key in self.abil.keys():
			self.updateAbilities(None,key)
		sl.getSkills()
예제 #4
0
파일: fNode.py 프로젝트: ChrisCuts/fnode
 def save(self):
     print('save to: ', self.file_manager().current_workpath() + '\save.json')
     #TODO: save functions in file
     SaveLoad.save(self.file_manager().current_workpath() + '\save.json', self.get_data())
     
     self._saved = True
     dispatcher.send(_SAVED_STATUS, sender= self, status= True)
예제 #5
0
    def take_input(self, eventList, gameStateObj, metaDataObj):
        for event in eventList:
            if event.type == KEYUP:    
                if event.key == OPTIONS['DOWN']:
                    SOUNDDICT['Select 6'].play()
                    gameStateObj.activeMenu.moveDown()
                elif event.key == OPTIONS['UP']:
                    SOUNDDICT['Select 6'].play()
                    gameStateObj.activeMenu.moveUp()

                elif event.key == OPTIONS['BACK']:
                    SOUNDDICT['Select 4'].play()
                    gameStateObj.activeMenu = None # Remove menu
                    gameStateObj.stateMachine.back()
                    return

                elif event.key == OPTIONS['SELECT']:
                    SOUNDDICT['Select 1'].play()
                    waitTime = pygame.time.get_ticks()
                    selection = gameStateObj.save_slots[gameStateObj.activeMenu.getSelectionIndex()]
                    gameStateObj.build_new() # Make the gameStateObj ready for a new game
                    levelfolder = 'Data/Level' + str(gameStateObj.currentLevelIndex)
                    # Load the first level
                    SaveLoad.load_level(levelfolder, selection, gameStateObj, metaDataObj)
                    gameStateObj.activeMenu.options[gameStateObj.activeMenu.getSelectionIndex()] = metaDataObj['name']
                    gameStateObj.saveSlot = selection
                    gameStateObj.stateMachine.changeState('turn_change')
                    gameStateObj.stateMachine.changeState('start_wait')
                    return
예제 #6
0
    def take_input(self, eventList, gameStateObj, metaDataObj):
        for event in eventList:
            if event.type == KEYUP:
                        
                if event.key == OPTIONS['DOWN']:
                    SOUNDDICT['Select 6'].play()
                    gameStateObj.activeMenu.moveDown()
                elif event.key == OPTIONS['UP']:
                    SOUNDDICT['Select 6'].play()
                    gameStateObj.activeMenu.moveUp()

                elif event.key == OPTIONS['BACK']:
                    SOUNDDICT['Select 4'].play()
                    gameStateObj.activeMenu = None # Remove menu
                    gameStateObj.stateMachine.changeState('start_option')
                    return

                elif event.key == OPTIONS['SELECT']:
                    SOUNDDICT['Select 1'].play()
                    selection = gameStateObj.save_slots[gameStateObj.activeMenu.getSelectionIndex()]
                    gameStateObj.activeMenu = None # Remove menu
                    if (self.restart and selection.out_save) or (not self.restart and (selection.in_save or selection.in_suspend)):
                        logger.debug('Loading game...')
                        SaveLoad.loadGame(gameStateObj, metaDataObj, selection, self.restart)
                        if self.restart:
                            levelfolder = 'Data/Level' + str(gameStateObj.currentLevelIndex)
                            # Load the first level
                            SaveLoad.load_level(levelfolder, selection, gameStateObj, metaDataObj)
                        # State is switched to correct state automatically
                    else:
                        gameStateObj.stateMachine.changeState('start_option')
                    return
예제 #7
0
    def take_input(self, eventList, gameStateObj, metaDataObj):
        for event in eventList:
            if event.type == KEYUP:
                        
                if event.key == OPTIONS['RIGHT']:
                    SOUNDDICT['Select 6'].play()
                    gameStateObj.childMenu.moveDown()
                elif event.key == OPTIONS['LEFT']:
                    SOUNDDICT['Select 6'].play()
                    gameStateObj.childMenu.moveUp()

                elif event.key == OPTIONS['BACK']:
                    SOUNDDICT['Select 4'].play()
                    gameStateObj.childMenu = None # Remove menu
                    gameStateObj.stateMachine.back()
                    return

                elif event.key == OPTIONS['SELECT']:
                    selection = gameStateObj.childMenu.getSelection()
                    if selection == 'Overwrite':
                        SOUNDDICT['Select 1'].play()
                        gameStateObj.stateMachine.clear()
                        gameStateObj.stateMachine.changeState('turn_change') # after we're done waiting, go to turn_change, start the GAME!
                        SaveLoad.suspendGame(gameStateObj, gameStateObj.childMenu.owner, level = 'c')
                        gameStateObj.stateMachine.changeState('start_wait')
                        levelfolder = 'Data/Level' + str(gameStateObj.currentLevelIndex)
                        # Load the next level
                        SaveLoad.load_level(levelfolder, gameStateObj.childMenu.owner, gameStateObj, metaDataObj)
                        gameStateObj.activeMenu.options[gameStateObj.activeMenu.getSelectionIndex()] = metaDataObj['name']
                    elif selection == 'Back':
                        SOUNDDICT['Select 4'].play()
                        gameStateObj.stateMachine.back()
                    return
예제 #8
0
 def __Load(self):
     #carico le liste di dati
     pos=SaveLoad.LoadLines(self.__folder+"SentiPos.txt")
     neg=SaveLoad.LoadLines(self.__folder+"SentiNeg.txt")
             
     self.dictsentiScore={}
     
     self.sentiPos=list()
     for word in pos:
         word=word.strip()
         word=self.__PosTagger.PosTag(word)
         if word!=list():            
             word=self.__Stem.StemWord(word[0])
             self.dictsentiScore[word[0]]=float(1)
             self.sentiPos.append(word[0])
         
             
     self.sentiNeg=list()
     for word in neg:
         word=word.strip()
         word=self.__PosTagger.PosTag(word)
         if word!=list():
             word=self.__Stem.StemWord(word[0])
             self.dictsentiScore[word[0]]=float(-1)
             self.sentiNeg.append(word[0])
     
     self.__stopWords=SaveLoad.LoadByte(self.__stopWordsFilename)
     if not self.__stopWords:
         print "file stopwords mancante...\nestrazione in corso"
         paisaWordsDataExtractor.paisaWordsDataExtractor()
  
         if not self.__Load():
             print "processo di estrazione corrotto\nimpossibile procedere..."
             return False
     return True
예제 #9
0
    def __Load(self):
        self.__unigram_tagger = SaveLoad.LoadByte(
            self.__unigram_taggerFileName)
        self.__bigram_tagger = SaveLoad.LoadByte(self.__bigram_taggerFileName)

        if self.__bigram_tagger != False and self.__unigram_tagger != False:
            return True
        return False
예제 #10
0
파일: cmd.py 프로젝트: skacmoli/erwinjr
def qclLoad(fname):
    qclayers = QCLayers()
    #  print "Loading "+fname
    filehandle = open(fname, 'r')
    SaveLoad.qclLoad(filehandle, qclayers, None)
    qclayers.update_alloys()
    qclayers.update_strain()
    qclayers.populate_x()
    qclayers.populate_x_band()
    return qclayers
예제 #11
0
def createAutomataReturnTimeSamples(N,K,currentFolderPath,sampleLength,samplesAmount):
    automataList=[]
    print "gatherData:"
    automataTypeFolderName=SaveLoad.generateAutomataTypeFolderName(N,K)
    SaveLoad.gatherData(automataList,currentFolderPath+'/'+"SavedAutomata"+'/'+automataTypeFolderName)
    print "statsToFile:"
    #countAverarageStabilityAndCycleAmount(automataList)
    savePath=currentFolderPath+"/"+"Statistics"+"/"+"ReturnTime"+"/"+automataTypeFolderName
    if not os.path.exists(savePath):
	os.makedirs(savePath)
    returnTimeToFiles(N,K,automataList,savePath,sampleLength)
def main():
    x = 1000
    y = 800

    try:
        universe = SaveLoad.load_universe("universe")
    except:
        map_size = 5
        universe = Universe.Universe()
        #currently need more things before going over faction size 8
        universe.create_map(map_size)
        universe.create_factions(map_size + 3)

    #pygame_object = Pygame_Object(1920,1080)
    pygame_object = Pygame_Object(x,y, universe)

    error = 0

    while (error == 0):

        pygame_object.game_display.fill(Colour.black)

        pygame_object.draw_view()

        pygame_object.draw_ui(universe.factions[universe.turn])

        #draw everything, then capture events

        error = pygame_object.capture_events()
        #Ui elements selected here
        if (pygame_object.mouse_down):
            #mouse button finished clicking button
            if (pygame_object.ui.ui_element_clicked[0] and pygame_object.current_view == 0): #end turn button clicked
                universe.turn = (universe.turn + 1) % len(universe.factions)
                pygame_object.turn_end()
                pygame_object.clear_ui_elements()

                pygame_object.turn_start() #update goals for new faction

            elif (pygame_object.ui.ui_element_clicked[0] and pygame_object.current_view == 1): #return from inner system view
                pygame_object.current_view = 0
                pygame_object.clear_ui_elements()


            #pygame_object.mouse_released = False
            # pygame_object.clear_ui_elements()
    
        pygame_object.update()

    SaveLoad.save_universe("universe", universe)
예제 #13
0
    def __CaricaDlg(self, dlgname):
        self.dlg = SaveLoad.LoadLines(self.folder + "\\dialoghiRaw\\" +
                                      dlgname + self.extdlg)
        self.dictWordScoreRow = SaveLoad.LoadByte(self.folder + dlgname +
                                                  self.extdictWordScoreRow)
        self.dictWordIndex = SaveLoad.LoadByte(self.folder + dlgname +
                                               self.extdictWordIndex)

        if not (self.dictWordScoreRow and self.dictWordIndex):
            print "file dict mancanti\ncreazione in corso..."
            CreaDatiQuestEngine.CreaDatiQuestEngine(dlgname)
            #ricarico i dati
            self.dictWordScoreRoww = SaveLoad.LoadByte(
                self.folder + dlgname + self.extdictWordScoreRow)
            self.dictWordIndex = SaveLoad.LoadByte(self.folder + dlgname +
                                                   self.extdictWordIndex)
예제 #14
0
    def AvviaCreazioneDati(self):
        sentWithSentimento = list()

        i = 0
        files = glob.glob(self.__folderdialoghi + '*')
        for file in files:

            print file

            dlg = SaveLoad.LoadLines(file)
            for line in dlg:
                line = self.SentiAnaliz.StimaSentimentoFrase(line)
                if line != list():
                    for l in line:
                        if l != list():
                            sentWithSentimento.append(l)


#            print 'file', i
            i += 1

            if i > 50:
                return sentWithSentimento

        return sentWithSentimento
예제 #15
0
 def Load(self):
     self.classificatoreSenti=SaveLoad.LoadByte(self.classificatoreSentiFilename)
     
     if self.classificatoreSenti:
         return True
         
     return False
예제 #16
0
    def Save(self):
        try:
            #            SaveLoad.SaveByte(self.lemma, self.lemmaFilename)
            #            SaveLoad.SaveByte(self.radiciList, self.radiciListFilename)
            #
            #            SaveLoad.SaveByte(self.lemmaRadice, self.lemmaRadiceFilename)
            #            SaveLoad.SaveByte(self.lemmaSuffisso, self.lemmaSuffissoFilename)
            #
            #            SaveLoad.SaveByte(self.lemmaTipo, self.lemmaTipoFilename)
            #            SaveLoad.SaveByte(self.lemmaTipoEsteso, self.lemmaTipoEstesoFilename)
            #
            #            SaveLoad.SaveByte(self.lemmaTipoListLemma, self.lemmaTipolistLemmaFilename)
            #
            #            SaveLoad.SaveByte(self.lemmaTipoListVocabolo, self.lemmaTipoListVocaboloFilename)
            #
            #            SaveLoad.SaveByte(self.tipoList, self.tipoListFilename)
            #
            #
            #
            #            #sicuro da tenere
            #            SaveLoad.SaveByte(self.parole,self.paroleFilename)
            #
            #            self.SalvaRadici()
            #
            self.SalvaAbrev()
            print SaveLoad.SaveByte(self.suffissiTag, self.suffissiTagFilename)

            return True
        except:

            return False
예제 #17
0
    def __ElaboraFiles(self):
        #elabora tutti i file

        #le frasi con solo i tag
        self.tagsent = list()
        #le frasi con solo le words
        self.sentsent = list()

        i = float(1)
        #files=glob.glob(self.folderDialoghiPosTag+u'*')
        files = ["C:\\Esame TTR\\tutti i dialoghi.txt"]
        tot = len(files)

        print tot
        for fil in files:
            print "elaborazione file ", fil[len(self.folderDialoghiPosTag
                                                ):], " - ", i, " / ", tot

            #to del self.
            #self.dlg=SaveLoad.LoadByte(fil)
            self.dlg = SaveLoad.LoadLines(fil)
            if self.dlg:
                for j in xrange(len(self.dlg) -
                                1):  #-1 perchè non devo fare l'ultima!
                    k = self.getSent(self.dlg[j])
                    v = self.getSent(self.dlg[j + 1])
                    k = u" ".join(k)
                    k = k.strip()

                    v = u" ".join(v)
                    v = v.strip()

                    self.sentsentSuccessiva[k].append(v)
            i += 1
예제 #18
0
    def CleanAllFile(self):
        files = glob.glob(self.folderRawSubfactory + '*')
        tot = len(files)
        print tot
        i = float(0)

        for fil in files:
            print "elaborazione file ", fil[len(self.folderRawSubfactory
                                                ):], " - ", i, " / ", tot

            try:
                with codecs.open(fil, 'r', 'cp1252') as f:
                    dati = f.readlines()
                self.CleanDialogo(dati)
            except:
                try:
                    with codecs.open(fil, 'r', 'utf-8') as f:
                        dati = f.readlines()
                    self.CleanDialogo(dati)
                except:
                    pass

            dlg = self.CleanDialogo(dati)

            #            filename=fil[len(self.folderRawSubfactory):-4]
            #            filename="".join([w for w in filename if w.isalpha()])
            #            filename=filename[:-17]

            filename = self.CleanFilenameSubFactory(fil)
            filename = self.folderTMPClean + filename + u'.txt'

            #salvo il file  dei dialoghi
            SaveLoad.SaveLinesA(dlg, filename)

            i = i + 1
예제 #19
0
    def __init__ (self):
        self.qta=155
        
        
        self.__folder="risorse\\Dati\\"
        self.__foldertaggedsents =self.__folder+"training\\paisaTagged"
        self.wordsFreqFilename=self.__folder+"wordFreq.fdist"
        self.stopWordsFilename=self.__folder+"StopWords.list"
        self.folderDialoghiPosTag=self.__folder+"dialoghi\\postag\\"
        
        self.domandeMostFreqFilename=self.__folder+"domandeMostFreq.txt"
        self.sentimentiMostFreqFilename=self.__folder+"sentimentiMostFreq.txt"
        self.emozioniMostFreqFilename=self.__folder+"emozioniMostFreq.txt"
        
        self.wordsFreq=SaveLoad.LoadByte(self.wordsFreqFilename)
#        self.stopWords=SaveLoad.LoadByte(self.stopWords)
        
        self.noun=set()
        self.verb=set() 
        
        self.SentimentiMostFreq()
        self.EmozioniMostFreq()
        #domande prese da internet come "in-cultura" popolare e keywords di google
        self.DomaneMostFreq()
        
        #keywords prese dai dialoghi e mischiate random!
        self.ElaboraDati()
        self.EstraiMostFreq()    
        
        self.EstraiYahooAnswers(self.qta)
예제 #20
0
    def __Load(self):
        """
            
            Load
            
            input: None
            hidden: carica i dati 
            output:  True se il processo termina correttamente
        
        """

        self.__grammars = SaveLoad.LoadByte(self.__grammarsFilename)
        if not self.__grammars:
            import GrammarExtractor
            GrammarExtractor.GrammarExtractor()
            self.__grammars = SaveLoad.LoadByte(self.__grammarsFilename)
        return True
예제 #21
0
 def SentimentiMostFreq(self):        
     lines=SaveLoad.LoadLines(self.sentimentiMostFreqFilename)
     for line in lines:
         try:
             print line
             keyRicerca=line.strip()
             _=YahooAnswer.YahooAnswer(answer=keyRicerca, ordinamento='rillevanza', numeroRisultati=3)
         except:
             pass
예제 #22
0
def make_array(cube, dim, cut=50, t=0, s=0, w=0, nw=nw, nt=nt, ns=4):
    '''
    Make a 3d cube in a chosen direction. x,y,[t,s or w]
    
    INPUT:
        cube : filename, has to be .icube or .fcube
        dim  : chosen cube direction. t,s or w. Input as string.
        cut  : trims pixels off of the images edge to remove edge detector effects. Default = 50 px
        t    : chosen timestep          default = 0
        s    : chosen stokes paramater  default = 0
        w    : chosen wavelength step   default = 0
        nw   : number of wavelength steps. Should be defined outside function or as global.
        nt   : number of scans. Should be defined outside function or as global.
        ns   : number of stokes parameters. Default = 4.
        
    OUTPUT:
        numpy cube with a shape of 'len(dim), nx,ny'
    
    AUTHOR: A.G.M. Pietrow (2018)
    
    EXAMPLE:
        cube = 'cube.icube'
        nw = 20
        nt = 4
        cube_w = make_array(cube, 'w')            # returns a wavelength cut cube @ s=0 and t=0.
        cube_w = make_array(cube, 'w', s=1, t=3)  # returns a wavelength cut cube @ s=1 and t=3.
        cube_t = make_array(cube, 't', s=2, w=10) # returns a timeseries in line core @ s=2
    '''
    if dim == 't':
        #t = var
        var_counter = nt
    elif dim == 's':
        #s = var
        var_counter = ns
    elif dim == 'w':
        #w = var
        var_counter = nw
    else:
        raise ValueError("Dim must be \'t\',\'s\' or \'w\'.")

    cube_array = []
    for i in range(var_counter):
        
        idx = t*nw*ns + s*nw + w
        im = sl.get(cube,idx)[cut:-cut, cut:-cut]
        cube_array = np.append(cube_array, im)
        nx, ny = im.shape
        
        if dim == 't':
            t = t + 1
        elif dim == 's':
            s = s + 1
        elif dim == 'w':
            w = w + 1


    return cube_array.reshape(var_counter, nx,ny)
예제 #23
0
    def generate_attacker_phase(self, gameStateObj, metaDataObj, defender):
        result = Result(self.attacker, defender)

        # Start
        if isinstance(defender, UnitObject.UnitObject) or isinstance(defender, TileObject.TileObject):
            to_hit = self.attacker.compute_hit(defender, gameStateObj, self.item, mode="Attack")
            if self.event_combat:
                roll = 0
            else:
                roll = (random.randint(0, 99) + random.randint(0, 99))/2

        #if OPTIONS['debug']: print('To Hit:', to_hit, ' Roll:', roll)
        if self.item.weapon:
            if roll < to_hit and not (defender in self.splash and any(status.evasion for status in defender.status_effects)) or isinstance(defender, TileObject.TileObject):
                result.outcome = True
                result.def_damage = self.attacker.compute_damage(defender, gameStateObj, self.item, mode='Attack')
            # Missed but does half damage
            elif self.item.half:
                result.def_damage = self.attacker.compute_damage(defender, gameStateObj, self.item, mode='Attack')/2

        elif self.item.spell:
            if not self.item.hit or roll < to_hit:
                result.outcome = True
                if self.item.damage is not None:
                    result.def_damage = self.attacker.compute_damage(defender, gameStateObj, self.item, mode='Attack')
                elif self.item.heal is not None:
                    result.def_damage = -self.attacker.compute_heal(defender, gameStateObj, self.item, mode='Attack')
        else:
            result.outcome = True
            result.def_damage = -int(eval(self.item.heal)) if self.item.heal else 0
            if self.attacker is not defender and self.item.heal:
                result.def_damage -= sum(status.caretaker for status in self.attacker.status_effects if status.caretaker)
            if self.item.movement:
                result.def_movement = self.item.movement
            if self.item.self_movement:
                result.atk_movement = self.item.self_movement

        if result.outcome:
            # Handle status
            for status in self.item.status:
                status_object = StatusObject.statusparser(str(status.id))
                result.def_status.append(status_object)
            # Handle summon
            if self.item.summon:
                result.summoning.append(SaveLoad.create_summon(metaDataObj, self.item.summon, self.attacker, self.def_pos))

        # Handle lifelink and vampire
        if result.def_damage > 0:
            if self.item.lifelink:
                result.atk_damage -= result.def_damage
            # Handle Vampire Status
            for status in self.attacker.status_effects:
                if status.vampire and defender.currenthp - result.def_damage <= 0 and \
                   not any(status.miracle and (not status.count or status.count.count > 0) for status in defender.status_effects):
                    result.atk_damage -= eval(status.vampire)
        
        return result
예제 #24
0
def __Load():
    __stopWords = SaveLoad.LoadByte(__stopWordsFilename)
    if not __stopWords:
        print "file stopwords mancante...\nestrazione in corso"
        paisaWordsDataExtractor.paisaWordsDataExtractor()

        if not __Load():
            print "processo di estrazione corrotto\nimpossibile procedere..."
            return False
    return True
예제 #25
0
    def __init__(self):

        self.__folder = "risorse\\Dati\\"
        self.__folderdialoghi = self.__folder + "\\dialoghi\\dialoghiRaw\\"
        self.SentiAnaliz = ParseCreaDatiSentimentAnalysis.ParseCreaDatiSentimentAnalysis(
        )
        self.__SentimTrainsetFilename = self.__folder + "SentiTrainSet.list"

        dati = self.AvviaCreazioneDati()

        print SaveLoad.SaveByte(dati, self.__SentimTrainsetFilename)
예제 #26
0
 def get_tile_from_id(self, tile_id):
     for terrain in self.terraindata.getroot().findall('terrain'):
         if tile_id == terrain.find('id').text or tile_id == int(terrain.find('id').text):
             tile = TileObject(terrain.get('name'), terrain.find('minimap').text, None, \
                               SaveLoad.intify_comma_list(terrain.find('mcost').text), \
                               terrain.find('walk').text, terrain.find('fly').text, \
                               [terrain.find('DEF').text, terrain.find('AVO').text])
             return tile
     else:
         logger.error('Could not find tile matching id: %s', tile_id)
         return None # Couldn't find any that match id
예제 #27
0
    def __ElaboraFile(self, file):
        dlg = SaveLoad.LoadLines(file)
        if dlg:
            for j in xrange(len(dlg) - 1):  #-1 perchè non devo fare l'ultima!
                k = self.getSent(dlg[j])
                v = self.getSent(dlg[j + 1])
                k = u"".join(k)
                k = k.strip()

                v = u"".join(v)
                v = v.strip()

                self.sentsentSuccessiva[k].append(v)
예제 #28
0
    def load(self, load_info):
        # Rebuild gameStateObj
        self.allunits = [UnitObject.UnitObject(info) for info in load_info['allunits']]
        self.allreinforcements = load_info['allreinforcements'] 
        self.prefabs = load_info['prefabs']
        map_info = load_info['map']
        self.playtime = load_info['playtime']
        self.convoy = load_info['convoy']
        self.currentLevelIndex = load_info['currentLevelIndex']
        self.money = load_info['money']
        self.turncount = load_info['turncount']
        self.game_constants = load_info['game_constants']
        self.objective = load_info['objective']
        support_dict = load_info['support']
        self.event_triggers = load_info['event_triggers']
        self.talk_options = load_info['talk_options']
        self.base_conversations = load_info['base_conversations']
        self.stateMachine = StateMachine.StateMachine(load_info['state_list'][0], load_info['state_list'][1])
        self.statistics = load_info['statistics']
        self.message = [Dialogue.Dialogue_Scene(scene) for scene in load_info['message']]
        self.unlocked_lore = load_info['unlocked_lore']
        self.counters = load_info['counters']
        print([unit.name for unit in self.allunits])

        # Map
        self.map = SaveLoad.create_map('Data/Level' + str(self.currentLevelIndex))
        self.map.replay_commands(map_info['command_list'], self.currentLevelIndex)
        self.map.command_list = map_info['command_list']
        for position, current_hp in map_info['HP']:
            self.map.tiles[position].currenthp = currenthp

        # Support
        if CONSTANTS['support']:
            self.support = Support.Support_Graph('Data/support_nodes.txt', 'Data/support_edges.txt')
            self.support.deserialize(support_dict)
        else:
            self.support = None

        self.generic()

        # Set up blitting surface
        if self.map:
            mapSurfWidth = self.map.width * TILEWIDTH
            mapSurfHeight = self.map.height * TILEHEIGHT
            self.mapSurf = pygame.Surface((mapSurfWidth, mapSurfHeight))

            self.grid_manager = AStar.Grid_Manager(self.map)

            for unit in self.allunits:
                if unit.position:
                    self.grid_manager.set_unit_node(unit.position, unit.team)
예제 #29
0
def main(func="logo"):
    print("START GAME")
    if hashlib.md5(os.getlogin().encode()).hexdigest() == "f945be3c345040fbe66cea5910001877":
        func = "mainMenu"
    try:
        os.environ["SDL_VIDEO_CENTERED"] = "1"
        cProfile.run("gameScreens." + func + "()", "logs/Out.txt")
    except Exception as e:
        if "Reload:" in str(e):
            curFunc = str(e).strip("Reload:")
            print("Reload:", curFunc)
            reload(gameScreens)
            main(curFunc)
        print("EXCEPTION:")
        print(traceback.print_exc())
        if not os.path.exists("Crash Reports"):
            os.makedirs("Crash Reports")
        name = "Crash Reports/Crash Report " + time.strftime("%Y-%m-%d_%H.%M.%S") + ".txt"
        remPath = str(unhexlify("433a2f55736572732f4a616d6573205761746572732f446f63756d656e74732f574f524b53504143452f"))
        with open(name, "w") as crash:
            t = traceback.format_exc(limit=8)
            t = t.replace("\\", "/")
            t = t.replace(remPath, "")
            t = t.split("\n")[0] + "\n" + "\n".join(t.split("\n")[12:])
            crash.write(t)
        with open(name, "r") as crash:
            gameScreens.crashScreen(crash.read())
    py.quit()
    with open("Logs/Calltime Dump.txt", "w") as fc:
        p = pstats.Stats("logs/Out.txt", stream=fc)
        p.strip_dirs()
        d = p.__dict__["stats"]
        funcstats = {}

        for k, v in d.items():
            funcstats[k] = v[2]
        p.sort_stats("time").print_stats()
        SaveLoad.uploadStats(funcstats)
예제 #30
0
 def ElaboraDati(self):
     files=glob.glob(self.folderDialoghiPosTag+'*')
     tot=len(files)
     i=1
     
     for file in files:
         dati=SaveLoad.LoadByte(file)
         for line in dati:
             for word in line:
                 if word[1]==u"NOUN":
                     self.noun.add(word[0])
                 elif word[1]==u"VER":
                     self.verb.add(word[0])
         print "Elaborato", i, "/",tot
         i+=1
예제 #31
0
    def test_solve_basis(self):
        with open("../example/PQLiu.json") as f:
            qcl = SaveLoad.qclLoad(f)

        qcl.layerSelected = 3
        qcl.NonParabolic = False
        qcl.populate_x()
        qcl.solve_basis()
        # axes = plt.axes()
        # plot_band(axes, qcl)
        # plt.show()

        np.testing.assert_equal(qcl.eigenEs.shape, (18, ),
                                'solve_basis eigenEs calculation wrong')
        np.testing.assert_equal(qcl.psis.shape, (18, 1038),
                                'solve_basis psis calculation wrong')
예제 #32
0
    def __init__(self, dlgname):
        self.extdlg = '.txt'
        self.extdlgData = ".dat"
        self.extdlgVoc = ".voc"
        self.extdictWordScoreRow = '.dictWordsScoreRows'

        self.folder = "risorse\\Dati\\dialoghi\\"

        dlg = SaveLoad.LoadLines(self.folder + "dialoghiRaw\\" + dlgname +
                                 self.extdlg)

        if dlg:
            self.__Tfidf(dlg)
            self.__Save(dlgname)
        else:
            print "file di dialogo mancante\nimpossibile procedere..."
예제 #33
0
    def __Load(self):
        """
            
            Load
            
            input: None
            hidden: carica il tokenize
            output: True se il processo termina correttamente
            
        """

        self.__sentsTokenizer = SaveLoad.LoadByte(self.__sentsTokenFileName)
        if not self.__sentsTokenizer:
            self.__corpus = nltk.corpus.ConllCorpusReader(
                self.__foldertaggedsents, '.*', self.__lst_pos)
            return False
        return True
예제 #34
0
 def populate_tiles(self, colorKeyObj, offset=(0,0)):
     for x in range(offset[0], len(colorKeyObj)):
         for y in range(offset[1], len(colorKeyObj[x])):
             cur = colorKeyObj[x-offset[0]][y-offset[1]]
             for terrain in self.terraindata.getroot().findall('terrain'):
                 colorKey = terrain.find('color').text.split(',')
                 if (int(cur[0]) == int(colorKey[0]) and int(cur[1]) == int(colorKey[1]) and int(cur[2]) == int(colorKey[2])):
                     # Instantiate
                     self.tiles[(x,y)] = TileObject(terrain.get('name'), terrain.find('minimap').text, (x,y), \
                                                    SaveLoad.intify_comma_list(terrain.find('mcost').text), \
                                                    terrain.find('walk').text, terrain.find('fly').text, \
                                                    [terrain.find('DEF').text, terrain.find('AVO').text])
                     if 'HP' in self.tile_info_dict[(x,y)]: # Tile hp is needed so apply that here
                         self.tiles[(x,y)].give_hp_stat(self.tile_info_dict[(x,y)]['HP'])
                     break
             else: # Never found terrain...
                 logger.error('Terrain matching colorkey %s never found.', cur)
예제 #35
0
    def __Save(self):
        """
            
            Save
            
            input: None
            hidden: salva il tokenize
            output: True se il processo termina correttamente
            
        """

        try:
            SaveLoad.SaveByte(self.__sentsTokenizer, self.__sentsTokenFileName)

            return True
        except:
            return False
예제 #36
0
파일: fNode.py 프로젝트: ChrisCuts/fnode
    def load(self, filename):
        print('load from: ', filename)
        data = SaveLoad.load(filename)
        try:
            self._build(data)

            self._filename = filename
            self._saved = True
            
            dispatcher.send(_FILE_LOADED, sender= self)
            
            dispatcher.send(_UNDO_STATUS, sender= self, status= False)
            dispatcher.send(_REDO_STATUS, sender= self, status= False)
            dispatcher.send(_SAVED_STATUS, sender= self, status= True)
            
            self._undobuffer = []
            self._redobuffer = []
        except:
            import traceback
            traceback.print_exc()
예제 #37
0
    def __Train(self):
        try:
            abl = SaveLoad.LoadLines(self.__abbrvFilename)
            train = self.__corpus.tagged_sents()[:]

            if abl != False:

                punkt_param = nltk.tokenize.punkt.PunktParameters()
                punkt_param.abbrev_types = abl

                self.__sentsTokenizer = nltk.tokenize.punkt.PunktSentenceTokenizer(
                    punkt_param)

                self.__sentsTokenizer.train(train)

                return True
            else:
                self.__DefaultSentTokenize()

        except:
            #carico il tokenizer di default
            self.__DefaultSentTokenize()
예제 #38
0
    def updatefig(t=t, s=s, w=w, *args):
        global var, meanim, stdim

        var += 1
        if var == var_counter:
            var = 0

        if dim == 't':
            t = var
        elif dim == 's':
            s = var
        elif dim == 'w':
            w = var
        else:
            raise ValueError("Dim must be t,s or w.")

        idx = t * nw * ns + s * nw + w
        im = sl.get(cube, idx)[cut:-cut, cut:-cut]
        meanim = np.mean(im)
        stdim = np.std(im)

        if mn == sd and mn == 0:
            a = plt.imshow(im,
                           vmax=meanim + 2 * stdim,
                           vmin=meanim - 2 * stdim,
                           cmap='gray',
                           animated=True)
        else:
            a = plt.imshow(im,
                           vmax=mn + 2 * sd,
                           vmin=mn - 2 * sd,
                           cmap='gray',
                           animated=True)
        print(a, t, s, w, meanim, stdim)

        return a,
예제 #39
0
def itemparser(itemstring, itemdata=None):
    if itemdata is None: # Just in case so we don't have to keep passing itemdat around
        itemdata = ET.parse('Data/items.xml')
    Items = []
    if itemstring: # itemstring needs to exist
        idlist = itemstring.split(',')
        for itemid in idlist:
            droppable = False
            if itemid.startswith('d'):
                itemid = itemid[1:] # Strip the first d off
                droppable = True
            for item in itemdata.getroot().findall('item'):
                if item.find('id').text == itemid:
                    spritetype = item.find('spritetype').text
                    spriteid = item.find('spriteid').text
                    components = item.find('components').text
                    if components:
                        components = components.split(',')
                    else:
                        components = []
                    name = item.get('name')
                    value = item.find('value').text
                    rng = item.find('RNG').text
                    desc = item.find('desc').text
                    aoe = AOEComponent('Normal', 0)
                    if 'weapon' in components or 'spell' in components:
                        weapontype = item.find('weapontype').text
                        if weapontype == 'None':
                            weapontype = []
                        else:
                            weapontype = weapontype.split(',')
                    else:
                        weapontype = []

                    if 'locked' in components:
                        locked = True
                    else:
                        locked = False
                    status = []
                    status_on_hold = []

                    my_components = {}
                    for component in components:
                        if component == 'uses':
                            uses = item.find('uses').text
                            my_components['uses'] = UsesComponent(int(uses))
                        elif component == 'c_uses':
                            c_uses = item.find('c_uses').text
                            my_components['c_uses'] = CUsesComponent(int(c_uses))
                        elif component == 'weapon':
                            stats = [item.find('stats')[0].text, item.find('stats')[1].text, item.find('stats')[2].text]
                            my_components['weapon'] = WeaponComponent(stats)
                        elif component == 'usable':
                            my_components['usable'] = UsableComponent()
                        elif component == 'spell':
                            lvl = item.find('LVL').text
                            targets = item.find('targets').text
                            my_components['spell'] = SpellComponent(lvl, targets)
                        elif component == 'status':
                            statusid = item.find('status').text.split(',')
                            for s_id in statusid:
                                status.append(StatusObject.statusparser(s_id)) # Item now has associated status object.
                        elif component == 'status_on_hold':
                            statusid = item.find('status_on_hold').text.split(',')
                            for s_id in statusid:
                                status_on_hold.append(StatusObject.statusparser(s_id)) # Item now has associated status on hold object
                        elif component == 'effective':
                            effective_against = item.find('effective').text.split(',')
                            my_components['effective'] = EffectiveComponent(effective_against)
                        elif component == 'permanent_stat_increase':
                            stat_increase = SaveLoad.intify_comma_list(item.find('stat_increase').text)
                            my_components['permanent_stat_increase'] = PermanentStatIncreaseComponent(stat_increase)
                        elif component == 'aoe':
                            info_line = item.find('aoe').text.split(',')
                            aoe = AOEComponent(info_line[0], int(info_line[1]))
                        elif component == 'heal':
                            my_components['heal'] = item.find('heal').text
                        elif component == 'damage':
                            my_components['damage'] = int(item.find('damage').text)
                        elif component == 'hit':
                            my_components['hit'] = int(item.find('hit').text)
                        elif component == 'weight':
                            my_components['WT'] = int(item.find('WT').text)
                        elif component == 'exp':
                            my_components['exp'] = int(item.find('exp').text)
                        elif component == 'wexp_increase':
                            my_components['wexp_increase'] = int(item.find('wexp_increase').text)
                        elif component in ['movement', 'self_movement']:
                            mode, magnitude = item.find(component).text.split(',')
                            my_components[component] = MovementComponent(mode, magnitude)
                        elif component == 'summon':
                            summon = item.find('summon')
                            klass = summon.find('klass').text
                            items = summon.find('items').text
                            name = summon.find('name').text
                            desc = summon.find('desc').text
                            ai = summon.find('ai').text
                            s_id = summon.find('s_id').text
                            my_components['summon'] = SummonComponent(klass, items, name, desc, ai, s_id)
                        else:
                            my_components[component] = True
                    currentItem = ItemObject(itemid, name, spritetype, spriteid, my_components, value, rng, desc, \
                                                         aoe, weapontype, status, status_on_hold, droppable=droppable, locked=locked)

                    Items.append(currentItem)   
                    
    return Items
예제 #40
0
	def drawSaveLoadCharacter(self):
		BsaveCharacter = Button(self.root, text="Save Character", command= lambda: sl.saveChar(self))
		BloadCharacter = Button(self.root, text="Load Character", command= lambda: self.loadChar())
		
		BsaveCharacter.grid(row=20, column=12, columnspan=2)
		BloadCharacter.grid(row=22, column=12, columnspan=2)
예제 #41
0
 def __Save(self, dlgname):
     print "file Saved:", SaveLoad.SaveByte(
         self.data, self.folder + dlgname + self.extdlgData)
     print "file Saved:", SaveLoad.SaveByte(
         self.vocab, self.folder + dlgname + self.extdlgVoc)
예제 #42
0
    def load(self, load_info):
        logger.info("Load")
        # Rebuild gameStateObj
        self.allunits = [
            UnitObject.UnitObject(info) for info in load_info['allunits']
        ]
        self.factions = load_info['factions'] if 'factions' in load_info else (
            load_info['groups'] if 'groups' in load_info else {})
        self.allreinforcements = load_info['allreinforcements']
        self.prefabs = load_info['prefabs']
        self.triggers = load_info.get('triggers', dict())
        map_info = load_info['map']
        self.playtime = load_info['playtime']
        self.convoy = [
            ItemMethods.deserialize(item_dict)
            for item_dict in load_info['convoy']
        ]
        self.convoy = [item for item in self.convoy if item]
        self.turncount = load_info['turncount']
        self.game_constants = load_info['game_constants']
        self.level_constants = load_info['level_constants']
        self.objective = CustomObjects.Objective.deserialize(
            load_info['objective']) if load_info['objective'] else None
        self.phase_music = CustomObjects.PhaseMusic.deserialize(
            load_info['phase_music']) if load_info['phase_music'] else None
        support_dict = load_info['support']
        self.talk_options = load_info['talk_options']
        self.base_conversations = load_info['base_conversations']
        self.stateMachine = StateMachine.StateMachine(
            load_info['state_list'][0], load_info['state_list'][1])
        self.statistics = load_info['statistics']
        # self.message = [Dialogue.Dialogue_Scene(scene) for scene in load_info['message']]
        self.message = []
        self.unlocked_lore = load_info['unlocked_lore']
        self.market_items = load_info.get('market_items', set())
        self.mode = load_info.get('mode', self.default_mode())

        # Map
        self.map = SaveLoad.create_map('Data/Level' +
                                       str(self.game_constants['level']))
        if map_info:
            self.map.replay_commands(map_info['command_list'],
                                     self.game_constants['level'])
            self.map.command_list = map_info['command_list']
            for position, current_hp in map_info['HP']:
                self.map.tiles[position].set_hp(current_hp)

        # Statuses
        for index, info in enumerate(load_info['allunits']):
            for s_dict in info['status_effects']:
                if isinstance(s_dict, dict):
                    StatusObject.deserialize(s_dict, self.allunits[index],
                                             self)
                else:
                    self.allunits[index].status_effects.append(s_dict)

        # Support
        if cf.CONSTANTS['support']:
            self.support = Support.Support_Graph('Data/support_nodes.txt',
                                                 'Data/support_edges.txt')
            self.support.deserialize(support_dict)
        else:
            self.support = None

        # Set up blitting surface
        if self.map:
            mapSurfWidth = self.map.width * GC.TILEWIDTH
            mapSurfHeight = self.map.height * GC.TILEHEIGHT
            self.mapSurf = Engine.create_surface((mapSurfWidth, mapSurfHeight))

            self.grid_manager = AStar.Grid_Manager(self.map)
            self.boundary_manager = CustomObjects.BoundaryManager(self.map)

            for unit in self.allunits:
                if unit.position:
                    self.grid_manager.set_unit_node(unit.position, unit)

        self.generic()
        if 'phase_info' in load_info:
            self.phase.current, self.phase.previous = load_info['phase_info']
예제 #43
0
 def __init__(self):
     self.__folder = "risorse\\Dati\\"
     self.stopWordFilename = self.__folder + "StopWords.list"
     self.stopWords = SaveLoad.LoadByte(self.stopWordFilename)
예제 #44
0
#! /usr/bin/python

from Item import Item, Saved

import gtk, gobject
import Settings, ClipBoard, Window,  SaveLoad
import xml.dom.minidom

dom     = xml.dom.minidom.parse("save.xml")
archive = SaveLoad.getArchived(dom)
saved   = SaveLoad.getSaved(dom)

if __name__ == '__main__':
    gobject.timeout_add(400, ClipBoard.clipListener)
    Window.Window()
    gtk.main()
예제 #45
0
    def __CreaCorpus(self, dlgfilename):
        all_sents = SaveLoad.LoadLines(dlgfilename)
        corpus, vocab = self.__corpus2vectors(all_sents)

        return corpus, vocab
예제 #46
0
def statusparser(status_string, statusdata=None):
    if statusdata is None: # Just in case so we don't have to keep passing statusdata around
        statusdata = ET.parse('Data/status.xml')
    Status = []
    if status_string: # itemstring needs to exist
        for status in statusdata.getroot().findall('status'):
            if status.find('id').text == status_string:
                components = status.find('components').text
                if components:
                    components = components.split(',')
                else:
                    components = []
                name = status.get('name')
                desc = status.find('desc').text
                icon_index = status.find('icon_index').text if status.find('icon_index') is not None else None
                if icon_index:
                    icon_index = tuple(int(num) for num in icon_index.split(','))
                else:
                    icon_index = (0,0)

                my_components = {}
                for component in components:
                    if component == 'time':
                        time = status.find('time').text
                        my_components['time'] = TimeComponent(time)
                    elif component == 'stat_change':
                        my_components['stat_change'] = SaveLoad.intify_comma_list(status.find('stat_change').text)
                    elif component == 'upkeep_stat_change':
                        stat_change = SaveLoad.intify_comma_list(status.find('upkeep_stat_change').text)
                        my_components['upkeep_stat_change'] = UpkeepStatChangeComponent(stat_change)
                    elif component == 'endstep_stat_change':
                        stat_change = SaveLoad.intify_comma_list(status.find('endstep_stat_change').text)
                        my_components['endstep_stat_change'] = UpkeepStatChangeComponent(stat_change)
                    elif component == 'rhythm_stat_change':
                        change, reset, init_count, limit = status.find('rhythm_stat_change').text.split(';')
                        change = SaveLoad.intify_comma_list(change)
                        reset = SaveLoad.intify_comma_list(reset)
                        init_count = int(init_count)
                        limit = int(limit)
                        my_components['rhythm_stat_change'] = RhythmStatChangeComponent(change, reset, init_count, limit)
                    elif component == 'endstep_rhythm_stat_change':
                        change, reset, init_count, limit = status.find('endstep_rhythm_stat_change').text.split(';')
                        change = SaveLoad.intify_comma_list(change)
                        reset = SaveLoad.intify_comma_list(reset)
                        init_count = int(init_count)
                        limit = int(limit)
                        my_components['endstep_rhythm_stat_change'] = RhythmStatChangeComponent(change, reset, init_count, limit)
                    # Combat changes
                    elif component == 'avoid':
                        avoid = status.find('avoid').text
                        my_components['avoid'] = avoid
                    elif component == 'hit':
                        hit = status.find('hit').text
                        my_components['hit'] = hit
                    elif component == 'mt':
                        mt = status.find('mt').text
                        my_components['mt'] = mt
                    elif component == 'conditional_avoid':
                        avoid, conditional = status.find('conditional_avoid').text.split(';')
                        my_components['conditional_avoid'] = ConditionalComponent('conditional_avoid', avoid, conditional)
                    elif component == 'conditional_hit':
                        hit, conditional = status.find('conditional_hit').text.split(';')
                        my_components['conditional_hit'] = ConditionalComponent('conditional_hit', hit, conditional)
                    elif component == 'conditional_mt':
                        mt, conditional = status.find('conditional_mt').text.split(';')
                        my_components['conditional_mt'] = ConditionalComponent('conditional_mt', mt, conditional)
                    elif component == 'conditional_resist':
                        mt, conditional = status.find('conditional_resist').text.split(';')
                        my_components['conditional_resist'] = ConditionalComponent('conditional_resist', mt, conditional)
                    elif component == 'weakness':
                        damage_type, num = status.find('weakness').text.split(',')
                        my_components['weakness'] = WeaknessComponent(damage_type, num)
                    # Others...
                    elif component == 'rescue':
                        my_components['rescue'] = RescueComponent()
                    elif component == 'count':
                        my_components['count'] = CountComponent(int(status.find('count').text))
                    elif component == 'vampire':
                        my_components['vampire'] = status.find('vampire').text
                    elif component == 'caretaker':
                        my_components['caretaker'] = int(status.find('caretaker').text)
                    elif component == 'hp_percentage':
                        percentage = status.find('hp_percentage').text
                        my_components['hp_percentage'] = HPPercentageComponent(percentage)
                    elif component == 'upkeep_animation':
                        info_line = status.find('upkeep_animation').text
                        split_line = info_line.split(',')
                        my_components['upkeep_animation'] = UpkeepAnimationComponent(split_line[0], split_line[1], split_line[2], split_line[3])
                    elif component == 'always_animation':
                        info_line = status.find('always_animation').text
                        split_line = info_line.split(',')
                        my_components['always_animation'] = AlwaysAnimationComponent(split_line[0], split_line[1], split_line[2], split_line[3])
                    elif component == 'active':
                        charge = int(status.find('active').text)
                        my_components['active'] = ActiveSkill.active_skill_dict[name](name, charge)
                    elif component == 'passive':
                        my_components['passive'] = ActiveSkill.passive_skill_dict[name](name)
                    elif component == 'aura':
                        aura_range = int(status.find('range').text)
                        child = status.find('child').text
                        target = status.find('target').text
                        my_components['aura'] = ActiveSkill.Aura(aura_range, target, child)
                    elif component == 'status_after_battle':
                        child = status.find('status_after_battle').text
                        my_components['status_after_battle'] = child
                    elif component == 'status_on_complete':
                        child = status.find('status_on_complete').text
                        my_components['status_on_complete'] = child
                    elif component == 'ai':
                        ai = status.find('ai').text
                        my_components['ai'] = ai
                    else:
                        my_components[component] = True

                currentStatus = StatusObject(status_string, name, my_components, desc, icon_index)

                return currentStatus