Beispiel #1
0
def think(dt, events, kpress, mpos):
	global alpha, playing
	playing = bool(hud.dialoguebox)
	if playing:
		alpha = min(1 * dt + alpha, 1)
	else:
		alpha -= 1 * dt
		if alpha <= 0:
			state.init()
			scene.swap(scenes.game)
			return
	sound.setvolume(alpha)

	if kpress[K_ESCAPE]:
		playing = False

	for event in events:
		if event.type == MOUSEBUTTONDOWN:
			if event.button == 1:
				hud.dialoguebox.settext(lines.pop(0) if lines else None)
		if event.type == KEYDOWN and event.key == K_SPACE:
			hud.dialoguebox.settext(lines.pop(0) if lines else None)
		if event.type == KEYDOWN and event.key == K_ESCAPE:
			hud.dialoguebox.settext()
		if event.type == KEYDOWN and event.key == K_F12:
			graphics.screenshot()

	dx, dy, dr, dA = -0.02 * dt, -0.005 * dt, 0, 0
	camera.move(1 * dx, 1 * dy, 0.7 * dr, 0.7 * dA)
	camera.think(dt)

	hud.think(dt)
Beispiel #2
0
def take_snapshot():
    ''' Hardcoded screen snapshot '''
    global pic_index
    a = graphics.screenshot()
    filename = "c:\\Data\\Images\\unity%02d.png" % pic_index
    a.save(filename)
    pic_index = (pic_index + 1) % 100
Beispiel #3
0
 def take_screenshot(self):
     if self.running:
         ss = graphics.screenshot()
         name = os.path.join(self.dir,"mm%04d.png" % self.cnt)
         self.cnt += 1
         ss.save(name)
         self.body_text.add((u"Screenshot %s" % name) + self.NL)
         self.timer.after(self.etime,self.take_screenshot)
Beispiel #4
0
 def sendScreenshot(self):
     fn = self.getScreenshotFilename()
     shot = graphics.screenshot()
     shot.save(fn)
     note("Saved screenshot as %s" % fn)
     f = file(fn, "rb")
     self.send(NUM_SCREENSHOT_REPLY, f.read().encode("base64"))
     f.close()
Beispiel #5
0
def pantalla():
    c.rectangle([4, 147, 13, 156], 0x0000FF)
    c.rectangle([4, 149, 7, 154], 0x0000FF)
    c.rectangle([9, 149, 13, 154], 0x0000FF)
    c.line([11, 151, 11, 152], 0x0000FF)
    im = graphics.screenshot()
    name = unicode(time.strftime("%d%m%y%H%M%S", time.localtime()))
    im.save(u"C:\\Nokia\\Images\\ %s .jpg" % name)
    hvgjbgif()
Beispiel #6
0
def hide():
    global ss
    import laa
    laa.execute(0x102750f0)
    laa.execute(0x101fd64c)
    ao_sleep(0)
    ss = screenshot()
    ao_sleep(0)
    del laa
Beispiel #7
0
 def snap(self):
 #def snap(self):
     """ send a snapshot of the phone screen to PC push which displays it """
     if self.snapping:
         self.redo = True
         return
     self.snapping = True
     # grab a snapshot, store to file
     filename = os.path.join( os.getcwd(), 'snap.jpg' )
     graphics.screenshot().save( filename )
     # send the file to PC
     self.server.send( 'snap snapshot' )
     self.server.send_file( filename )
     while self.redo:
         self.redo = False
         graphics.screenshot().save( filename )
         # send the file to PC
         self.server.send( 'snap snapshot' )
         self.server.send_file( filename )
     # clean up
     #os.remove( filename )
     self.snapping = False
def chat_client():
    conn = socket.socket(socket.AF_BT, socket.SOCK_STREAM)
    address, services = socket.bt_discover()
    print  services
    channel = services["COM11"]
    conn.connect((address, channel))
    print "Connected to server!"
    conn.send("hello")
    while 1:
        img=graphics.screenshot()
        img.save("d:\\t.png")
        t=open("d:\\t.png","rb").read()
        out=zlib.compress(t,zlib.Z_BEST_COMPRESSION)
        conn.send("010203".decode("hex")+out+"040506".decode("hex"))
        time.sleep(0)
Beispiel #9
0
def think(dt, events, kpress, mpos):

	global alpha
	if playing:
		alpha = min(2 * dt + alpha, 1)
	else:
		alpha -= 2 * dt
		if alpha <= 0:
			if selected is None:
				scene.pop()
			else:
				scene.push(scenes.dialogue)
			return
	sound.setvolume(alpha)

	if kpress[K_ESCAPE]:
		scene.pop()

	for event in events:
		if event.type == MOUSEBUTTONDOWN and event.button == 1:
			px, py = mpos
			if hud.click((px, settings.sy - py)):
				continue
		if event.type == KEYDOWN and event.key == K_CAPSLOCK:
			settings.swaparrows = not settings.swaparrows
		if event.type == KEYDOWN and event.key == K_F12:
			graphics.screenshot()

	dx, dy, dr, dA = -0.02 * dt, -0.005 * dt, 0, 0
	camera.move(1 * dx, 1 * dy, 0.7 * dr, 0.7 * dA)
	camera.think(dt)

	px, py = mpos
	hud.point((px, settings.sy - py))

	hud.think(dt)
Beispiel #10
0
def tWrap(t,w=None,f=("normal",15)):
    import graphics
    import sysinfo
    if w==None:
        w=sysinfo.display_pixels()[0]
    img=graphics.screenshot()
    mt=lambda x,s=f,m=-1:\
    img.measure_text(x,font=s,maxwidth=m)
    t=t.replace("\r\n","\n").replace("\r","\n").split("\n")
    (sub,length)=([],0)
    for i in xrange(len(t)):
        if t[i]=="\n" or mt(t[i])[1]<=w:
            sub.append(t[i])
            continue
        while True:
            st=t[i][:mt(t[i],m=w)[2]-length]
            if mt(st,m=w)[1]<=w:
                sub.append(st)
                t[i]=t[i][len(st):]
                length=0
                if not t[i]:break
            else:length+=1
    del graphics,sysinfo
    return sub
def tWrap(t,w=None,f=("normal",15)):
    import graphics
    import sysinfo
    if w==None:
        w=sysinfo.display_pixels()[0]
    img=graphics.screenshot()
    mt=lambda x,s=f,m=-1:\
    img.measure_text(x,font=s,maxwidth=m)
    t=t.replace("\r\n","\n").replace("\r","\n").split("\n")
    (sub,length)=([],0)
    for i in xrange(len(t)):
        if t[i]=="\n" or mt(t[i])[1]<=w:
            sub.append(t[i])
            continue
        while True:
            st=t[i][:mt(t[i],m=w)[2]-length]
            if mt(st,m=w)[1]<=w:
                sub.append(st)
                t[i]=t[i][len(st):]
                length=0
                if not t[i]:break
            else:length+=1
    del graphics,sysinfo
    return sub
Beispiel #12
0
    def checkKeys(self):
        mode, location = globs.location.split('.')
        if mode == "menu":
            location = globs.menus[location]
        elif mode == "game":
            location = globs.currentgame

        # General

        # What escape does in different locations
        if self.keydown(pygame.K_ESCAPE):
            if globs.focused:
                globs.focused.unfocus()
            else:
                if mode == "game":
                    globs.currentgame.systemMenu.toggle()
                elif mode == "menu" and location.__class__.__name__ != "MainMenu":
                    location.backButton.clicked()
                elif mode == "menu":
                    globs.running = False
        # Screenshot
        if self.keydown(pygame.K_F12):
            graphics.screenshot()

        for event in self.events:
            if event.type == pygame.MOUSEBUTTONUP:
                #print(event.dict['pos'])
                X, Y = event.dict['pos']
                buttonlist = pygame.sprite.Group()
                if mode == "menu":
                    buttonlist.add(location.buttons)
                elif mode == "game":
                    print(event.button)
                    if event.button == 1:
                        buttonlist.add(location.buttons)
                        if not globs.focused:
                            globs.character.weapon.unattack()
                        buttonlist.add(globs.currentgame.clickableEntities)
                    elif event.button == 3:
                        for sprite in globs.currentgame.living_entities:
                            if sprite != globs.character:
                                if sprite.rect.collidepoint(X+globs.cameraX, Y+globs.cameraY):
                                    print(sprite)
                                    globs.currentgame.target = sprite
                for button in buttonlist:
                    #print("{} on {}".format(button, ("{}, {}".format(button.X, button.Y))))
                    if button.rect.collidepoint(X, Y):
                    #if button.X <= X and button.X+button.image.get_width() >= X and button.Y <= Y and button.Y+button.image.get_height() >= Y:
                        button.clicked()
            if event.type == pygame.MOUSEMOTION:
                pass

        # If something is focused
        if globs.focused:
            #print(globs.focused.__class__.__name__)
            # If a textbox is focused
            if globs.focused.__class__.__name__ in ['InputBox', 'ChatInputBox']:
                self.textBoxInput()

        # In Game
        elif mode == 'game':
            if self.newly_pressed[pygame.K_q] and self.keyup(pygame.K_q):
                # Equip/unequip weapon
                if globs.character.weapon != None and globs.character.weapon.equipped:
                    globs.character.weapon.unequip()
                else:
                    globs.character.weapon.equip()
            if self.newly_pressed[pygame.K_w]:
                # entityAction
                globs.character.worldAction()

            if self.newly_pressed[pygame.K_RETURN]:
                if self.keydown(pygame.K_RETURN):
                    globs.currentgame.chatInputBox.clicked()

            if pygame.mouse.get_pressed()[0]:
                globs.character.weapon.attack()


            # Movement
            force = 25
            if self.pressed[pygame.K_SPACE]:
                # Jump
                globs.character.jump()
            if self.pressed[pygame.K_w]:
                # Up (Climb)
                globs.character.climb()
            if self.pressed[pygame.K_s]:
                # Down
                pass
            if self.pressed[pygame.K_a]:
                # Left
                globs.character.run("left")
            if self.pressed[pygame.K_d]:
                # Right
                globs.character.run("right")
            if self.pressed[pygame.K_LSHIFT]:
                globs.character.sprint()
Beispiel #13
0
def screenshot():
	img = graphics.screenshot()
	imgName = u"E:\\Images\\Screenshot" + str(int(time.time)) + ".png"
	img.save(imgName)
Beispiel #14
0
def wybierz():
    global lista
    global listbox
    global li
    global screen
    global img
    global ustaw
    global ekran
    global mp3
    global sciezkaplik
    global ladow
    global sck
    global pb
    mp3 = 0
    sciezkaplik = sck
    index = listbox.current()
    appuifw.app.body = listbox = appuifw.Listbox(
        [(u'Beeper 6.00', u'symbian-freak.com')], ukryj)
    if int(ustaw[45:48]) <> 0: screen.hide()
    if lista[index][0] == u'General Options':
        k = 1
        while (k > 0):
            k = appuifw.popup_menu([
                u'Alert sound', u'Alert volume', u'Hour alert range',
                u'Text style', u'Bar info', u'Startup appearance'
            ], u'General Options')
            if k == 1:
                q = appuifw.popup_menu(
                    [u'100%', u'75%', u'50%', u'25%', u'Silent'],
                    u'Alert volume')
                if q <> None:
                    ustaw = ustaw[0:36] + '%03d' % (100 -
                                                    (q * 25)) + ustaw[39:57]
            elif k == 2:
                q = appuifw.query(u'Begin (0-23)', 'number', int(ustaw[39:42]))
                if (q <> None) and (q < 24):
                    ustaw = ustaw[0:39] + '%03d' % q + ustaw[42:57]
                    q = appuifw.query(u'End (0-23)', 'number',
                                      int(ustaw[42:45]))
                    if (q <> None) and (q < 24):
                        ustaw = ustaw[0:42] + '%03d' % q + ustaw[45:57]
            elif k == 3:
                q = appuifw.popup_menu(
                    [u'Normal', u'Bold', u'Normal italic', u'Bold italic'],
                    u'Text style')
                if q <> None:
                    ustaw = ustaw[0:45] + '%03d' % (
                        q + (10 * (int(ustaw[45:48]) / 10))) + ustaw[48:57]
            elif k == 4:
                q = appuifw.popup_menu(
                    [u'None', u'Time', u'Date', u'Ram', u'Signal', u'Battery'],
                    u'Bar info')
                if q <> None:
                    ustaw = ustaw[0:45] + '%03d' % (
                        (q * 10) + (int(ustaw[45:48]) % 10)) + ustaw[48:57]
            elif k == 5:
                q = appuifw.popup_menu(
                    [u'Show after startup', u'Hide after startup'],
                    u'Startup appearance')
                if q <> None: ustaw = ustaw[0:48] + '%03d' % q + ustaw[51:57]
    elif lista[index][0] == u'Bar Face':
        k = 0
        while k is not None:
            k = appuifw.popup_menu(
                [u'Bar size', u'Bar position', u'Text position'], u'Bar Face')
            if k == 0:
                q = appuifw.query(u'Value X', 'number', int(ustaw[0:3]))
                if (q <> None) and (q < 353):
                    ustaw = '%03d' % q + ustaw[3:57]
                    q = appuifw.query(u'Value Y', 'number', int(ustaw[3:6]))
                    if (q <> None) and (q < 417):
                        ustaw = ustaw[0:3] + '%03d' % q + ustaw[6:57]
            if k == 1:
                q = appuifw.query(u'Value X', 'number', int(ustaw[6:9]))
                if (q <> None) and (q < 353):
                    ustaw = ustaw[0:6] + '%03d' % q + ustaw[9:57]
                    q = appuifw.query(u'Value Y', 'number', int(ustaw[9:12]))
                    if (q <> None) and (q < 417):
                        ustaw = ustaw[0:9] + '%03d' % q + ustaw[12:57]
            if k == 2:
                q = appuifw.query(u'Value X', 'number', int(ustaw[12:15]))
                if (q <> None) and (q < 353):
                    ustaw = ustaw[0:12] + '%03d' % q + ustaw[15:57]
                    q = appuifw.query(u'Value Y', 'number', int(ustaw[15:18]))
                    if (q <> None) and (q < 417):
                        ustaw = ustaw[0:15] + '%03d' % q + ustaw[18:57]
    elif lista[index][0] == u'Bar Color':
        k = 0
        while k is not None:
            k = appuifw.popup_menu([u'Bar color', u'Text color'], u'Bar Color')
            if k == 0:
                q = appuifw.query(u'Value R (0-256) (888)', 'number',
                                  int(ustaw[18:21]))
                if q == 888:
                    ustaw = ustaw[0:18] + '888000000' + ustaw[27:57]
                    ima.blit(graphics.screenshot(),
                             ((int(ustaw[6:9]), int(ustaw[9:12])),
                              (int(ustaw[6:9]) + int(ustaw[0:3]),
                               int(ustaw[9:12]) + int(ustaw[3:6]))))
                else:
                    if (q <> None) and (q < 256):
                        ustaw = ustaw[0:18] + '%03d' % q + ustaw[21:57]
                        q = appuifw.query(u'Value G (0-256)', 'number',
                                          int(ustaw[21:24]))
                        if (q <> None) and (q < 257):
                            ustaw = ustaw[0:21] + '%03d' % q + ustaw[24:57]
                            q = appuifw.query(u'Value B (0-256)', 'number',
                                              int(ustaw[24:27]))
                            if (q <> None) and (q < 257):
                                ustaw = ustaw[0:24] + '%03d' % q + ustaw[27:57]
            elif k == 1:
                q = appuifw.query(u'Value R (0-255)', 'number',
                                  int(ustaw[27:30]))
                if (q <> None) and (q < 256):
                    ustaw = ustaw[0:27] + '%03d' % q + ustaw[30:57]
                    q = appuifw.query(u'Value G (0-255)', 'number',
                                      int(ustaw[30:33]))
                    if (q <> None) and (q < 256):
                        ustaw = ustaw[0:30] + '%03d' % q + ustaw[33:57]
                        q = appuifw.query(u'Value B (0-255)', 'number',
                                          int(ustaw[33:36]))
                        if (q <> None) and (q < 256):
                            ustaw = ustaw[0:33] + '%03d' % q + ustaw[36:57]
    elif lista[index][0] == u'Extras':
        p = 0
        while p is not None:
            p = appuifw.popup_menu([
                u'Test alarm', u'Highlight screen', u'Battery charge',
                u'Restart phone', u'Export sms', u'Program starter',
                u'Call recorder'
            ], u'Extras')
            if p == 0:
                try:
                    if os.path.isdir(sciezkaplik):
                        q = appuifw.query(u'Sound file (0-24)', 'number', 0)
                        mp3 = audio.Sound.open(
                            unicode(sciezkaplik + '\\' + str('%02d' % q) +
                                    '.mp3'))
                    else:
                        mp3 = audio.Sound.open(unicode(sciezkaplik))
                    mp3.play()
                    audio.Sound.set_volume(
                        mp3,
                        int(
                            audio.Sound.max_volume(mp3) *
                            (float(int(ustaw[36:39])) / float(100))))
                except:
                    pass
                try:
                    miso.vibrate(500, 100)
                except:
                    pass
            elif p == 1:
                if ekran > 0: ekran = 0
                else: ekran = 1
                p = None
            elif p == 2:
                if ladow > 0: ladow = 0
                else: ladow = 1
                p = None
            elif p == 3:
                if appuifw.query(u'Restart phone now ?', 'query') == True:
                    e32.start_exe(u'z:\\sys\\bin\\starter.exe', '')
            elif p == 4:
                lista = [(u'Please wait', u'')]
                appuifw.app.body = listbox = appuifw.Listbox(lista, nic)
                index = 0
                tx = appuifw.Text()
                inb = inbox.Inbox()
                msgs = inb.sms_messages()
                tx.clear()
                for msg in msgs:
                    mies = time.strftime('%m', time.localtime(inb.time(msg)))
                    dz = time.strftime('%d', time.localtime(inb.time(msg)))
                    rok = time.strftime('%Y', time.localtime(inb.time(msg)))
                    czas = time.strftime('%H:%M:%S',
                                         time.localtime(inb.time(msg)))
                    tx.add(u'Sender: ')
                    tx.add(unicode(inb.address(msg)))
                    tx.add(u'\n')
                    tx.add(u'Date: ')
                    tx.add(unicode(dz + '.' + mies + '.' + rok))
                    tx.add(u'\n')
                    tx.add(u'Time: ')
                    tx.add(unicode(czas))
                    tx.add(u'\n')
                    tx.add(unicode(inb.content(msg)))
                    tx.add(u'\n')
                    tx.add(u'\n')
                if len(tx.get()) == 0:
                    tx.add(u'None message')
                    tx.add(u'\n')
                (rok, mies, dz, godz, min, x, x, x, x) = time.localtime()
                rok = str(rok)[2:4]
                mies = '%02d' % (mies)
                dz = '%02d' % (dz)
                godz = '%02d' % (godz)
                min = '%02d' % (min)
                appuifw.app.body = listbox = appuifw.Listbox(
                    [(u'Beeper 6.00', u'symbian-freak.com')], nic)
                q = appuifw.query(
                    u'C:\\Data\\', 'text',
                    unicode(rok + mies + dz + godz + min + '.txt'))
                if q is not None:
                    k = tx.get()
                    try:
                        f = open('c:\\data\\' + q, 'w')
                        k = k.replace(unichr(8233), unichr(13) + unichr(10))
                        f.write(k.encode('utf-16'))
                        f.close()
                    except:
                        appuifw.note(u'Error', 'error')
                    else:
                        if appuifw.query(u'Open file now ?', 'query') == True:
                            appuifw.Content_handler().open_standalone(
                                'c:\\data\\' + q)
            elif p == 5:
                q = 0
                while q <> None:
                    q = appuifw.popup_menu([
                        u'Program ' + unicode(pb), u'Time ' +
                        unicode(ustaw[51:53]) + u':' + unicode(ustaw[53:55])
                    ], u'Program starter')
                    if q == 0:
                        k = appuifw.popup_menu(ppb, u'Program')
                        if k is not None:
                            if k <> 2: pb = ppb[k]
                            else:
                                k = appuifw.query(u'X:\\Sys\\Bin\\', 'text',
                                                  u'program.exe')
                                if k is not None:
                                    if len(k) > 4:
                                        if k[len(k) - 4:] == '.exe':
                                            pb = k[:len(k) - 4]
                    if q == 1:
                        k = appuifw.query(
                            u'Time', 'time',
                            float(
                                int(ustaw[51:53]) * 3600 +
                                int(ustaw[53:55]) * 60))
                        if k is not None:
                            ustaw = ustaw[0:51] + str(
                                '%02d' % (k // 3600)) + str('%02d' % ((k - (
                                    (k // 3600) * 3600)) // 60)) + ustaw[55:57]
            elif p == 6:
                q = 0
                while q <> None:
                    q = appuifw.popup_menu([
                        unicode(u'File path ' + fpp[int(ustaw[56:57])]),
                        unicode('File format ' + aww[int(ustaw[55:56])])
                    ], u'Call recorder')
                    if q == 0:
                        k = appuifw.popup_menu(fpp, u'File path')
                        if k is not None: ustaw = ustaw[0:56] + str(k)
                    if q == 1:
                        k = appuifw.popup_menu(aww, u'File format')
                        if k is not None:
                            ustaw = ustaw[0:55] + str(k) + ustaw[56:57]
    screen = TopWindow.TopWindow()
    screen.size = (int(ustaw[0:3]), int(ustaw[3:6]))
    screen._set_position((int(ustaw[6:9]), int(ustaw[9:12])))
    screen.add_image(img, (0, 0))
    if (lista[index][0] == u'General Options') and (k == 0):
        lista = [u'..']
        listbox = appuifw.Listbox(lista, pozycja)
        sck = sciezkaplik
        pozycja()
    else:
        try:
            xt = str(ustaw) + chr(10) + str(sciezkaplik) + chr(10) + str(pb)
            dat = open('c:\\system\\Beeper.data', 'w')
            dat.write(xt)
            dat.close()
        except:
            pass
        xt = 0
        li = 0
        lista = [
            (u'General Options', u'(' + str(int(ustaw[36:39])) + ') (' +
             str(int(ustaw[39:42])) + ',' + str(int(ustaw[42:45])) + ') (' +
             str(1 + int(ustaw[45:48]) % 10) + ') (' +
             str(1 + int(ustaw[45:48]) / 10) + ') (' +
             str(1 + int(ustaw[48:51])) + ')'),
            (u'Bar Face',
             u'(' + str(int(ustaw[0:3])) + ',' + str(int(ustaw[3:6])) + ') (' +
             str(int(ustaw[6:9])) + ',' + str(int(ustaw[9:12])) + ') (' +
             str(int(ustaw[12:15])) + ',' + str(int(ustaw[15:18])) + ')'),
            (u'Bar Color', u'(' + str(int(ustaw[18:21])) + ',' +
             str(int(ustaw[21:24])) + ',' + str(int(ustaw[24:27])) + ') (' +
             str(int(ustaw[27:30])) + ',' + str(int(ustaw[30:33])) + ',' +
             str(int(ustaw[33:36])) + ')'),
            (u'Extras', u'(Additional Functions)')
        ]
        appuifw.app.body = listbox = appuifw.Listbox(lista, wybierz)
        appuifw.app.menu = [(u'Hide program', ukryj), (u'About', prog)]
        appuifw.app.exit_key_handler = koniec
        if int(ustaw[45:48]) <> 0: screen.show()
Beispiel #15
0
except:
    try:
        dat.close()
    except:
        pass
    ustaw = u'060015000000001012000000000255255255100006022010000060002'
    sck = sciezkaplik = ''
    pb = ppb[3]
xt = 0
sck = sciezkaplik = sck.replace(chr(10), '')
if int(ustaw[48:51]) == 1: ukryj()
screen = TopWindow.TopWindow()
img = graphics.Image.new((int(ustaw[0:3]), int(ustaw[3:6])))
ima = graphics.Image.new((int(ustaw[0:3]), int(ustaw[3:6])))
if int(ustaw[18:21]) == 888:
    ima.blit(graphics.screenshot(), ((int(ustaw[6:9]), int(ustaw[9:12])),
                                     (int(ustaw[6:9]) + int(ustaw[0:3]),
                                      int(ustaw[9:12]) + int(ustaw[3:6]))))


def wybierz():
    global lista
    global listbox
    global li
    global screen
    global img
    global ustaw
    global ekran
    global mp3
    global sciezkaplik
    global ladow
Beispiel #16
0
    reg = re.findall(r'(?<=class\=bld\>).+?(?=\&nbsp\;)', htmlstr)
    reg = reg[0]


def quit():
    global running
    running = 0


appuifw.app.body = m = appuifw.Canvas()
appuifw.app.exit_key_handler = quit
appuifw.app.title = cn("汇率查看")
appuifw.app.screen = 'normal'
appuifw.app.menu = [(cn('美元'), USD), (cn('日元'), JPY), (cn('欧元'), EUR),
                    (cn('英镑'), GBP), (cn('港币'), HKD), (cn('台币'), TWD),
                    (cn('加元'), CAD), (cn('韩元'), KRW)]
img = graphics.Image.new((m.size))
while running:
    img.clear(0xaaaaaa)
    img.text((60, 40), cn('汇率查看'), 0xffffff, font=ziti)
    img.line((10, 43, 160, 43), 0xffffff)
    img.line((100, 43, 100, 110), 0xffffff)
    img.line((10, 80, 160, 80), 0xffffff)
    img.line((10, 110, 160, 110), 0xffffff)
    img.text((20, 70), cn('人民币兑') + country, 0xffffff, font=ziti)
    img.text((20, 100), country + cn('兑人民币'), 0xffffff, font=ziti)
    img.text((105, 70), cn(str(reg)[:5]), 0xffffff, font=ziti)
    img.text((105, 100), cn(str(1 / float(reg))[:5]), 0xffffff, font=ziti)
    m.blit(img)
    graphics.screenshot().save('c:\\ad.jpg')
    e32.ao_yield()
Beispiel #17
0
def screen_shot():
    ''' Take a screen snapshot '''
    if DEBUG:
        im = graphics.screenshot()
        im.save(FILE_PIC)
Beispiel #18
0
def main():
    _player_moved = False
    _refresh_map = False

    get_input()
    handle_input()

    if not LIFE[SETTINGS["controlling"]]["dead"]:
        if LIFE[SETTINGS["controlling"]]["asleep"]:
            gfx.fade_to_black(255)
            gfx.start_of_frame()
            gfx.end_of_frame()

        while LIFE[SETTINGS["controlling"]]["asleep"]:
            _played_moved = True
            _refresh_map = True

            gfx.title(LIFE[SETTINGS["controlling"]]["asleep_reason"])
            logic.tick_all_objects(ignore_tickrate=True, ignore_pause=True)

            if LIFE[SETTINGS["controlling"]]["dead"]:
                break
    else:
        _player_moved = True

    if _refresh_map:
        gfx.refresh_view("map")

    if not _player_moved:
        logic.tick_all_objects(ignore_tickrate=True)

    draw_targeting()
    move_camera(SETTINGS["camera_track"])

    # TODO: Deselect so we can get rid of this call
    if SELECTED_TILES[0]:
        gfx.refresh_view("map")

    if not SETTINGS["last_camera_pos"] == SETTINGS["camera_track"][:]:
        if EVENTS or MENUS:
            _visible_chunks = sight.scan_surroundings(LIFE[SETTINGS["following"]], judge=False, get_chunks=True)
            alife.brain.flag(LIFE[SETTINGS["following"]], "visible_chunks", value=_visible_chunks)

            _cam_x = numbers.clip(
                LIFE[SETTINGS["following"]]["pos"][0] - MAP_WINDOW_SIZE[0] / 2, 0, MAP_SIZE[0] - MAP_WINDOW_SIZE[0] / 2
            )
            _cam_y = numbers.clip(
                LIFE[SETTINGS["following"]]["pos"][1] - MAP_WINDOW_SIZE[1] / 2, 0, MAP_SIZE[1] - MAP_WINDOW_SIZE[1] / 2
            )

        else:
            _visible_chunks = sight.scan_surroundings(LIFE[SETTINGS["controlling"]], judge=False, get_chunks=True)
            alife.brain.flag(LIFE[SETTINGS["controlling"]], "visible_chunks", value=_visible_chunks)

        SETTINGS["last_camera_pos"] = SETTINGS["camera_track"][:]

    _cam_x = numbers.clip(
        LIFE[SETTINGS["controlling"]]["pos"][0] - MAP_WINDOW_SIZE[0] / 2, 0, MAP_SIZE[0] - MAP_WINDOW_SIZE[0] / 2
    )
    _cam_y = numbers.clip(
        LIFE[SETTINGS["controlling"]]["pos"][1] - MAP_WINDOW_SIZE[1] / 2, 0, MAP_SIZE[1] - MAP_WINDOW_SIZE[1] / 2
    )

    maps.render_lights()

    if "--worldmap" in sys.argv:
        render_map.render_map(WORLD_INFO["map"], force_camera_pos=(_cam_x, _cam_y, 2))
    else:
        render_map.render_map(
            WORLD_INFO["map"], los=LIFE[SETTINGS["controlling"]]["fov"], force_camera_pos=(_cam_x, _cam_y, 2)
        )

    items.draw_items()
    life.draw_life()

    if LIFE[SETTINGS["controlling"]]["dead"] and not EVENTS:
        if not death():
            return False

    if SETTINGS["draw life info"] and SETTINGS["following"]:
        life.draw_life_info()

    gfx.draw_message_box()

    menus.align_menus()
    menus.draw_menus()

    gfx.draw_status_line()
    gfx.draw_console()
    gfx.start_of_frame()
    gfx.end_of_frame()

    if "--fps" in sys.argv:
        print tcod.sys_get_fps()

    if (SETTINGS["recording"] and logic.can_tick()) or "--worldmap" in sys.argv:
        gfx.screenshot()

        if "--worldmap" in sys.argv:
            SETTINGS["running"] = False
Beispiel #19
0
 def readline(self):
     #print >> self.server.orig_stdout, 'calling readline'
     if self.readbuf:
         # if buffer has content, return it (and clear)
         buf, self.readbuf = self.readbuf[:], []
         return buf
     # else read the next line
     line = self.server.readline().rstrip()
     #print >> self.server.orig_stdout, 'line:', line        
     # parse the command, this is connected to PC shell
     # interface that sends commands
     head = line.split( ' ', 1 )[0]
     if head == 'cmdline':
         #return self.server.recv_data()
         line = self.server.recv_pyobj()
         head = line.split( ' ', 1 )[0]
         if head in pushlib.__all__:
             self.server.interpreter.runsource( 'pushlib.%s( "%s" )' % (head, line) )
             return ''
         else:
             return line            
     elif head == 'quit':
         self.server.quit()
         return ''
     elif head == 'reset':
         self.server.reset()
         return self.readline()
     elif head == 'sync':
         self.synchronize()
         return self.readline()
     elif head == 'syncl':
         self.synchronize( with_reload = True )
         return self.readline()
     elif head == 'snapshot':
         # grab a snapshot, store to file
         filename = os.path.join( os.getcwd(), 'snap.jpg' )
         graphics.screenshot().save( filename )
         # send the file to PC
         self.server.send_file( filename )
         # clean up
         os.remove( filename )
         # phone end just continues reading input...
         return self.readline()
     elif head == 'view':
         # use the first matching filename
         for filename in glob.glob( line.split( ' ' )[1] ):
             if ( os.path.splitext( filename )[1].lower() in ['.jpg', '.png']
                  and
                  os.path.isfile( filename ) ):
                 # tell it was OK, send the file
                 self.server.send( '1' )
                 self.server.send( filename )
                 self.server.send_file( filename )
                 return self.readline()
         # did not find a single matching image
         self.server.send( '0' )
         # phone end just continues reading input...
         return self.readline()
     elif head == 'runstartup':
         STARTUPFILE='c:\\startup.py'
         if os.path.exists( STARTUPFILE ):
             self.server.send( 'output', 'Running %s...' % STARTUPFILE )
             self.server.interpreter.runsource( 'execfile( "%s", globals(), locals() )' % STARTUPFILE )
         return ''
     return line
Beispiel #20
0
# Copyright (c) 2005 Nokia Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import graphics

picture = graphics.screenshot()
picture.save(u'screen.jpg')
print "screenshot written"
Beispiel #21
0
def screen_shot():
    ''' Take a screen snapshot '''
    if DEBUG:
        im = graphics.screenshot()
        im.save(FILE_PIC)
Beispiel #22
0
def USD():
    global country
    country = cn('美元')
    graphics.screenshot().save('c:\\ada.jpg')
    join('USD')
    convert()
Beispiel #23
0
import graphics, appuifw


def m(x):
    return x.decode('utf-8')


img = graphics.screenshot()
#截图
img.save('e:\\screenshot.jpg')
#将所截图像保存起来
appuifw.note(m('截图成功'), 'conf')
class Engine:
    """Main class containing most of functions and variables"""
    # almost all fields of class Engine:
    # screensize, screenaspect
    running = 0  # 0-game not initialized or error happened, 1-game is running
    delay = 1.0  # pause between figure falls one more cube down
    canvas = None  # canvas for drawing
    #minx, maxx = -3, 3 # min and max coordinates for points
    #miny, maxy = -3, 3 # (but cubes must have coords less than max
    #minz, maxz = 3, 13 # (as there are n-1 gaps between n points))
    #dx, dy, dz=maxx-minx+1, maxy-miny+1, maxz-minz+1 # x,y,z dimensions. But the well is (dx-1)*(dy-1)*(dz-1) cubes
    #rx, ry, rz=range(minx,maxx+1), range(miny,maxy+1), range(minz,maxz+1)
    #points=array(GL_BYTE,3,[[x,y,-z] for z in rz for y in ry for x in rx]) # z needs to be actually negative because of glFrustumpf()
    #colortable=[((random.randrange(0x100)),(random.randrange(0x100)),(random.randrange(0x100)),0xff) for i in range(dz)]
    # colortable[i]=color used for all points with coord z=i
    #colors=array(GL_UNSIGNED_BYTE,4,[colortable[i] * (dx*dy) for i in range(dz)])
    lines = None  # initialised at initgraphics() as it needs method xyz2ind()
    cubes = None  # initialised at initgame(). cubes is a list of lists of lists of bool which shows is cube free
    # Use methods isfree() and setfree() rather than field cubes
    figure = [None,
              None]  #[Figure() for i in range(2)] # falling and next figures
    score = 0
    scoretable = (1, 10, 30, 60, 100)
    exit_type = 0  # 0-exit 1-restart 2-show score

    def __init__(self):
        if self.optionsmenu():
            self.initgraphics()
            self.initgame()

    def optionsmenu(self):
        """self.optionsmenu(self)->shows self.options menu which lets user to change self.options, returns True if user presses play"""
        self.old_body = appuifw.app.body
        self.old_exit_key_handler = appuifw.app.exit_key_handler
        self.path = 'c:\\Private\\' + UID + '\\'
        self.needsave = 0

        class OptionError(Exception):
            pass

        class Option:
            keynames = {
                kc.EKeyLeftArrow: 'влево',
                kc.EKeyRightArrow: 'вправо',
                kc.EKeyUpArrow: 'вверх',
                kc.EKeyDownArrow: 'вниз',
                kc.EKeySelect: 'OK',
                kc.EKeyStar: '*',
                kc.EKeyHash: '#',
                kc.EKeyYes: 'зеленая',
                kc.EKeyNo: 'красная',
                kc.EKeyLeftSoftkey: 'левый софт',
                kc.EKeyRightSoftkey: 'правый софт',
                kc.EKeyMenu: 'меню',
                kc.EKeyBackspace: '<-',
                kc.EKeyEdit: 'карандаш',
                0: 'нет клавиши'
            }

            def __init__(self,
                         title,
                         init,
                         lst=None,
                         func=lambda self: str(self.value)):
                self.title = title
                self.value = init
                self.lst = lst
                self.f = func

            def keyname(self):
                x = self.value
                if kc.EKey0 <= x <= kc.EKey9:
                    return str(x - kc.EKey0)
                if self.keynames.has_key(x):
                    return self.keynames[x]
                else:
                    return '#' + str(x)

        def play():
            self.running = 1
            lock.signal()

        def default():
            try:
                if os.path.exists(self.path + 'config.txt'):
                    os.remove(self.path + 'config.txt')
            except OSError:
                appuifw.note(u('Не вышло'), 'error')
            else:
                self.needsave = 0
                exit(1)

        def about():
            global version
            globalui.global_msg_query(
                u('3D Тетрис\nАвтор: Elrian\nВерсия: %s\nwww.dimonvideo.ru') %
                str(version), u('Об игре'), 0)

        def thanks():
            globalui.global_msg_query(
                u('''Спасибо всем следующим людям:\n\
Elrian - куда ж без меня:)\n\
motix и vlad007700 - за дельные советы и замечания;\n\
REDNBLACK.sk, werton, K.U, Abdolban, Drfss07, keytujd, maxel85, Ithan, atrant и всем остальным (чьи ники, к сожалению, не сохранились), \
писавшим в комментариях к версиям 1.0-3.2 - за предложения и поддержку;\n\
Всем, еще напишущим в комментарии к версиям >= 4.0 - за  помощь в улучшении программы;\n\
Всем, качавшим файл с http://www.dimonvideo.ru/smart/uploader/4/208942/0/0 - за тестирование;\n\
Неизвестному программисту, еще давно написавшему 3D Tetris под DOS - за идею тетриса в 3D;\n\
DimonVideo - за замечательный сайт;\n\
Гвидо Ван Россуму - за создание языка программирования Python \
(который вообще-то читается как "пайтон" и не имеет никакого отношения к змеям, а только к шоу Monty Python’s Flying Circus);\n\
Персонально ТЕБЕ - за то, что читал все эти благодарности'''),
                u('Благодарности'), 0)

        def exit(type=0):
            self.exit_type = type
            wanttoplay = 0
            lock.signal()

        def change():
            c = self.canvas.current()
            if self.cur_tab == 0:
                if c == 0:
                    r = appuifw.query(self.options[c].title, 'float',
                                      self.options[c].value)
                    if r != None:
                        if (0 <= r < 1.5):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Скорость должна быть в пределах:\n0<=v<1.5'
                                  ), 'error')
                elif c == 1:
                    r = appuifw.query(self.options[c].title, 'number',
                                      self.options[c].value)
                    if r != None:
                        if (4 <= r <= 20) and (r % 2 == 0):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Ширина должна быть четной и в пределах:\n4<=x<=20'
                                  ), 'error')
                elif c == 2:
                    r = appuifw.query(self.options[c].title, 'number',
                                      self.options[c].value)
                    if r != None:
                        if (4 <= r <= 20) and (r % 2 == 0):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Длина должна быть четной и в пределах:\n4<=y<=20'
                                  ), 'error')
                elif c == 3:
                    r = appuifw.query(self.options[c].title, 'number',
                                      self.options[c].value)
                    if r != None:
                        if (4 <= r <= 20):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Глубина должна быть в пределах:\n4<=z<=20'),
                                'error')
            elif self.cur_tab == 1:
                appuifw.app.body = appuifw.Canvas(event_callback=catch_key)
                appuifw.app.body.clear(0)
                appuifw.app.body.text((5, 40),
                                      u('Нажми клавишу для:'),
                                      fill=0x00ff00)
                appuifw.app.body.text((40, 80),
                                      self.keyopt[c].title,
                                      fill=0xff0000)
                appuifw.app.body.text((5, 120),
                                      u('(не софткей и красную кнопку)'),
                                      fill=0x00ff00)
                appuifw.app.body.text((5, 160),
                                      u('Очистка через 3 секунды'),
                                      fill=0x00ff00)
                appuifw.app.set_tabs([], None)
                self.options[c].value = 0
                self.timer = e32.Ao_timer()
                self.timer.after(3, self.lock2.signal)
                self.lock2.wait()
                self.timer.cancel()
                appuifw.app.body = self.canvas
                appuifw.app.set_tabs(
                    [u('Игра'), u('Управление'),
                     u('Экран')], tab_cb)
                appuifw.app.activate_tab(self.cur_tab)
            elif self.cur_tab == 2:
                if c == 0:
                    orients = ['automatic', 'portrait', 'landscape']
                    r = appuifw.popup_menu([u(i) for i in self.options[c].lst],
                                           self.options[c].title)
                    if r != None:
                        try:
                            appuifw.app.orientation = orients[r]
                            self.options[c].value = r
                        except:
                            appuifw.note(
                                u('Смартфон не поддерживает смену ориентации!'
                                  ), 'error')
                elif c == 1:
                    r = appuifw.query(self.options[c].title, 'number',
                                      self.options[c].value)
                    if r != None:
                        if (0 <= r <= 255):
                            self.options[c].value = r
                        else:
                            appuifw.note(
                                u('Непрозрчачность должна быть в пределах от 0 до 255'
                                  ), 'error')
            self.needsave = 1
            self.canvas.set_list([(opt.title, u(opt.f(opt)))
                                  for opt in self.options], c)

        def catch_key(event):
            if event['type'] == appuifw.EEventKey:
                r = event['keycode']
                c = self.canvas.current()
                self.options[c].value = r
                self.lock2.signal()

        def tab_cb(n):
            self.cur_tab = n
            if n == 0:
                self.options = self.gameopt
            elif n == 1:
                self.options = self.keyopt
            elif n == 2:
                self.options = self.screenopt
            self.canvas.set_list([(opt.title, u(opt.f(opt)))
                                  for opt in self.options], 0)

        def saveoptions():
            # Why does most users have python 1.4.5? It doesn't even normally understand try-except-finally
            def x(s):
                return s.encode('utf-8')

            try:
                try:
                    f = open(self.path + 'config.txt', 'w')
                    f.write('\xef\xbb\xbf')  # BOM mark
                    f.write('3D Tetris configuration\n')
                    f.write('version/' + str(version) + '\n')
                    for opt in self.gameopt:
                        f.write('game/' + x(opt.title) + '/' + str(opt.value) +
                                '\n')
                    for opt in self.keyopt:
                        f.write('key/' + x(opt.title) + '/' + str(opt.value) +
                                '\n')
                    for opt in self.screenopt:
                        f.write('screen/' + x(opt.title) + '/' +
                                str(opt.value) + '\n')
                except:
                    appuifw.note(u('Настройки сохранить не удалось!'), 'error')
            finally:
                try:
                    f.close()
                except:
                    pass

        def loadoptions():
            # Why does most users have python 1.4.5? It doesn't even normally understand try-except-finally
            try:
                try:
                    f = open(self.path + 'config.txt', 'r')
                    s = f.readline()
                    if s[:3] == '\xef\xbb\xbf':  # BOM mark
                        s = s[3:]
                    if s != '3D Tetris configuration\n':
                        raise OptionError('Ошибка в заголовке')
                    s = f.readline()
                    if s.split('/')[0] != 'version':
                        raise OptionError('Не указана версия')
                    while 1:
                        s = f.readline()
                        if s == '':
                            break
                        else:
                            s = s[:
                                  -1]  # [:-1] is cool smile! Seriously I cut off \n
                        s = u(s)
                        p = s.split(u('/'))
                        if len(p) != 3:
                            raise OptionError('Не 2 слэша в строке')
                        if p[0] == u('game'):
                            self.options = self.gameopt
                        elif p[0] == u('key'):
                            self.options = self.keyopt
                        elif p[0] == u('screen'):
                            self.options = self.screenopt
                        else:
                            raise OptionError('Неизвестный префикс')
                        for opt in self.options:
                            if opt.title == p[1]:
                                break
                        else:
                            raise OptionError('Атрибут не найден')
                        try:
                            if p[2].find('.') == -1:
                                opt.value = int(p[2])
                            else:
                                opt.value = float(p[2])
                        except:
                            raise OptionError('Неверное значение')
                finally:
                    f.close()
            except OptionError, e:
                appuifw.note(u('Плохой файл настроек: %s\nИсправлено.' % e),
                             'conf')
                self.needsave = 1

        self.gameopt = [
            Option(u('Скорость'), 0.5),
            Option(u('Ширина'), 6),
            Option(u('Длина'), 6),
            Option(u('Глубина'), 10)
        ]

        self.keyopt = [
            Option(u('влево'), kc.EKeyLeftArrow,
                   lambda: self.figure[0].move(-1, 0, 0),
                   lambda self: self.keyname()),
            Option(u('вправо'), kc.EKeyRightArrow,
                   lambda: self.figure[0].move(1, 0, 0),
                   lambda self: self.keyname()),
            Option(u('вверх'), kc.EKeyUpArrow,
                   lambda: self.figure[0].move(0, 1, 0),
                   lambda self: self.keyname()),
            Option(u('вниз'), kc.EKeyDownArrow,
                   lambda: self.figure[0].move(0, -1, 0),
                   lambda self: self.keyname()),
            Option(u('опустить'), kc.EKeySelect,
                   lambda: self.figure[0].move(0, 0, 1),
                   lambda self: self.keyname()),
            #Option(u('скастовать магию'),     kc.EKeyBackspace, lambda:self.figure[0].move(0,0,-1),       lambda self:self.keyname()), # cheat!
            Option(u('вращать пр ч. стрелки'), kc.EKey1,
                   lambda: self.figure[0].rotate(4, 0, 2),
                   lambda self: self.keyname()),
            Option(u('вращать по ч. стрелке'), kc.EKey3,
                   lambda: self.figure[0].rotate(1, 3, 2),
                   lambda self: self.keyname()),
            Option(u('вращать вперед'), kc.EKey2,
                   lambda: self.figure[0].rotate(0, 5, 1),
                   lambda self: self.keyname()),
            Option(u('вращать назад'), kc.EKey5,
                   lambda: self.figure[0].rotate(0, 2, 4),
                   lambda self: self.keyname()),
            Option(u('вращать налево'), kc.EKey4,
                   lambda: self.figure[0].rotate(2, 1, 3),
                   lambda self: self.keyname()),
            Option(u('вращать направо'), kc.EKey6,
                   lambda: self.figure[0].rotate(5, 1, 0),
                   lambda self: self.keyname()),
            #Option(u('подстройка управления'),kc.EKeyBackspace, lambda:self.resetwell(),                  lambda self:self.keyname()),
            Option(u('камера пр ч. стрелки'), kc.EKey7,
                   lambda: self.rotatecam(+10.0, 0.0, 0.0, +1.0),
                   lambda self: self.keyname()),
            Option(u('камера по ч. стрелке'), kc.EKey9,
                   lambda: self.rotatecam(-10.0, 0.0, 0.0, +1.0),
                   lambda self: self.keyname()),
            Option(u('камера вперед'), kc.EKey8,
                   lambda: self.rotatecam(+10.0, +1.0, 0.0, 0.0),
                   lambda self: self.keyname()),
            Option(u('камера назад'), kc.EKey0,
                   lambda: self.rotatecam(-10.0, +1.0, 0.0, 0.0),
                   lambda self: self.keyname()),
            Option(u('камера налево'), kc.EKeyStar,
                   lambda: self.rotatecam(+10.0, 0.0, +1.0, 0.0),
                   lambda self: self.keyname()),
            Option(u('камера направо'), kc.EKeyHash,
                   lambda: self.rotatecam(-10.0, 0.0, +1.0, 0.0),
                   lambda self: self.keyname()),
            Option(u('камера сброс'), kc.EKeyYes, lambda: self.resetcam(),
                   lambda self: self.keyname()),
            Option(
                u('скриншот'), kc.EKeyEdit, lambda: graphics.screenshot().save(
                    'c:\\data\\Images\\3Dtetris' + str(random.randrange(
                        10000)) + '.jpg'), lambda self: self.keyname())
        ]

        self.screenopt = [
            Option(u('Ориентация экрана'), 0,
                   ['автоматически', 'портрет', 'ландшафт'],
                   lambda self: self.lst[self.value]),
            Option(u('Непрозрачн следующей'), 127)
        ]
        appuifw.app.screen = 'normal'
        lock = e32.Ao_lock()
        self.lock2 = e32.Ao_lock()
        appuifw.app.title = u('3D Тетрис. Настройки.')
        appuifw.app.set_tabs([u('Игра'), u('Управление'), u('Экран')], tab_cb)
        appuifw.app.menu = [(u('Играть'), play),
                            (u('Стандартные настройки'), default),
                            (u('Об игре'), about),
                            (u('Благодарности'), thanks), (u('Выход'), exit)]
        appuifw.app.exit_key_handler = exit
        try:
            if not os.path.exists(self.path):
                os.mkdir(self.path)
            if os.path.exists(self.path + 'config.txt'):
                try:
                    loadoptions()
                except e:
                    appuifw.note(u('Настройки загрузить не удалось!'), 'error')
            else:
                needsave = 1
        except:
            appuifw.note(
                u('Ошибка при создании каталога ' + self.path +
                  '. Не будет загрузки/сохранения настроек!'), 'error')
        self.options = self.gameopt
        appuifw.app.body = self.canvas = appuifw.Listbox(
            [(opt.title, u(opt.f(opt))) for opt in self.options], change)
        self.cur_tab = 0
        appuifw.app.activate_tab(self.cur_tab)
        lock.wait()
        appuifw.app.set_tabs([], None)
        appuifw.app.menu = []
        if self.needsave:
            saveoptions()
        if self.running == 1:
            self.running = 0
            appuifw.app.screen = 'full'
            self.delay = 1.5 - self.gameopt[0].value
            self.maxx = self.gameopt[1].value // 2
            self.minx = -self.maxx
            self.dx = self.maxx - self.minx + 1
            self.rx = range(self.minx, self.maxx + 1)
            self.maxy = self.gameopt[2].value // 2
            self.miny = -self.maxy
            self.dy = self.maxy - self.miny + 1
            self.ry = range(self.miny, self.maxy + 1)
            self.minz = 3
            self.maxz = self.minz + self.gameopt[3].value
            self.dz = self.maxz - self.minz + 1
            self.rz = range(self.minz, self.maxz + 1)
            self.nextalpha = self.screenopt[1].value
            self.points = array(GL_BYTE, 3, [[x, y, -z] for z in self.rz
                                             for y in self.ry
                                             for x in self.rx])
            self.colortable = [
                ((random.randrange(0x100)), (random.randrange(0x100)),
                 (random.randrange(0x100)), 0xff) for i in range(self.dz)
            ]
            self.colors = array(GL_UNSIGNED_BYTE, 4, [
                self.colortable[i] * (self.dx * self.dy)
                for i in range(self.dz)
            ])
            self.triangles = [
                array(GL_UNSIGNED_SHORT, 3,
                      (i + self.dx * self.dy + 1, i + 1, i,
                       i + self.dx * self.dy, i + self.dx * self.dy + 1, i,
                       i + self.dx * self.dy + self.dx, i + self.dx * self.dy,
                       i, i + self.dx, i + self.dx * self.dy + self.dx, i,
                       i + 1, i + self.dx, i, i + self.dx * self.dy + self.dx,
                       i + self.dx, i + self.dx + 1, i + self.dx * self.dy +
                       self.dx + 1, i + self.dx * self.dy + self.dx,
                       i + self.dx + 1, i + self.dx * self.dy + 1,
                       i + self.dx * self.dy + self.dx + 1, i + self.dx + 1,
                       i + 1, i + self.dx * self.dy + 1, i + self.dx + 1,
                       i + self.dx, i + 1, i + self.dx + 1))
                for i in range(self.dx * self.dy * self.dz)
            ]
            #self.cubelines=[array(GL_UNSIGNED_SHORT,2,  [[j,j+self.dx] for j in (i,i+1,i+self.dx*self.dy,i+self.dx*self.dy+1)]+[[j,j+self.dx*self.dy] for j in (i,i+1,i+self.dx,i+self.dx+1)]+[[j,j+1] for j in (i,i+self.dx,i+self.dx*self.dy,i+self.dx*self.dy+self.dx)]  )for i in range(self.dx*self.dy*self.dz)]
            self.cubes = [[[False for i in range(self.dy - 1)]
                           for j in range(self.dx - 1)]
                          for k in range(self.dz - 1)]
            return True
Beispiel #25
0
def quit():
    global running
    graphics.screenshot().save("c:\\maze.png")
    running = 0
Beispiel #26
0
def quit():
    global running
    running=0
    graphics.screenshot().save("e:\\iniIME.png")
Beispiel #27
0
def screenshot():
    img = graphics.screenshot()
    img.save("E:\\Images\\temp.jpg")
    return file("E:\\Images\\temp.jpg").read()
running=1
switch = 0
appuifw.app.screen='normal'

def quit():
    global running
    running=0
    appuifw.app.set_exit()


interval = appuifw.query(u"Interval:", "number", 10)

maxscreen = appuifw.query(u"Screenshot number:", "number" ,20)

print "starting"
while running:
    
    if switch < maxscreen:
        
        e32.ao_sleep(interval)
        image = graphics.screenshot()
        switch = switch + 1
        numer = switch
                 
        filename="e:\\python\\picture"+str(numer)+".jpg"
        image.save(filename,quality=25)
        numer = int(0)
    else:    
        print "done"
        quit()
Beispiel #29
0
def quit():
    global running
    running=0
    graphics.screenshot().save("e:\\iniIME.png")
  #  print "Bye!"
    os.abort()
Beispiel #30
0
# -*- coding: utf-8 -*-
#######wap.wapele.cn#######
#######中文名好听########
#######decompile2########

import msys
msys.send_bg()
import graphics as gr
scrshot = gr.screenshot()
import appuifw as ap
cvs = ap.Canvas()


def redraw(rect):
    cvs.blit(scrshot)


ap.app.body = cvs = ap.Canvas(redraw_callback=redraw)
ap.app.screen = 'full'
import os
mypath = u"..\\python\\pygame\\2048_maps\\"
splash = gr.Image.open(mypath + 'splash_2.1.png')
import sysinfo
x, y = sysinfo.display_pixels()
if x > y:
    scrshot.blit(splash, target=(72, 78))
else:
    scrshot.blit(splash, target=(32, 117))
msys.send_fg()
import main2
Beispiel #31
0
 def make_screenshot(self):
     filename = u'e:\\screenshot.png'
     img = graphics.screenshot()
     img.save(filename)
Beispiel #32
0
def think(dt, events, kpress, mpos):

	global alpha, playing, ending, lastsave
	if playing and not ending:
		alpha = min(2 * dt + alpha, 1)
	elif ending:
		alpha -= 2 * dt
		if alpha <= -6:
			hud.endtitle.settext()
			if not hud.endtitle:
				state.removesave()
				scene.pop()
				return
	else:
		alpha -= 2 * dt
		if alpha <= 0:
			scene.pop()
			return
	sound.setvolume(alpha)

	lastsave += dt
	if settings.savetime is not None and lastsave > settings.savetime:
		lastsave = 0
		state.save()

	if kpress[K_ESCAPE]:
		state.save()
		scene.pop()
		scene.pop()
		playing = False

	dx = ((kpress[K_RIGHT]) - (kpress[K_LEFT])) * dt
	dy = ((kpress[K_UP]) - (kpress[K_DOWN])) * dt
	dr = ((kpress[K_e] or kpress[K_d]) - (kpress[K_a])) * dt
	dA = ((kpress[K_COMMA] or kpress[K_w]) - (kpress[K_o] or kpress[K_s])) * dt

	for event in events:
		if event.type == QUIT:
			state.save()
			scene.pop()
			scene.pop()
			playing = False
		if event.type == MOUSEBUTTONDOWN:
			if event.button == 4:
				camera.zoom /= 1.08
			elif event.button == 5:
				camera.zoom *= 1.08
			else:
				px, py = mpos
				if hud.click((px, settings.sy - py)):
					continue
				p = camera.screentoworld((settings.sx - px, settings.sy - py))
				if p and cursor.tobuild:
					phat = p.norm()
					if state.canbuild(cursor.tobuild, phat) and not state.builderror(cursor.tobuild):
						f = camera.eye().rej(phat).norm()
						state.build(cursor.tobuild(p.norm(), f))
						cursor.tobuild = None
					else:
						sound.play("error")
				elif cursor.pointingto:
					if cursor.unbuild:
						state.unbuild(cursor.pointingto)
					elif cursor.disable:
						state.toggleenable(cursor.pointingto)
				else:
					cursor.dragging = True
		if event.type == MOUSEBUTTONUP:
			cursor.dragging = False
		if event.type == MOUSEMOTION:
			relx, rely = event.rel
			if event.buttons[0]:
				dx -= relx * settings.dragfactor / settings.sy
				dy += rely * settings.dragfactor / settings.sy
			if event.buttons[2]:
				dr -= relx * settings.dragfactor / settings.sy
				dA += rely * settings.dragfactor / settings.sy
#			camera.seek((0, 0, 1))
		if event.type == KEYDOWN and event.key == K_CAPSLOCK:
			settings.swaparrows = not settings.swaparrows
		if event.type == KEYDOWN and event.key == K_F3 and settings.unlocked >= 99:
			if settings.level == 3:
				scene.pushunder(scenes.final)
			ending = True
			hud.endtitle.settext("Mission Complete")
		if event.type == KEYDOWN and event.key == K_F12:
			graphics.screenshot()
		if event.type == KEYDOWN and event.key == K_INSERT:
			camera.zoom /= 1.2
		if event.type == KEYDOWN and event.key == K_DELETE:
			camera.zoom *= 1.2
		if event.type == KEYDOWN and event.key == K_SPACE:
			things.Asteroid(100)

	camera.zoom = min(max(camera.zoom, 30), 200)


	if bool(kpress[K_LSHIFT]) != bool(settings.swaparrows):
		dx, dy, dr, dA = dr, dA, dx, dy
	
	camera.move(40. * dx / state.R, 40. * dy / state.R, 2.5 * dr, 0.7 * dA)
	camera.think(dt)
			

	px, py = mpos
	hud.point((px, settings.sy - py))

	dtobj = dt * settings.speedup

	for obj in state.thinkers():
		obj.think(dtobj)

	hud.think(dt)
	state.think(dtobj)
	
	hud.setstatus()

	if not ending:
		if state.checklose():
			ending = True
			hud.endtitle.settext("Mission Failed")
		elif state.checkwin(dt):
			if settings.level == 3:
				scene.pushunder(scenes.final)
			sound.play("success")
			ending = True
			hud.endtitle.settext("Mission Complete")
			settings.unlocked = max(settings.unlocked, settings.level + 1)
			settings.save()
Beispiel #33
0
def main():
    _player_moved = False
    _refresh_map = False

    get_input()
    handle_input()

    if not LIFE[SETTINGS['controlling']]['dead']:
        if LIFE[SETTINGS['controlling']]['asleep']:
            gfx.fade_to_black(255)
            gfx.start_of_frame()
            gfx.end_of_frame()

        while LIFE[SETTINGS['controlling']]['asleep']:
            _played_moved = True
            _refresh_map = True

            gfx.title(LIFE[SETTINGS['controlling']]['asleep_reason'])
            logic.tick_all_objects(ignore_tickrate=True, ignore_pause=True)

            if LIFE[SETTINGS['controlling']]['dead']:
                break
    else:
        _player_moved = True

    if _refresh_map:
        gfx.refresh_view('map')

    if not _player_moved:
        if logic.tick_all_objects(ignore_tickrate=True):
            _player_moved = True

    draw_targeting()
    move_camera(SETTINGS['camera_track'])

    #TODO: Deselect so we can get rid of this call
    if SELECTED_TILES[0]:
        gfx.refresh_view('map')

    if not SETTINGS['last_camera_pos'] == SETTINGS['camera_track'][:]:
        if EVENTS or MENUS:
            _visible_chunks = sight.scan_surroundings(
                LIFE[SETTINGS['following']], judge=False, get_chunks=True)
            alife.brain.flag(LIFE[SETTINGS['following']],
                             'visible_chunks',
                             value=_visible_chunks)

            _cam_x = numbers.clip(
                LIFE[SETTINGS['following']]['pos'][0] - MAP_WINDOW_SIZE[0] / 2,
                0, MAP_SIZE[0] - MAP_WINDOW_SIZE[0] / 2)
            _cam_y = numbers.clip(
                LIFE[SETTINGS['following']]['pos'][1] - MAP_WINDOW_SIZE[1] / 2,
                0, MAP_SIZE[1] - MAP_WINDOW_SIZE[1] / 2)

        else:
            _visible_chunks = sight.scan_surroundings(
                LIFE[SETTINGS['controlling']], judge=False, get_chunks=True)
            alife.brain.flag(LIFE[SETTINGS['controlling']],
                             'visible_chunks',
                             value=_visible_chunks)

        SETTINGS['last_camera_pos'] = SETTINGS['camera_track'][:]

    _cam_x = numbers.clip(
        LIFE[SETTINGS['controlling']]['pos'][0] - MAP_WINDOW_SIZE[0] / 2, 0,
        MAP_SIZE[0] - MAP_WINDOW_SIZE[0] / 2)
    _cam_y = numbers.clip(
        LIFE[SETTINGS['controlling']]['pos'][1] - MAP_WINDOW_SIZE[1] / 2, 0,
        MAP_SIZE[1] - MAP_WINDOW_SIZE[1] / 2)

    maps.render_lights()

    if '--worldmap' in sys.argv:
        render_map.render_map(WORLD_INFO['map'],
                              force_camera_pos=(_cam_x, _cam_y, 2))
    else:
        render_map.render_map(WORLD_INFO['map'],
                              los=LIFE[SETTINGS['controlling']]['fov'],
                              force_camera_pos=(_cam_x, _cam_y, 2))

    items.draw_items()
    life.draw_life()

    if LIFE[SETTINGS['controlling']]['dead'] and not EVENTS:
        if not death():
            return False

    if SETTINGS['draw life info'] and SETTINGS['following']:
        life.draw_life_info()

    gfx.draw_message_box()

    menus.align_menus()
    menus.draw_menus()

    gfx.draw_status_line()
    gfx.draw_console()
    gfx.start_of_frame()
    gfx.end_of_frame()

    if '--fps' in sys.argv:
        print tcod.sys_get_fps()

    if (SETTINGS['recording'] and _player_moved and not EVENTS
            and not MENUS) or '--worldmap' in sys.argv:
        gfx.screenshot()

        if '--worldmap' in sys.argv:
            SETTINGS['running'] = False
Beispiel #34
0
def exit():
    appuifw.note("草根\n草虽渺小,根系天下".decode("u8"))
    global run
    run = 0


appuifw.app.body = m = appuifw.Canvas()
appuifw.app.screen = 'full'
m.clear(0)
if appuifw.query("一定要打开两张图片才能显示效果\n图片较大请耐心等待\n草根".decode("u8"), "query"):
    import powlite_fm
    path = powlite_fm.manager().AskUser("e:\\", ext=[".png", ".jpg"])
    path1 = powlite_fm.manager().AskUser("e:\\", ext=[".png", ".jpg"])
img = graphics.Image.open(path).resize((240, 320))
img1 = graphics.Image.open(path1).resize((240, 320))
appuifw.app.exit_key_handler = exit
wy, wy1 = 0, 1
while run:
    a = img.getpixel([(x, wy) for x in xrange(240)])
    b = img1.getpixel([(x, wy) for x in xrange(240)])
    for i in xrange(240):
        m.point((i, wy), a[i])
        m.point((i, wy1), b[i])
    wy += 2
    wy1 += 2
    if wy == 320: pass
    if wy == 320: pass
    e32.ao_yield()
graphics.screenshot().save("e:\\10.jpg")