예제 #1
0
def getKeyLoop(self, keys):
    if not self.jobs.input_box.update_required:
        Log.debug("Setting key {} to activate {}".format(Utils.keyToString(self.jobs.input_box.value), self.getting))
        keys[self.getting] = self.jobs.input_box.value
        self.removeJob("input_box")
        Save.saveKeymap()
        ## Restore
        self.running = self.mainLoop
예제 #2
0
def Photo(e, tred, token, flag):
    try:
        pipe = rs.pipeline()
        color = rs.colorizer()
        ctx = rs.context()
        dev = ctx.query_devices()
        i = 0
        while True:
            if dev[i].get_info(rs.camera_info.ip_address) == tred["IP"]:
                break
            i = i + 1
            if i == len(dev):
                raise Exception('This camera is not avaiable')
        cfg = rs.config()
        cfg.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
        cfg.enable_device(dev[i].get_info(rs.camera_info.serial_number))
        print("3D cam started.")
        #Getting the depth sensor's depth scale (see rs-align example for explanation)
        while e.is_set():
            if (synchronizer.Synchro(token) == 1):
                try:
                    pipe.start(cfg)
                    # This call waits until a new coherent set of frames is available on a device
                    # Calls to get_frame_data(...) and get_frame_timestamp(...) on a device will return stable values until wait_for_frames(...) is called
                    for j in range(0, 15):
                        frames = pipe.wait_for_frames()
                    depth_frame = frames.get_depth_frame()
                    filename = "3D_%d" % (int(time.time()))
                    if (flag == 1):
                        depth_col = color.colorize(depth_frame)
                        depth_data = np.asanyarray(depth_col.get_data(),
                                                   dtype=np.uint16)
                        Save.Save(filename, depth_data)
                    else:
                        depth_data = np.asanyarray(depth_frame.get_data(),
                                                   dtype=np.uint16)
                        Save.Savebw(filename, depth_data)
                    print("immagine 3d")
                    tred["acquiredImages"] = tred["acquiredImages"] + 1
                    tred["timestamp"] = str(time.gmtime().tm_year) + "-" + str(
                        time.gmtime().tm_mon) + "-" + str(
                            time.gmtime().tm_mday) + "T" + str(
                                time.gmtime().tm_hour) + ":" + str(
                                    time.gmtime().tm_min) + ":" + str(
                                        time.gmtime().tm_sec)
                    pipe.stop()
                    synchronizer.Update()
                except Exception as exc:
                    tred["error"] = str(exc)
                    synchronizer.Update()
                    break
    except Exception as err:
        tred["error"] = str(err)
        tred["status"] = "error"
        synchronizer.removefromQueue(token)
        e.clear()
예제 #3
0
    def saveProjectAs(self):
        """
        Save the current project to a file which will be selected by the user.
        """

        Util.debug(2, "App.saveProjectAs", "Saving project as")
        
        fileName = str(QFileDialog.getSaveFileName(self.ui.workspace, "Save Project", self.projectDirectory(), "PySciPlot Project (*.psp);;All Files (*)"))

        Save.writeProjectToFile(self, fileName)
예제 #4
0
 def getName(self):
     if not self.jobs.name_inputbox.update_required:
         Save.saveScore({"name": self.jobs.name_inputbox.value,
                         "score": self.jobs.interface.jobs.board.score,
                         "level": self.jobs.interface.jobs.board.level,
                         "lines": self.jobs.interface.jobs.board.lines,
                         },
                         state=self.jobs.interface.jobs.board.blocks,
                         )
         self.quitGame()
예제 #5
0
    def saveProject(self):
        """
        Save the current project to a file.  If project has previously been saved, use
        that location.
        """

        Util.debug(2, "App.saveProject", "Saving project")
        if self.currentProjectFile != "" and QFile.exists(self.currentProjectFile):
            Save.writeProjectToFile(self, self.currentProjectFile)
        else:
            self.saveProjectAs()
예제 #6
0
 def getName(self):
     if not self.jobs.name_inputbox.update_required:
         Save.saveScore(
             {
                 "name": self.jobs.name_inputbox.value,
                 "score": self.jobs.interface.jobs.board.score,
                 "level": self.jobs.interface.jobs.board.level,
                 "lines": self.jobs.interface.jobs.board.lines,
             },
             state=self.jobs.interface.jobs.board.blocks,
         )
         self.quitGame()
예제 #7
0
파일: m.py 프로젝트: iggprt/german
def analize():
    d = Save.get_data()
    words_to_ask = Save.get_words_to_ask()
    words_done = Save.get_words_done()
    sum_to_go = 0
    sum_so_far = 0
    for line in d:
        if line[4] < len(line[5]):
            sum_to_go += len(line[5]) - line[4]
            sum_so_far += line[4]

    print "words_to_go: " + str(len(words_to_ask))
    print "words_done: " + str(len(words_done))
    print "correct guesses: " + str(sum_so_far)
    print "total guesses: " + str(sum_to_go) + "\n"
예제 #8
0
    def save(self, name):

        xlow = min(x for x, y in self.jobs.board.blocks)
        xhigh = max(x for x, y in self.jobs.board.blocks)
        ylow = min(y for x, y in self.jobs.board.blocks)
        yhigh = max(y for x, y in self.jobs.board.blocks)
        matrix = [[(x, y) in self.jobs.board.blocks
                   for x in xrange(xlow, xhigh + 1)]
                  for y in xrange(ylow, yhigh + 1)]

        Log.log("Created new tetromino, displaying below")
        Matrix.put(matrix)
        Save.saveTetromino(self.color, name, matrix)
        Shared.tetrominos = Load.loadTetrominos()

        return True
예제 #9
0
def Warn():
    city=Save.get_city()
    if city==None:
        return
    msg = []
    weather_info = weather.get_weather_info(city[1])

    if weather_info == None:
        return []
    if weather_info.today_rain and weather_info.tomorrow_rain:
        msg.append("今明两天的天气是:{weather}  出门记得带好雨伞".format(
            weather=weather_info.tomorrow_wearther))
    elif weather_info.today_rain:
        msg.append("今天的天气是{weather}  记得带好雨伞".format(
            weather=weather_info.today_weather))
    elif weather_info.tomorrow_rain:
        msg.append("明天的天气是:{weather}  记得准备好雨伞".format(
            weather=weather_info.tomorrow_wearther))
    if int(weather_info.today_max_tmp)-int(weather_info.tomorrow_max_tmp) >= 10:
        msg.append("明天的最高气温是:{tmp}℃\n寒潮来袭  记得增添衣物\n".format(
            tmp=weather_info.tomorrow_max_tmp))
    elif int(weather_info.tomorrow_max_tmp) >= 35:
        msg.append("明天的最高气温是:{tmp}℃\n气温过高  注意防暑\n".format(
            tmp=weather_info.tomorrow_max_tmp))
    if len(msg) > 0:
        Window.MessageBox(msg)
예제 #10
0
def on_message(client, userdata, msg) :
    global shutdown
    m_decode=str(msg.payload.decode("utf-8","ignore"))
    if msg.topic=="Vision/"+config["topic"]+"/Cameras/shutdown":
        shutdown=int(m_decode)
    else:
        Save.SetMetadata(json.loads(m_decode),str(msg.topic)) 
예제 #11
0
    def save(self, name):

        xlow = min(x for x, y in self.jobs.board.blocks)
        xhigh = max(x for x, y in self.jobs.board.blocks)
        ylow = min(y for x, y in self.jobs.board.blocks)
        yhigh = max(y for x, y in self.jobs.board.blocks)
        matrix = [
                [(x, y) in self.jobs.board.blocks for x in xrange(xlow, xhigh+1)]
                for y in xrange(ylow, yhigh+1)
                ]

        Log.log("Created new tetromino, displaying below")
        Matrix.put(matrix)
        Save.saveTetromino(self.color, name, matrix)
        Shared.tetrominos = Load.loadTetrominos()

        return True
예제 #12
0
def checkSecondaryMenuClick():
    global isInSecondaryMenu
    if quitRec.collidepoint(pygame.mouse.get_pos()):
        pygame.quit()
        return True
    if saveRec.collidepoint(pygame.mouse.get_pos()):
        pygame.draw.rect(window, (255, 255, 0), saveRec)
        Save.Save(player, map, playerInventory, map.index(currentRoom))
        isInSecondaryMenu = False
예제 #13
0
파일: m.py 프로젝트: iggprt/german
def search_word_ger():
    os.system('cls')
    data = Save.get_data()

    search = raw_input("Serch the word in german: ")
    for line in data:
        if search in line[7].lower():
            print line
    print "\npress any key..."
예제 #14
0
def openMenu(p, w, h):
	ar = 5
	Box = Screens.initMenu(w, h, ar)
	while True:
		Screens.printMenu(Box)
		c = (Getch.getch())
		if c == 'p':
			return
		if c == 'w' or c == 's':
			ar = Screens.updateMenu(Box, ar, c)
		if c == '\r':
			if ar == 5:
				Map.viewMap()
			elif ar == 8:
				Bag.viewBag()
			elif ar == 11:
				Skill.viewSkills(p, w, h)
			elif ar == 14:
				Equip.mountItems(p, w * 2, h)
			elif ar == 17:
				Save.confirmExit(p, w, h)
예제 #15
0
def startMenu(newGameColor, loadGameColor, hoverColor, newGameRect,
              loadGameRect):
    global stageList
    global stage
    while True:  #This loop controls the start screen

        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()
            if event.type == pygame.MOUSEBUTTONUP:
                if newGameRect.collidepoint(pygame.mouse.get_pos()):
                    stage = StageClass.Stage(gridSize)  #Initiallizing a stage
                    stage.letFill()

                    while graphicWordFinder.graphicWordFinder(
                            stage, False
                    ) == True:  #Constantly checks the generated and loaded grids to
                        #so as to avoid initial generation making words, or cheaters.
                        graphicWordFinder.graphicWordFinder(stage, False)

                    stageList = stage.getList()
                    runGame()
                if loadGameRect.collidepoint(pygame.mouse.get_pos()):
                    stage = Save.load()
                    stageList = stage.getList()
                    runGame()

        if newGameRect.collidepoint(pygame.mouse.get_pos()):
            newGameColor = hoverColor
        if loadGameRect.collidepoint(pygame.mouse.get_pos()):
            loadGameColor = hoverColor

        newGameText = font.render("New Game", True, newGameColor)
        h = newGameRect.centery
        newGameRect = newGameText.get_rect()
        newGameRect.centerx = screen.get_rect().centerx
        newGameRect.centery = h

        loadGameText = font.render("Load Game", True, loadGameColor)
        p = loadGameRect.centery
        loadGameRect = newGameText.get_rect()
        loadGameRect.centerx = screen.get_rect().centerx
        loadGameRect.centery = p

        screen.blit(background, (0, 0))

        screen.blit(newGameText, newGameRect)
        screen.blit(loadGameText, loadGameRect)

        pygame.display.update()
        newGameColor = black
        loadGameColor = black
    def CallSave(self, Unsaved):
        Save.FileSave(Unsaved)

        try:
            #Once fil has been saved we clear out the data so if we use the program again it doesn't merge the old file as well
            self.DataAndStats = None
            self.PastTrendReport = None
            self.TrendReportList = []
        except Exception as ClearData:
            print(
                "an error occured while trying to reset the data.........ERROR: {}"
                .format(ClearData))
예제 #17
0
파일: m.py 프로젝트: iggprt/german
def looking_for_key():

    os.system('cls')
    data = Save.get_data()
    words_to_ask = Save.get_words_to_ask()
    print 'due days: ' + str(d) + '\nwords to: ' + str(
        len(words_to_ask)) + '\naverage : ' + str(
            (len(data) - len(words_to_ask)) / d) + '\n'

    while True:

        if msvcrt.kbhit():
            key = msvcrt.getch()
            if key == 'q':
                print "nuuuuu.."
                flg_ex = 1
                flg_id = 0
                sys.exit()
            if key == 'a':
                print "add a word"

            if key == 'p':
                analize()

            if key == 'w':
                print "start the quiz"
                time.sleep(1)
                quiz()
            if key == 's':
                print "search a word"
                search_word_ger()
            if key == 'l':
                print "L pressed"
                #s = Save.get_words_to_ask(2)
                quiz()

    if exit_flag():
        threading.Timer(1, looking_for_key).start()
예제 #18
0
def runGame():
    global saveGameColor
    global helpColor
    while True:  #This is our main game loop
        if stage.movesRemaining <= 0:
            gameOverScreen()

        saveGameColor = black
        helpColor = black
        for event in pygame.event.get():
            if event.type == QUIT:  #So that we can exit the game by clicking the red x
                pygame.quit()
                sys.exit()

            if event.type == pygame.MOUSEBUTTONUP:  #If we click the mouse
                if event.button == 1:  #If the mouse click was a left click
                    if saveRect.collidepoint(pygame.mouse.get_pos()
                                             ):  #If we clicked on "save game"
                        Save.save(stage)
                        print('saving')
                    if helpRect.collidepoint(
                            pygame.mouse.get_pos()):  #If we click on "help"
                        helpScreen()
                    mouseClick(pygame.mouse.get_pos(
                    ))  #call the mouse click method on the coordinates
                else:
                    reset(
                    )  #We want a right click or any other kind of click to be an "undo" command
        if saveRect.collidepoint(pygame.mouse.get_pos(
        )):  #Save button should turn red when we hover over it
            saveGameColor = hoverColor
        if helpRect.collidepoint(
                pygame.mouse.get_pos()):  #Same with the help buttong
            helpColor = hoverColor

        screen.blit(background, (0, 0))  #Refresh the background image
        blitGrid()  #Refresh the grid
        pygame.display.update()  #Update the dispay
예제 #19
0
def create():
    name = input("输入事件名称:")
    info = input("输入事件信息:")
    loop = int(input("选择提醒周期  1:一次  2:每天  3:每周\n:"))
    time = Event.event_time(-1, -1, -1, -1, -1)
    print('设置提醒时间')
    if loop == 1:
        time.year = int(input('输入年份:'))
        time.month = int(input('输入月份:'))
        time.day = int(input('输入天数:'))
        time.hour = int(input('输入小时:'))
        time.minute = int(input('输入分钟:'))
    elif loop == 2:
        time.hour = int(input('输入小时:'))
        time.minute = int(input('输入分钟:'))
    elif loop == 3:
        time.weekday = int(input('输入周几:'))
        time.hour = int(input('输入小时:'))
        time.minute = int(input('输入分钟:'))
    else:
        print("无效值")
        return
    Save.add_warn(
        Event.warn_info(Event.event(name, info), loop, time, Save.get_count()))
예제 #20
0
 def load(self):
     data = IE.load()
     if data != -1:  # Si on a pas eut d'erreur
         # On arrette tout revelation des cases en cours
         self.gameOver = False
         self.stopReveal()
         self.timer.stop()
         self.active = True
         self.firstClick = False  # On ne modifie pas le champs de mine lors du premier click vu qu'on veut charger un champs de mine
         self.mf = data["mf"]
         self.timer.load(data["time"])
         self.score, self.scoreMax = data["score"]
         self.draw()
         self.mkNotif("Progress has been loaded")
     else:
         self.mkNotif("Loading error: Couldn't access data.dem", "#AA3233")
예제 #21
0
class MessageBox():
    last_thread=None  #链式的线程队列
    user_city=Save.get_city()
    if user_city==None:
        user_city=('未设置居住城市','')
        today_weather=''
    else:
        today_weather=get_weather(user_city[1])

    def __init__(self,msg):
        self.last_thread=MessageBox.last_thread
        self.current_thread=threading.Thread(target=show,args=(msg,MessageBox.today_weather,MessageBox.user_city[0]))
        MessageBox.last_thread=self.current_thread
        if self.last_thread!=None:
            self.last_thread.join()
        self.current_thread.start()
예제 #22
0
    def save(self):
        if self.gameOver:
            self.mkNotif("You cannot save when the game is over.", self.theme["Primary"]["warning"])
            return

        if self.revealLoopId == None:  # Si on est pas encore en train de reveler des cases sur le champs
            data = {"mf": self.mf,
                    "time": self.timer.save(),
                    "score": [self.score, self.scoreMax]}
            result = IE.save(data)

            if result == -1:
                self.mkNotif("An error occured while saving.", self.theme["Primary"]["warning"])
            else:
                self.mkNotif("Progress Saved.")
        else:
            self.mkNotif("Wait a bit before saving.", self.theme["Primary"]["warning"])
예제 #23
0
def get_warn_queue():
    events = Save.get_events()
    current_time = Event.get_current_time()
    warn_queue = []
    if 'once' in events:
        for i in events['once']:
            if i.warntime >= current_time:
                warn_queue.append(i)
    if 'week' in events:
        weekday = Event.calc_weekday(current_time.year, current_time.month,
                                     current_time.day)
        for i in events['week']:
            if i.warntime.weekday == weekday:
                warn_queue.append(i)
    if 'day' in events:
        warn_queue += events['day']
    warn_queue.sort(key=lambda x: (x.warntime.hour * 60 + x.warntime.minute))
    return warn_queue
예제 #24
0
def load(number):
    try:
        saveFile = io.open("Saves/save" + str(number) + ".txt",
                           "r",
                           encoding="UTF-8")
        lines = saveFile.readlines()
        saveFile.close()

        s = Save.Save(
            loadImage(number),  # image
            lines[0][0:len(lines[0]) - 1],  # type
            lines[1][0:len(lines[1]) - 1],  # scene
            int(lines[2][0:len(lines[2]) - 1]),  # line
            lines[3],  # date de creation
            number)
        return s
    except OSError:
        return None
예제 #25
0
def Photo(e, usb, token, exp):
    try:
        cam = xiapi.Camera()
        #start communication
        cam.open_device()
        img = xiapi.Image()
        #setting exposure
        if (exp == "auto"):
            cam.enable_aeag()
        else:
            cam.set_exposure(int(exp))
        #start data acquisition
        print('Starting data acquisition...\n')
        cam.start_acquisition()
        cam.set_imgdataformat('XI_RGB24')
        while e.is_set():
            if (synchronizer.Synchro(token) == 1):
                try:
                    cam.get_image(img)
                    data_num = img.get_image_data_numpy(invert_rgb_order=True)
                    filename = 'USB_%d' % (int(time.time()))
                    Save.Save(filename, data_num)
                    print("New usb image...")
                    usb["timestamp"] = str(time.gmtime().tm_year) + "-" + str(
                        time.gmtime().tm_mon) + "-" + str(
                            time.gmtime().tm_mday) + "T" + str(
                                time.gmtime().tm_hour) + ":" + str(
                                    time.gmtime().tm_min) + ":" + str(
                                        time.gmtime().tm_sec)
                    synchronizer.Update()
                    usb["acquiredImages"] = usb["acquiredImages"] + 1
                    print("token: " + str(token))
                except Exception as exc:
                    usb["error"] = str(exc)
                    synchronizer.Update()
                    #stop data acquisition
        print('Usb Cam: Stopping acquisition...')
        cam.stop_acquisition()
    except Exception as err:
        usb["error"] = str(err)
        usb["status"] = "error"
        synchronizer.removefromQueue(token)
        e.clear()
    cam.close_device()
예제 #26
0
파일: m.py 프로젝트: iggprt/german
def quiz():

    words_to_ask = Save.get_words_to_ask()
    print 'answer q to quit'
    d = Save.get_data()
    words_done = Save.get_words_done()
    sum_to_go = 0
    sum_so_far = 0
    for line in d:
        if line[4] < len(line[5]):
            sum_to_go += len(line[5]) - line[4]
            sum_so_far += line[4]

    if len(words_to_ask) == 0:
        Save.get_words_to_ask(1)

    questions = 5

    print "words_to_go: " + str(len(words_to_ask))

    print "correct guesses: " + str(sum_so_far)
    print "total guesses: " + str(sum_to_go) + "\n"

    for _ in range(questions):
        rand = int(time.time() * 100 % len(words_to_ask))
        answer = raw_input("%s = " % words_to_ask[rand][2])
        if answer == words_to_ask[rand][5].lower():
            Save.add_combos(words_to_ask[rand][0])
            print "CORECT - %s\n" % words_to_ask[rand][1]
        else:
            print "WRONG... %s - " % words_to_ask[rand][
                5] + " %s\n" % words_to_ask[rand][1]
            Save.add_wrongs(words_to_ask[rand][0])

    print 'gata'
    time.sleep(1)
예제 #27
0
 def get(self, controls, thread_num=100, host='127.0.0.1', port=6379):
     thread_pool = ThreadPoolExecutor(max_workers=thread_num)
     save = Save.Save(host, port)
     log = Log.Log()
     for control in controls:
         url = control['control_get']['url']['url']
         regular = control['control_get']['url']['regular']
         pages = control['control_get']['pages']
         sleep_time = control['control_get']['sleep_time']
         times = control['control_get']['times']
         timeout = control['control_get']['timeout']
         timeout_num = control['control_get']['timeout_num']
         control_catch = control['control_catch']
         catch = Catch.Catch(url, control_catch)
         for page in range(1, pages + 1):
             page_url = regular % (url, page)
             thread = thread_pool.submit(self.__get, catch, save, log,
                                         page_url, sleep_time, times,
                                         timeout, timeout_num)
     thread_pool.shutdown()
     save.finish()
     log.catch_redis_log(self.__num)
예제 #28
0
 def turnOff(option, options):
     options[option] = False
     Save.saveOptions()
예제 #29
0
 def turnOn(option, options):
     options[option] = True
     Save.saveOptions()
예제 #30
0
import keras
import Save
import Load
import MyUtil
import DenseModel
import ConvModel
'''
#已将数据集通过pickle打包为文件,直接load即可
Save.SaveImageAsPk('train')
Save.SaveImageAsPk('test')
Save.SaveLabelAsPk('test')
Save.SaveLabelAsPk('train')
'''

(raw_train_image, raw_train_label) = Load.load_train()
(raw_test_image, raw_test_label) = Load.load_test()

My_model = DenseModel.BuildDenseModel()
(train_image,
 train_label) = DenseModel.ProcessDataWithDense(raw_train_image,
                                                raw_train_label)
(test_image,
 test_label) = DenseModel.ProcessDataWithDense(raw_test_image, raw_test_label)
'''
My_model = ConvModel.BuildConvModel()
(train_image, train_label) = ConvModel.ProcessDataWithConv2D(raw_train_image, raw_train_label)
(test_image, test_label) = ConvModel.ProcessDataWithConv2D(raw_test_image, raw_test_label)
'''

My_model.summary()
예제 #31
0
def main(currentWorld, path, windowRect, level, background, obstacles, teleports, position, Hero, char, attack, defense, Enemy, heroSprite, enemySprites):
	leftcount = 0
	while True:
		fpsClock.tick(45)                                  # max of 45fps
		for event in pygame.event.get():
			#print event
			if event.type == QUIT: #check for quit signal and properly terminate. 
				shutdown()
				return
			if event.type == KEYDOWN: # checks for actions
				#print event.key
				if event.key == K_ESCAPE: #escape key exits
					shutdown()
					return
				elif event.key == K_l:
					Save.saveGame(currentWorld, Hero.getRect().topleft, Hero.health, Enemy.getRect().topleft, Enemy.health, Enemy.world, Enemy.old_state, Enemy.state)
				elif (event.key == K_LEFT) or (event.key == K_RIGHT) or (event.key == K_DOWN) or (event.key == K_UP):
					# Checks for arrow keys and moves the character in that direction
					Hero.start(event.key, obstacles)
					#Enemy.start(event.key, obstacles)
				else:
					k, q = 1,1 #counters
					while k == 1:
						if q == 1: #this is a way to prevent a bug where everything was being done twice causing a crash
							reader = KeyReader(event.key, window, fpsClock.tick(45))
							k, backg, track = reader.testKey(background) # from KeyReader.py
							inventory = InventoryMap(window) #initializes the inventory system
							if track == 'inventory':
								item = inventory.moveCursor(False,track)
								if item != False and item != None:
									Hero.changeSheet(os.path.join('SpriteDev','Sheets',item.rstrip())) #updates the sprite sheet to be of the character holding the weapon
									pygame.display.flip() #updates the screen
									heroSprite = pygame.sprite.RenderPlain(Hero) #renders the sprite
								break
							elif track == 'weapons':
								item = inventory.moveCursor(True,track)
								if item != False and item != None:
									Hero.changeSheet(os.path.join('SpriteDev','Sheets',item.rstrip())) #updates the sprite sheet to be of the character holding the weapon
									pygame.display.flip() #updates the screen
									heroSprite = pygame.sprite.RenderPlain(Hero) #renders the sprite
									#if item.rstrip() == "Sword.png":
									attack, defense = weaponData(item)
								break
							elif track == 'swing':
								kill = swing(Hero, attack, defense, Enemy)
								if kill == True:
									Enemy.kill(True)
									enemycollide = False
								break
							if backg != 1 and track == 'talk': #just a testing thing
								dialogueLoop(k, path) # see documentation there
								level = Level(path, windowRect) #re parses teh backround
								level.read_map() 
								background = level.render() #resets the background
								#if Hero.old_state == None:
								#	print "down"
								#	print attack 
								#elif Hero.state == 'still': #and Hero.state != None:
								#	print Hero.old_state+" old"
								#	print attack
								#else:
								#	print Hero.state+" current"
								#	print attack
							#print isinstance(k, int)
							if k == 42: #42 is the official quit signal for k
								q = 0
							elif isinstance(k, int) != True: # checks to see if k value is a code or string
								#print "break"
								break
							elif event.key == K_ESCAPE:
								shutdown() #makes sure that pressing escape quits the program
								return
							else:
								q +=1 #iterates the main loop if nothing happens
						if backg != 1:
							change_Background(backg, (0,0), True)
						if track == 'quit':
							break
						pygame.display.flip()
			elif event.type == KEYUP: #stops movement when arrow key is released
				#print Hero.state,"hero"
				Hero.stopSimple()
				#Enemy.stopSimple()
				#print Hero.state,"hero"
		herocollide = True
		if Enemy.alive() == True:
			herocollide = Enemy.check_collision(Enemy.getRect(),[Hero.getRect()])
			enemyCollide = Hero.check_collision(Hero.getRect(),[Enemy.getRect()])
		else:
			enemyCollide = False
		if herocollide != True:
			Enemy.AI(Hero.getRect().center, obstacles)
			#Enemy2.AI(Hero.getRect().center, obstacles)
		elif Enemy.alive():
			Enemy.stop(20)
			damage = .25-float(defense)
			if damage < 0:
				damage = 0 
			Hero.health -= damage
			#print "hero: %s" % Hero.health
			#print Hero.rect.size
		if leftcount == 140:
			leftcount = 0
		#if leftcount%10 == 0:
			#print Enemy.rect.center
		char.update(obstacles) #checks for collisions between sprites
		if enemyCollide != False and Enemy.alive() == True:
			#print "Here"
			Hero.stop(5)
		path_2 = Hero.check_teleport(currentWorld, teleports) #checks to see if the character has moved to a different world
		if (path_2 != path) and (path_2 != None): #if path_2 is different than the already existent one, and exists
			path = path_2 #sets path to path_2
			#print "main path:", path
			level = Level(os.path.join('conf',path), windowRect)
			level.read_map()                #redoes the level render
			currentWorld = Hero.getWorld()  #sets the current word to wherever the hero is so that background can be properly rendered
			#print currentWorld
			background = level.render() #makes the background
			char = pygame.sprite.RenderPlain(Hero) 
		teleports = [] # clears the sets
		obstacles = []
		obstacles, teleports = getTiles() # resets the tiles
		if Hero.health <= 0:
			shutdown()
		#Test = Hero.check_collision(Hero.getRect(),[Enemy.getRect()])
		#print Test
		change_Background(background, (0,0), True, char)
		updateHearts(Hero.health)
#		window.blit(background, (0,0))
#		char.draw(window)
#		pygame.display.flip()
		save = [currentWorld, Hero.getRect().topleft, Hero.health, Enemy.getRect().topleft, Enemy.health]
예제 #32
0
def handleKeyboardInput(keys, paused, enemies):  #Enemies param for testing
    mouse = False
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            quit()
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                Save.createFile()
                pygame.quit()
                quit()
            if event.key == pygame.K_w:
                keys[0] = True
                #Left
            elif event.key == pygame.K_s:
                keys[1] = True
                #Right
            if event.key == pygame.K_a:
                keys[2] = True
            elif event.key == pygame.K_d:
                keys[3] = True
            if event.key == pygame.K_1:
                keys[4] = True
            if event.key == pygame.K_2:
                keys[5] = True
            if event.key == pygame.K_3:
                keys[6] = True
            if event.key == pygame.K_RETURN:
                keys[7] = True
            if event.key == pygame.K_m:
                keys[8] = True
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_w:
                keys[0] = False
            elif event.key == pygame.K_s:
                keys[1] = False
            if event.key == pygame.K_a:
                keys[2] = False
            elif event.key == pygame.K_d:
                keys[3] = False
            if event.key == pygame.K_1:
                keys[4] = False
            if event.key == pygame.K_2:
                keys[5] = False
            if event.key == pygame.K_3:
                keys[6] = False
            if event.key == pygame.K_RETURN:
                keys[7] = False
            if event.key == pygame.K_m:
                keys[8] = False
            if event.key == pygame.K_p:  #Add pause to keys
                if not paused:
                    paused = True
                else:
                    paused = False

        if event.type == pygame.MOUSEBUTTONDOWN:
            if pygame.mouse.get_pressed()[0]:
                mouse = True

    return keys, mouse, paused
def ScoreScreen():
    #globals
    global userStart
    global scorehealth
    global scoreenemystart
    global scorebonus
    global PlayerName
    userStart = 0
    #screen setup
    pygame.display.set_caption("Halo - Chris Bonner")
    background = pygame.Surface(screen.get_size())
    background.fill((0, 0, 0))
    screen.blit(background, (0, 0))
    #sound
    sndMenu.play(-1)
    sndLaser.set_volume(0.7)
    sndRifle.set_volume(0.3)
    #picture for sprite class
    pygame.mouse.set_visible(True)
    
    try:
        startscreen = os.path.join('Sprites','startscreen.png')
        graphicname = os.path.join('Sprites','Graphic.bmp')
        mousepic = os.path.join('Sprites','mouse.bmp')
    except:
        sys.exit("could not load image files in 'Sprites' folder :-(")
        
    #sprite class
    startscreen = startscreenclass.startscreen(screen, startscreen)
    Halo = startscreenclass.HaloGraphic(screen,graphicname)
    Mouse = startscreenclass.tempMouse(screen,mousepic)
    
    #score
    score = "%s" %(scorehealth + scoreenemystart + scorebonus)
    #saving score
    HighScoreOld = []
    HighScoreOld = Save.Scores()
    HighScoreNew = []
    NameScore = []
    NameScore = Save.Names()
    a = 0
    try:
        if PlayerName == None:
            PlayerName = "Player"
    except:
        PlayerName = "Player"
        
    for (i, item) in enumerate(HighScoreOld):
        if int(item) < int(score):
            HighScoreNew.append(item)
        elif int(item) >= int(score) and a == 0:
            HighScoreNew.append(score)
            NameScore.remove(NameScore[i])
            NameScore.insert(i, PlayerName)
            a = 1
        else:
            HighScoreNew.append(item)
    Save.WriteScores(HighScoreNew)
    Save.WriteNames(NameScore)
    HighScoreNew.reverse()
    NameScore.reverse()
    #label Score
    lblScore = miniGUI.Label()
    lblScore.font =  pygame.font.SysFont(None, 50)
    lblScore.text = "Your Score %s" % score
    lblScore.center = (400,200)
    lblScore.size = (350,40)
    lblScore.bgColor = ((0x00, 0x00, 0x00))
    lblScore.fgColor = ((0xFF, 0xFF, 0xFF))

    lblHighScores = miniGUI.Label()
    lblHighScores.font =  pygame.font.SysFont(None, 50)
    lblHighScores.text = "High Scores"
    lblHighScores.center = (100,50)
    lblHighScores.size = (200,40)
    lblHighScores.bgColor = ((0x00, 0x00, 0x00))
    lblHighScores.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore1 = miniGUI.Label()
    lblScore1.font =  pygame.font.SysFont(None, 30)
    lblScore1.text = "%s" % NameScore[0] + " " +  "%s" %  HighScoreNew[0]
    lblScore1.center = (100,100)
    lblScore1.size = (150,25)
    lblScore1.bgColor = ((0x00, 0x00, 0x00))
    lblScore1.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore2 = miniGUI.Label()
    lblScore2.font =  pygame.font.SysFont(None, 30)
    lblScore2.text = "%s" % NameScore[1] + " " +  "%s" %  HighScoreNew[1]
    lblScore2.center = (100,150)
    lblScore2.size = (150,25)
    lblScore2.bgColor = ((0x00, 0x00, 0x00))
    lblScore2.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore3 = miniGUI.Label()
    lblScore3.font =  pygame.font.SysFont(None, 30)
    lblScore3.text = "%s" % NameScore[2] + " " +  "%s" %  HighScoreNew[2]
    lblScore3.center = (100,200)
    lblScore3.size = (150,25)
    lblScore3.bgColor = ((0x00, 0x00, 0x00))
    lblScore3.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore4 = miniGUI.Label()
    lblScore4.font =  pygame.font.SysFont(None, 30)
    lblScore4.text = "%s" % NameScore[3] + " " +  "%s" %  HighScoreNew[3]
    lblScore4.center = (100,250)
    lblScore4.size = (150,25)
    lblScore4.bgColor = ((0x00, 0x00, 0x00))
    lblScore4.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore5 = miniGUI.Label()
    lblScore5.font =  pygame.font.SysFont(None, 30)
    lblScore5.text = "%s" % NameScore[4] + " " +  "%s" %  HighScoreNew[4]
    lblScore5.center = (100,300)
    lblScore5.size = (150,25)
    lblScore5.bgColor = ((0x00, 0x00, 0x00))
    lblScore5.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore6 = miniGUI.Label()
    lblScore6.font =  pygame.font.SysFont(None, 30)
    lblScore6.text = "%s" % NameScore[5] + " " +  "%s" %  HighScoreNew[5]
    lblScore6.center = (100,350)
    lblScore6.size = (150,25)
    lblScore6.bgColor = ((0x00, 0x00, 0x00))
    lblScore6.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore7 = miniGUI.Label()
    lblScore7.font =  pygame.font.SysFont(None, 30)
    lblScore7.text = "%s" % NameScore[6] + " " +  "%s" %  HighScoreNew[6]
    lblScore7.center = (100,400)
    lblScore7.size = (150,25)
    lblScore7.bgColor = ((0x00, 0x00, 0x00))
    lblScore7.fgColor = ((0xFF, 0xFF, 0xFF))
    
    lblScore8 = miniGUI.Label()
    lblScore8.font =  pygame.font.SysFont(None, 30)
    lblScore8.text = "%s" % NameScore[7] + " " +  "%s" %  HighScoreNew[7]
    lblScore8.center = (100,450)
    lblScore8.size = (150,25)
    lblScore8.bgColor = ((0x00, 0x00, 0x00))
    lblScore8.fgColor = ((0xFF, 0xFF, 0xFF))

    lblScore9 = miniGUI.Label()
    lblScore9.font =  pygame.font.SysFont(None, 30)
    lblScore9.text = "%s" % NameScore[8] + " " +  "%s" %  HighScoreNew[8]
    lblScore9.center = (100,500)
    lblScore9.size = (150,25)
    lblScore9.bgColor = ((0x00, 0x00, 0x00))
    lblScore9.fgColor = ((0xFF, 0xFF, 0xFF))
    
    lblScore10 = miniGUI.Label()
    lblScore10.font =  pygame.font.SysFont(None, 30)
    lblScore10.text = "%s" % NameScore[9] + " " +  "%s" %  HighScoreNew[9]
    lblScore10.center = (100,550)
    lblScore10.size = (150,25)
    lblScore10.bgColor = ((0x00, 0x00, 0x00))
    lblScore10.fgColor = ((0xFF, 0xFF, 0xFF))
    
    #button retry
    btnRetry = miniGUI.Button()
    btnRetry.text = "Retry?"
    btnRetry.center = (400,300)
    btnRetry.size = (75,21)
    btnRetry.bgColor = (0x00,0x00,0x00)
    btnRetry.fgColor = (0xFF, 0xFF, 0xFF)

    #button Menu 
    btnMenu = miniGUI.Button()
    btnMenu.text = "Main Menu"
    btnMenu.center = (400, 350)
    btnMenu.size = (120,21)
    btnMenu.bgColor = (0x00,0x00,0x00)
    btnMenu.fgColor = (0xFF,0xff,0xff)
    
    #button Exit
    btnExit = miniGUI.Button()
    btnExit.text = "Exit"
    btnExit.center = (400,400)
    btnExit.size = (50,21)
    btnExit.bgColor = (0x00,0x00,0x00)
    btnExit.fgColor = (0xff,0xff,0xff)
    
    #sprite ordered update
    allsprites = pygame.sprite.OrderedUpdates(startscreen,Halo,lblScore,lblHighScores,
    lblScore1,lblScore2,lblScore3,lblScore4,lblScore5,lblScore6,lblScore7,
    lblScore8,lblScore9,lblScore10,btnRetry,btnMenu,btnExit,Mouse)
    #set clock and game loop
    clock = pygame.time.Clock()
    keepGoing = True
    while keepGoing:
        #clock ticks
        clock.tick(60)
        #mouse visibily off
        pygame.mouse.set_visible(False)
        #exit event or game start
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.display.quit()
                pygame.quit()
                sys.exit()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    Keepgoing = False
                    pygame.display.quit()
                    pygame.quit()
                    sys.exit()
            if btnRetry.active == True:
                sndMenu.stop()
                main()
            elif btnMenu.active == True:
                StartScreen()
            elif btnExit.active == True:
                Keepgoing = False
                pygame.display.quit()
                pygame.quit()
                sys.exit()
                
        #clear, updates and flip
        allsprites.clear(screen,background)
        allsprites.update()
        screen.blit(background, (0, 0))
        allsprites.draw(screen)
        pygame.display.flip()
예제 #34
0
import Save

print()
print('--SlideWord--')
select = None
while select == None:
    select = input('Start a new Game (n)' + '\n' + 'Continue from last (c)' +
                   '\n')
    if select == 'n':
        size = input("Select Grid Size: ")
        stage = StageClass.Stage(str(size))
        print()
        stage.letFill()
        print()
    elif select == 'c':
        stage = Save.load()
    else:
        print("Please print out a valid selection!" + '\n' +
              '(Look in the brackets for what to put in.)')
        select = None

while WordFinder.wordFinder(
        stage,
        False) == True:  #Constantly checks the generated and loaded grids to
    #so as to avoid initial generation making words, or cheaters.
    WordFinder.wordFinder(stage, False)
#Checks to see if the loaded or randomly made grid already had words.
#We're not letting them off easy.
stage.gridDisplay()
print("To save and quit, input 'quit' at any time!")
gameStop = None
예제 #35
0
__author__ = 'Jason'
import os
os.environ['SDL_VIDEO_CENTERED'] = '1'
import pygame

import Level
import Fighter
import Sprite
import Color
import House
import Font
import PyButton
import Weapons
import random
import Save
loadData = Save.readFile()
pygame.init()

width = Level.width + 2 * Level.offset.x
height = Level.height + 2 * Level.offset.y
print(width, height)
screenSize = (width, height)
screen = pygame.display.set_mode(screenSize)
pygame.display.set_caption("Defender v0.5")
running = True
FPS = Level.FPS
spawnCooldown = FPS * 1.8
clock = pygame.time.Clock()
pygame.mouse.set_visible(False)
pygame.mixer.music.load('res/music/menuMusic.ogg')
예제 #36
0
파일: main.py 프로젝트: iggprt/german
import Save
from datetime import date
import datetime
import time
import os

due = date(2019, 1, 31)
d = (due - date.fromtimestamp(time.time())).days

os.system('cls')

data = Save.get_data()

while True:
    os.system('cls')
    print 'due days: ' + str(d) + '\naverage : ' + str(len(data) / d) + '\n'
    option = input("Option: ")

    Save.add_combos(option)
예제 #37
0
 def turnOff(option, options):
     Log.debug(option)
     if options.get(option) != None:
         Log.warning("Turning off non-existent option: {}".format(repr(option)))
     options[option] = False
     Save.saveOptions()
예제 #38
0
def Load_level_1(screen, choice, P, Approval_SpecialDraw, Screen_Diff,
                 ScreeX):  #Creates the level
    L.Screen_DiffX = Screen_Diff[0]
    L.Screen_DiffY = Screen_Diff[1]
    if choice == "normal":
        E1 = level(20, 948, 100, 20, black)
        El = [E1]
        L.i = 0
        return El, L.i

    elif choice == "save":
        import Save
        L.El, L.EnemyGroup, PowerUpGroup = Save.Save(screen)
        L.i = 2
        return L.El, L.i, L.StarL, L.EnemyGroup, PowerUpGroup

    elif choice == "custom":
        if L.w == 0:
            Trump_Wall = level(screen, 0, 0 - Screen_DiffX, 0 - Screen_DiffY,
                               40, 1680, black, False, True, Block_Image)
            Origin_Block = level(screen, 0, -1 - Screen_DiffX,
                                 0 - Screen_DiffY, 1, 1, white, True)
            L.Done = level(screen, 0, 1480 - Screen_DiffX, 940 - Screen_DiffY,
                           200, 40, green, True)
            E1 = level(screen, 0, OPS.width / 2, 948 - Screen_DiffY, 100, 20,
                       black, True)
            L.El.append(L.Done)
            L.El.append(E1)
            L.El.append(Origin_Block)
            L.El.append(Trump_Wall)
            L.w = 1
            #for i in range(0, random.randint(2,12)):
            #    print("Haga: ", i)
            #    L.Star[i]=SC.Points(screen)
            #    L.StarL.append(L.Star[i])
        if pygame.mouse.get_pressed()[0] == True:  #Left Click and drag to draw
            if L.id == 0:
                L.x, L.y = pygame.mouse.get_pos()
                print(L.x)
                print(L.y)
                L.j = 1
                L.id = 1
        if pygame.mouse.get_pressed()[2] == True:  #Left Click and drag to draw
            if L.id == 1:
                E = {}
                L.x1, L.y1 = pygame.mouse.get_pos()
                if L.x > L.x1:
                    Tx = L.x
                    L.x = L.x1
                    L.x1 = Tx
                if L.y > L.y1:
                    Ty = L.y
                    L.y = L.y1
                    L.y1 = Ty
                print(L.x1)
                print(L.y1)
                PrevX1 = L.x1
                width = L.x1 - L.x
                height = L.y1 - L.y
                E[L.st] = level(screen, PrevX1, L.x - ScreeX, L.y, width,
                                height, black, True)
                L.El.append(E[L.st])
                L.st += 1
                L.j == 2
                L.id = 0
                if random.randint(0, 100) < 20:
                    Double = {}
                    Double[L.st] = C.Power_Ups(rand.Randomize("Power_Ups"),
                                               random.randint(L.x, L.x1),
                                               L.y - 33)
                    Double[L.st].Hitbox(screen)
                    L.Power_UpsGroup.append(Double[L.st])

        if pygame.mouse.get_pressed(
        )[1] == True and L.Cant_Enemy == False:  #Middle click to create enemies
            L.x1, L.y1 = pygame.mouse.get_pos()
            Enemy = {}
            Enemy[L.StEnemy] = SC.Enemy(L.x1, L.y1)
            Enemy[L.StEnemy].Hitbox(screen)
            L.EnemyGroup.append(Enemy[L.StEnemy])
            L.StEnemy += 1
            L.T1 = time.clock()
            L.Cant_Enemy = True
        if time.clock() - L.T1 > 0.25:
            L.Cant_Enemy = False
        if len(L.El) > 1000:
            L.i = 0
            L.El.remove(L.Done)
        if L.j == 2:
            L.j == 0
        if L.x > 1480 and L.x < 1720 and L.y > 940 and L.y < 1020:
            L.i = 2
            L.El.remove(L.Done)
        return L.El, L.i, L.StarL, L.EnemyGroup, L.Power_UpsGroup
예제 #39
0
					level.read_map()
					background = level.render()
					window.blit(background, (0,0))
					obstacles, teleports = getTiles()
					pygame.display.flip()
					position = getCharacter()
					Hero = Sprite.Sprite(position, obstacles, os.path.join('SpriteDev','Sheets','spritesheet1.png'),(os.path.join('SpriteDev','UpStill.png'),os.path.join('SpriteDev','RightStill.png'),os.path.join('SpriteDev','DownStill.png'),os.path.join('SpriteDev','LeftStill.png')), True)
					Enemy = Enemies.Enemy((400,500), obstacles, os.path.join('SpriteDev','Sheets','enemysheet.png'),(os.path.join('SpriteDev','EnemyUpStill.png'),os.path.join('SpriteDev','EnemyRightStill.png'),os.path.join('SpriteDev','EnemyDownStill.png'),os.path.join('SpriteDev','EnemyLeftStill.png')), currentWorld, True)
					char = pygame.sprite.RenderPlain(Hero, Enemy)
					heroSprite = pygame.sprite.RenderPlain(Hero)
					enemySprites = pygame.sprite.RenderPlain(Enemy)
					h = 0
					main(currentWorld, path, windowRect, level, background, obstacles, teleports, position, Hero, char, attack, defense, Enemy, heroSprite, enemySprites)
				if ButtonRect2.collidepoint(event.pos) == True:
					save = []
					save = Save.loadGame(window)
					currentWorld, heroPos, heroHealth, enemyPos, enemyHealth, enemyWorld, oldstate, newstate = save
					attack = 1
					defense = 0
					if currentWorld!='Home' and currentWorld!='H':
						currentWorldPath="World"+str(currentWorld)+".map"
					else:
						currentWorldPath='levelmap'
					path = os.path.join('conf',currentWorldPath)
					itemPath = 'ItemData'
					windowRect = window.get_rect()
					level = Level(path, windowRect)
					level.read_map()
					background = level.render()
					window.blit(background, (0,0))
					heroPos = heroPos.strip(")")
예제 #40
0
def run(data, param):
    Save.run(data, param)
    print "Goodbye."
    exit()