Example #1
0
    def share(self):
        """Uploads a file to the users dropbox and prints a public link"""
        cwd = sh.get_cwd() + "/"
        parser = argparse.ArgumentParser(
            description="Uploads file to dropbox and returns a public link")
        parser.add_argument("--overwrite", action="store_true")
        parser.add_argument("file")
        args = parser.parse_args(self.args[1:])

        mode = (dropbox.files.WriteMode.overwrite if args.overwrite else
                dropbox.files.WriteMode.add)

        try:
            local_file = util.file_path(cwd, args.file)
            dbx_file = util.file_path("/.sink/share/", args.file)

            with open(local_file.get_full_path(), "rb") as f:
                data = f.read()
            res = self.dropbox.files_upload(data, dbx_file.get_full_path())
            print_succ("sink share: %s" %
                       (self.dropbox.sharing_create_shared_link(
                           dbx_file.get_full_path(),
                           short_url=True).url))
        except dropbox.exceptions.ApiError as e:
            print_error("sink share: could not share file")
Example #2
0
    def download(self):
        """Downloads a file from the user's dropbox"""
        cwd = sh.get_cwd() + "/"
        parser = argparse.ArgumentParser(
            description="Download a file to the directory specified")
        parser.add_argument("file")
        parser.add_argument("dest", nargs="?", default=cwd)
        args = parser.parse_args(self.args[1:])

        with self.stopwatch('download'):
            try:
                dbfile = util.file_path(self.curdir.get_directory(), args.file)
                destfile = util.file_path(args.dest, args.file)

                # user has specified local directory to save
                if not args.dest == cwd:
                    self.dropbox.files_download_to_file(
                        destfile.get_full_path(), dbfile.get_full_path())
                    print_succ("file (%s) saved locally to %s " %
                               (dbfile.get_full_path(),
                                destfile.get_full_path()))
                else:  # default to pwd of where sink was run
                    self.dropbox.files_download_to_file(
                        destfile.get_filename(), dbfile.get_full_path())
                    print_succ(
                        "file (%s) saved locally to current directory %s" %
                        (dbfile.get_full_path(), destfile.get_full_path()))

            except dropbox.exceptions.HttpError as err:
                print_error("sink download: could not download file")
            except dropbox.exceptions.ApiError as err:
                print_error("sink download: no such file")
Example #3
0
    def download(self):
        """Downloads a file from the user's dropbox"""
        cwd = sh.get_cwd() + "/"
        parser = argparse.ArgumentParser(
            description="Download a file to the directory specified")
        parser.add_argument("file")
        parser.add_argument("dest", nargs="?", default=cwd)
        args = parser.parse_args(self.args[1:])

        with self.stopwatch('download'):
            try:
                dbfile = util.file_path(self.curdir.get_directory(), args.file)
                destfile = util.file_path(args.dest, args.file)

                # user has specified local directory to save
                if not args.dest == cwd:
                    self.dropbox.files_download_to_file(
                        destfile.get_full_path(), dbfile.get_full_path())
                    print_succ(
                        "file (%s) saved locally to %s " %
                        (dbfile.get_full_path(), destfile.get_full_path()))
                else:  # default to pwd of where sink was run
                    self.dropbox.files_download_to_file(
                        destfile.get_filename(), dbfile.get_full_path())
                    print_succ(
                        "file (%s) saved locally to current directory %s" %
                        (dbfile.get_full_path(), destfile.get_full_path()))

            except dropbox.exceptions.HttpError as err:
                print_error("sink download: could not download file")
            except dropbox.exceptions.ApiError as err:
                print_error("sink download: no such file")
Example #4
0
def load():
    global _SOUNDS
    # play background music
    pygame.mixer.music.load(util.file_path('background.ogg'))
    pygame.mixer.music.play(-1)
    # load sound effect
    for i in ('1', '2', '3', '4', 'drop', 'menu'):
        _SOUNDS[i] = pygame.mixer.Sound(util.file_path(i + '.ogg'))
Example #5
0
def load():
    global _SOUNDS
    # play background music
    pygame.mixer.music.load(util.file_path('background.ogg'))
    pygame.mixer.music.play(-1)
    # load sound effect
    for i in ('1', '2', '3', '4', 'drop', 'menu'):
        _SOUNDS[i] = pygame.mixer.Sound(util.file_path(i + '.ogg'))
Example #6
0
 def drawitem(self, screen, itemname, item_posi, angle=-1, s=False):
     if angle == -1:
         item = pygame.image.load(file_path(itemname)).convert_alpha()
         if s:
             item = pygame.transform.scale(item, (15, 15))
         screen.blit(item, item_posi)
     else:          
         ori_item = pygame.image.load(file_path(itemname)).convert_alpha()
         item = pygame.transform.rotate(ori_item, angle)
         w, h = ori_item.get_size()
         w2, h2 = item.get_size()
         draw_posi = (item_posi[0]+(w-w2)/2., item_posi[1]+(h-h2)/2.)
         screen.blit(item, draw_posi)
Example #7
0
 def __init__(self, screen):
     self.stat = "game"
     self.WIDTH = self.TILEW * self.W
     self.HEIGHT = self.TILEW * self.H
     self.screen = screen
     self.pause = False
     self.board = [] #save current situation same as screen
     for i in xrange(self.H):
         line = [None] * self.W
         self.board.append(line)
     #next to display 
     self.level = 1
     self.killed = 0
     self.score = 0
     #delay for shape fall
     self.time = self.SPACE * 0.8 ** (self.level - 1)
     #save the elapsed time after last fail
     self.elapsed = 0
     #pressd firstly time
     self.pressing = 0
     #moving shape
     self.shape = Shape(self.START,      \
             (self.WIDTH, self.HEIGHT), (self.W, self.H))
     self.shape.set_board(self.board)
     self.board_image = pygame.Surface((self.WIDTH, self.HEIGHT))
     #draw background
     self.screen.blit(pygame.image.load( \
             util.file_path("background.jpg")).convert(), (0, 0))
     self.display_info()
Example #8
0
 def __init__(self, screen):
     self.stat = "game"
     self.WIDTH = self.TILEW * self.W
     self.HEIGHT = self.TILEW * self.H
     self.screen = screen
     self.pause = False
     # the array save current situation
     # same as screen cood
     self.board = []
     for i in xrange(self.H):
         line = [None] * self.W
         self.board.append(line)
     # will display
     self.level = 1
     self.killed = 0
     self.score = 0
     # after this time, shape falls
     self.time = self.SPACE * 0.8**(self.level - 1)
     # save the elapsed time after last fail
     self.elapsed = 0
     # used for judge pressed firstly or for a  long time
     self.pressing = 0
     # the moving shape
     self.shape = Shape(self.START, (self.WIDTH, self.HEIGHT),
                        (self.W, self.H))
     self.shape.set_board(self.board)
     self.board_image = pygame.Surface((self.WIDTH, self.HEIGHT))
     # draw the background once
     self.screen.blit(
         pygame.image.load(util.file_path("background.jpg")).convert(),
         (0, 0))
     self.display_info()
Example #9
0
 def __init__(self, screen):
     self.stat = "game"
     self.WIDTH = self.TILEW * self.W
     self.HEIGHT = self.TILEW * self.H
     self.screen = screen
     self.pause = False
     # the array save current situation
     # same as screen cood
     self.board = []
     for i in xrange(self.H):
         line = [ None ] * self.W
         self.board.append(line)
     # will display
     self.level = 1
     self.killed = 0
     self.score = 0
     # after this time, shape falls
     self.time = self.SPACE * 0.9 ** (self.level - 1)
     # save the elapsed time after last fail
     self.elapsed = 0
     # used for judge pressed firstly or for a  long time
     self.pressing = 0
     # the moving shape
     self.shape = Shape(self.START,
             (self.WIDTH, self.HEIGHT), (self.W, self.H))
     self.shape.set_board(self.board)
     self.board_image = pygame.Surface((self.WIDTH, self.HEIGHT))
     # draw the background once
     self.screen.blit(pygame.image.load(
         util.file_path("background.jpg")).convert(), (0, 0))
     self.display_info()
Example #10
0
 def __init__(self, screen):
     self.stat = "game"
     self.WIDTH = self.TILEW * self.W
     self.HEIGHT = self.TILEW * self.H
     self.screen = screen
     self.pause = False
     self.board = []  #save current situation same as screen
     for i in xrange(self.H):
         line = [None] * self.W
         self.board.append(line)
     #next to display
     self.level = 1
     self.killed = 0
     self.score = 0
     #delay for shape fall
     self.time = self.SPACE * 0.8**(self.level - 1)
     #save the elapsed time after last fail
     self.elapsed = 0
     #pressd firstly time
     self.pressing = 0
     #moving shape
     self.shape = Shape(self.START,      \
             (self.WIDTH, self.HEIGHT), (self.W, self.H))
     self.shape.set_board(self.board)
     self.board_image = pygame.Surface((self.WIDTH, self.HEIGHT))
     #draw background
     self.screen.blit(pygame.image.load( \
             util.file_path("background.jpg")).convert(), (0, 0))
     self.display_info()
Example #11
0
    def loadgame(self, slot):
        self.setsavedir(slot)
        self.player = Player(load_yaml('player','player.yaml'))
        debug(self.player.get_hash())

        self.journal = Journal(json.loads(open(file_path('journal', 'journal.yaml')).read()))
        self._rmtemp()
Example #12
0
    def __init__(self):
        self.state = 'pre'
        # init pygame
        pygame.init()
        pygame.mixer.init(44100, 16, 2, 1024*4)
        pygame.display.set_caption("MR. TRAPEZIUS ")
        

        try:
            self.screen = pygame.display.set_mode((640, 480), 
                    HWSURFACE | SRCALPHA, 32)
        except:
            self.screen = pygame.display.set_mode((640, 480), 
                    SRCALPHA, 32)
        
        try:
            pygame.display.set_icon(pygame.image.load(
                util.file_path("Inky.png")).convert_alpha())
        except:
            # some platfom do not allow change icon after shown
            pass

        # init fonts and music lists
        util.init()

        # init sub states objects
        self.pre = Pre(self.screen)
        self.go = MainGame(self.screen)
        self.level_info = Level(self.screen)
        self.re = Retry(self.screen)
        self.next = NextLevel(self.screen)
        sound.load()
Example #13
0
 def __init__(self, screen):
     self.screen = screen
     orig_bac = pygame.image.load(file_path("background.jpg")).convert()
     self.background = pygame.transform.scale(orig_bac, (640, 480))
     self.show_star = False
     # 1是最初的神展开介绍画面 2是操作方法 3,4,5,6道具介绍
     self.show_info = 1
     self.angle = 0.
Example #14
0
 def draw(self):
     #self.screen.fill((0, 0, 0))
     self.screen.blit(pygame.image.load(util.file_path("menu.jpg")).convert(), (0, 0))
     for idx in xrange(len(self.OPTS)):
         if idx == self.current:
             util.myprint(self.screen, self.OPTS[idx], (280, 80 * idx + 250))
         else:
             util.myprint(self.screen, self.OPTS[idx], (280, 80 * idx + 250),
                     's', (160, 160, 160))
Example #15
0
class Shape4(Shape):
    def __init__(self, board_start, (board_width, board_height), (w, h)):
        self.SHAPES += (
                (((1,1,1,1), (1,1,1,1), (1,1,1,1), (1,1,1,1)),),
    )
        self.COLORS += ((0, 0, 0),)
        self._image = {}
        self.image[7] = pygame.image.load(util.file_path('neko.png')).convert_alpha() 
        super(Shape4, self).__init__(board_start, (board_width, board_height), (w, h))
def load_level(file_name):
	level = image.load(file_path(file_name))
	tiles = []
	for y in range(level.get_height()):
		for x in range(level.get_width()):
			colour = level.get_at((x, y))
			if colour == (0, 0, 0, 0):
				tiles.append(Tile(x, y, "BRICK"))
	return tiles
Example #17
0
    def upload(self):
        """Uploads a file to the user's dropbox"""
        cwd = sh.get_cwd() + "/"
        parser = argparse.ArgumentParser(description="Uploads file to dropbox")
        parser.add_argument("--overwrite", action="store_true")
        parser.add_argument("file")
        parser.add_argument("path")
        args = parser.parse_args(self.args[1:])
        mode = (dropbox.files.WriteMode.overwrite
                if args.overwrite else dropbox.files.WriteMode.add)
        try:
            local_file = util.file_path(cwd, args.file)
            dbx_file = util.file_path(args.path, args.file)

            with open(local_file.get_full_path(), "rb") as f:
                data = f.read()

            res = self.dropbox.files_upload(data, dbx_file.get_full_path())
            print_succ("file %s uploaded to %s" %
                       (local_file.get_filename(), dbx_file.get_full_path()))
        except dropbox.exceptions.ApiError as e:
            print_error("sink upload: could not upload file")
Example #18
0
 def __init__(self, screen):
     self.screen = screen
     self.ifdead = False
     self.entities = {} # Store all the entities
     self.entity_id = 0 # Last entity id assigned
     orig_bac = pygame.image.load(file_path("background.jpg")).convert()
     self.background = pygame.transform.scale(orig_bac, (640, 480))  
     self.left_20 = False
     self.left_10 = False
     self.right_20 = False
     self.right_10 = False
     self.speedup = False
     self.handsweat = False   
Example #19
0
    def upload(self):
        """Uploads a file to the user's dropbox"""
        cwd = sh.get_cwd() + "/"
        parser = argparse.ArgumentParser(description="Uploads file to dropbox")
        parser.add_argument("--overwrite", action="store_true")
        parser.add_argument("file")
        parser.add_argument("path")
        args = parser.parse_args(self.args[1:])
        mode = (dropbox.files.WriteMode.overwrite if args.overwrite else
                dropbox.files.WriteMode.add)
        try:
            local_file = util.file_path(cwd, args.file)
            dbx_file = util.file_path(args.path, args.file)

            with open(local_file.get_full_path(), "rb") as f:
                data = f.read()

            res = self.dropbox.files_upload(data, dbx_file.get_full_path())
            print_succ("file %s uploaded to %s" %
                       (local_file.get_filename(), dbx_file.get_full_path()))
        except dropbox.exceptions.ApiError as e:
            print_error("sink upload: could not upload file")
Example #20
0
    def share(self):
        """Uploads a file to the users dropbox and prints a public link"""
        cwd = sh.get_cwd() + "/"
        parser = argparse.ArgumentParser(
            description="Uploads file to dropbox and returns a public link")
        parser.add_argument("--overwrite", action="store_true")
        parser.add_argument("file")
        args = parser.parse_args(self.args[1:])

        mode = (dropbox.files.WriteMode.overwrite
                if args.overwrite else dropbox.files.WriteMode.add)

        try:
            local_file = util.file_path(cwd, args.file)
            dbx_file = util.file_path("/.sink/share/", args.file)

            with open(local_file.get_full_path(), "rb") as f:
                data = f.read()
            res = self.dropbox.files_upload(data, dbx_file.get_full_path())
            print_succ("sink share: %s" %
                       (self.dropbox.sharing_create_shared_link(
                           dbx_file.get_full_path(), short_url=True).url))
        except dropbox.exceptions.ApiError as e:
            print_error("sink share: could not share file")
Example #21
0
 def __init__(self):
     # current stat of game
     self.stat = "menu"
     # init pygame
     pygame.mixer.pre_init(44100, 16, 2, 1024 * 4)
     pygame.init()
     pygame.display.set_caption("FUNNY TETRIS")
     self.init()
     try:
         self.screen = pygame.display.set_mode((640, 480), HWSURFACE | SRCALPHA, 32)
     except:
         self.screen = pygame.display.set_mode((640, 480), SRCALPHA, 32)
     try:
         pygame.display.set_icon(pygame.image.load(util.file_path("icon.png")).convert_alpha())
     except:
         # some platfom do not allow change icon after shown
         pass
     # init sub modules
     self.menu = Menu(self.screen)  # menu show start menu
     self.main = Main(self.screen)  # main is the real tetris
Example #22
0
 def __init__(self):
     self.stat = 'menu'
     pygame.mixer.pre_init(44100, 16, 2, 1024*4) #mixer pre_init arguments
     pygame.init()
     pygame.display.set_caption("TETRIS_FUNNY") 
     self.init()
     try:
         self.screen = pygame.display.set_mode((640, 480),
                 HWSURFACE | SRCALPHA, 32)
     except:
         self.screen = pygame.display.set_mode((640, 480),
                 SRCALPHA, 32)
     try:
         pygame.display.set_icon(pygame.image.load(
                     util.file_path("icon.png")).convert_alpha())
     except:
         print "can't find icon picture under data directory"
         pass
     #init sub modules
     self.menu = Menu(self.screen)
     self.main = Main(self.screen)
Example #23
0
 def __init__(self):
     self.stat = 'menu'
     pygame.mixer.pre_init(44100, 16, 2,
                           1024 * 4)  #mixer pre_init arguments
     pygame.init()
     pygame.display.set_caption("TETRIS_FUNNY")
     self.init()
     try:
         self.screen = pygame.display.set_mode((640, 480),
                                               HWSURFACE | SRCALPHA, 32)
     except:
         self.screen = pygame.display.set_mode((640, 480), SRCALPHA, 32)
     try:
         pygame.display.set_icon(
             pygame.image.load(util.file_path("icon.png")).convert_alpha())
     except:
         print "can't find icon picture under data directory"
         pass
     #init sub modules
     self.menu = Menu(self.screen)
     self.main = Main(self.screen)
Example #24
0
 def __init__(self):
     # current stat of game
     self.stat = 'menu'
     # init pygame
     pygame.mixer.pre_init(44100, 16, 2, 1024 * 4)
     pygame.init()
     pygame.display.set_caption("FUNNY TETRIS")
     self.init()
     try:
         self.screen = pygame.display.set_mode((640, 480),
                                               HWSURFACE | SRCALPHA, 32)
     except:
         self.screen = pygame.display.set_mode((640, 480), SRCALPHA, 32)
     try:
         pygame.display.set_icon(
             pygame.image.load(util.file_path("icon.png")).convert_alpha())
     except:
         # some platfom do not allow change icon after shown
         pass
     # init sub modules
     self.menu = Menu(self.screen)  # menu show start menu
     self.main = Main(self.screen)  # main is the real tetris
Example #25
0
 def __init__(self):
     # current stat of game
     self.stat = 'menu'
     # init pygame
     pygame.mixer.pre_init(44100, 16, 2, 1024*4)
     pygame.init()
     pygame.display.set_caption("Funny Tetris")
     self.init()
     try:
         self.screen = pygame.display.set_mode((640, 480),
                 HWSURFACE | SRCALPHA, 32)
     except:
         self.screen = pygame.display.set_mode((640, 480),
                 SRCALPHA, 32)
     try:
         pygame.display.set_icon(pygame.image.load(
             util.file_path('icon.png')).convert_alpha())
     except:
         pass
     # init sub modules
     self.menu = Menu(self.screen)   # menu show start menu
     self.main = Main(self.screen)   # main is the real tetris
Example #26
0
def load():
    global _SOUNDS
    pygame.mixer.music.load(file_path('background.ogg'))
    pygame.mixer.music.play(-1)
    for event in ('1', '2', '3', '4', 'drop', 'menu'):
        _SOUNDS[event] = pygame.mixer.Sound(file_path(event + '.ogg'))
Example #27
0
    def run(self,  mode):
        GAME_WIDTH = 420
        GAME_HEIGHT = 440
        human = pygame.image.load(file_path("walk.png")).convert_alpha()
        star_img1= pygame.image.load(file_path("star1.png")).convert_alpha()
        star_img2= pygame.image.load(file_path("star2.png")).convert_alpha()
        star_img3= pygame.image.load(file_path("star3.png")).convert_alpha()
        star_img4= pygame.image.load(file_path("star4.png")).convert_alpha()
        star_img5= pygame.image.load(file_path("star5.png")).convert_alpha()
        star_img6= pygame.image.load(file_path("star6.png")).convert_alpha()
        #star_img7= pygame.image.load(file_path("star7.png")).convert_alpha()
        paused = False

        if mode==1:
            self.scoreleft = 600
            DB_COUNT = 10
            init_pig = pig.Pig()
            clock = pygame.time.Clock()
            world = World(self.screen)
            gamespeed = 4.    
            for db in xrange(DB_COUNT):
                db = entity.Dumbbell(world)
                my_random_posi = self.my_random()
                db.location = MyVector(my_random_posi)
                world.add_entity(db)
            me = entity.Me(world, human)
            me.location = MyVector((GAME_WIDTH/2, GAME_HEIGHT/2))
            world.add_entity(me)
            while True:
                for e in pygame.event.get():
                    if e.type == QUIT:
                        return 'quit'
                    if e.type == KEYUP:
                        if e.key == K_SPACE:
                            paused = not paused
                if not paused:
                    past_second = clock.tick(30) / 1000.0
                    self.scoreleft -= 1
                    # 一定几率不断出现星星
                    if randint(1,200) == 1:
                        start_obj1 = entity.Star(world, star_img1, 1)
                        my_random_posi = self.my_random()
                        start_obj1.location = MyVector(my_random_posi)
                        world.add_entity(start_obj1)                
                    if randint(1,200) == 1:
                        start_obj3 = entity.Star(world, star_img3, 3)
                        my_random_posi = self.my_random()
                        start_obj3.location = MyVector(my_random_posi)
                        world.add_entity(start_obj3)
                    if randint(1,300) == 1:
                        start_obj6 = entity.Star(world, star_img6, 6)
                        my_random_posi = self.my_random()
                        start_obj6.location = MyVector(my_random_posi)
                        world.add_entity(start_obj6)
                    #画世界
                    world.render()
                    #世界运行
                    world.process(past_second)
                    #积分区域
                    score_area = self.screen.subsurface(460, 20, 160, 60)
                    score_area.fill((0,0,0))
                    myprint(score_area, 'LEVEL 1', (5,5), color=(255,255,255), size='enl')
                    myprint(score_area, 'To Next Level: ', (5,35), color=(255,255,255), size='dk')
                    myprint(score_area, str(self.scoreleft), (80,35), color=(255,255,255), size='dk')
                    #画猪
                    pig_area = self.screen.subsurface(460, 90, 160, 370)
                    pig_area.fill((0,0,0))
                    if world.left_20:
                        init_pig.shy = False
                        gamespeed = 4.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]-20, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]-20, init_pig.dynamic_tra_start2[1])
                        world.left_20 = False
                    if world.right_20:
                        init_pig.shy = False
                        gamespeed = 4.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]+20, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]+20, init_pig.dynamic_tra_start2[1])
                        world.right_20 = False
                    if world.left_10:
                        init_pig.shy = False
                        gamespeed = 4.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]-10, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]-10, init_pig.dynamic_tra_start2[1])
                        world.left_10 = False             
                    if world.right_10:
                        init_pig.shy = False
                        gamespeed = 4.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]+10, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]+10, init_pig.dynamic_tra_start2[1]) 
                        world.right_10 = False
                    if world.speedup: 
                        gamespeed = 20.
                        init_pig.shy = True
                        world.speedup = False
                    if world.handsweat:
                        init_pig.shy = False
                        gamespeed = 4.
                        halfneck = 262-(236-init_pig.dynamic_tra_start1[1]+26)/2
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0], halfneck) 
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0], halfneck)
                        init_pig.sweat = True 
                        world.handsweat = False
                    if init_pig.sweat:
                        init_pig.draw_dynamic_pig(pig_area, (80,300), 0.)
                    else:
                        init_pig.draw_dynamic_pig(pig_area, (80,300), past_second, neck_speed=gamespeed)
                    #被哑铃砸到
                    if world.ifdead:
                        #死亡讯息
                        game_area = self.screen.subsurface(20, 20, 420, 440)
                        myprint(game_area, u'你被哑铃砸到了!斜方怪非常开心!', (GAME_WIDTH/2-130, GAME_HEIGHT/2), color=(255,127,0))
                        #myprint(game_area, u'斜方肌猛涨', (GAME_WIDTH/2-130, GAME_HEIGHT/2), color=(255,127,0))
                        return 'retry1'
                    #斜方怪锻炼完成
                    if init_pig.pigtootall:
                        #斜方肌太强壮信息
                        game_area = self.screen.subsurface(20, 20, 420, 440)
                        myprint(game_area, u'怎么都让斜方怪长成这样了!', (GAME_WIDTH/2-115, GAME_HEIGHT/2-20), color=(255,127,0))
                        myprint(game_area, u'地球再也打不过斜方星了!', (GAME_WIDTH/2-105, GAME_HEIGHT/2), color=(255,127,0))
                        return 'retry1'
                    #检查是否进入下一关
                    if self.scoreleft == 0:
                        return 'next2'
                    pygame.display.update()
                else:
                    print 'paused'


        if mode == 2:
            paused = False
            self.scoreleft = 1000
            DB_COUNT = 10
            init_pig = pig.Pig()
            clock = pygame.time.Clock()
            world = World(self.screen)
            gamespeed = 6.    
            for db in xrange(DB_COUNT):
                db = entity.Dumbbell(world)
                my_random_posi = self.my_random()
                db.location = MyVector(my_random_posi)
                world.add_entity(db)
            me = entity.Me(world, human)
            me.location = MyVector((GAME_WIDTH/2, GAME_HEIGHT/2))
            world.add_entity(me)
            while True:
                for e in pygame.event.get():
                    if e.type == QUIT:
                        return 'quit'
                    if e.type == KEYUP:
                        if e.key == K_SPACE:
                            paused = not paused
                if not paused:
                    past_second = clock.tick(30) / 1000.0
                    self.scoreleft -= 1
                    # 一定几率不断出现星星
                    if randint(1,400) == 1:
                        start_obj1 = entity.Star(world, star_img1, 1)
                        my_random_posi = self.my_random()
                        start_obj1.location = MyVector(my_random_posi)
                        world.add_entity(start_obj1)                
                    if randint(1,200) == 1:
                        start_obj3 = entity.Star(world, star_img3, 3)
                        my_random_posi = self.my_random()
                        start_obj3.location = MyVector(my_random_posi)
                        world.add_entity(start_obj3)
                    if randint(1,400) == 1:
                        start_obj2 = entity.Star(world, star_img2, 2)
                        my_random_posi = self.my_random()
                        start_obj2.location = MyVector(my_random_posi)
                        world.add_entity(start_obj2) 
                    if randint(1,200) == 1:
                        start_obj4 = entity.Star(world, star_img4, 4)
                        my_random_posi = self.my_random()
                        start_obj4.location = MyVector(my_random_posi)
                        world.add_entity(start_obj4)	
                    if randint(1,300) == 1:
                        start_obj6 = entity.Star(world, star_img6, 6)
                        my_random_posi = self.my_random()
                        start_obj6.location = MyVector(my_random_posi)
                        world.add_entity(start_obj6)
                    #画世界
                    world.render()
                    #世界运行
                    world.process(past_second)
                    #积分区域
                    score_area = self.screen.subsurface(460, 20, 160, 60)
                    score_area.fill((0,0,0))
                    myprint(score_area, u'LEVEL 2', (5,5), color=(255,255,255), size='enl')
                    myprint(score_area, 'To Next Level: ', (5,35), color=(255,255,255), size='dk')
                    myprint(score_area, str(self.scoreleft), (80,35), color=(255,255,255), size='dk')
                    #画猪
                    pig_area = self.screen.subsurface(460, 90, 160, 370)
                    pig_area.fill((0,0,0))
                    if world.left_20:
                        init_pig.shy = False
                        gamespeed = 6.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]-20, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]-20, init_pig.dynamic_tra_start2[1])
                        world.left_20 = False
                    if world.right_20:
                        init_pig.shy = False
                        gamespeed = 6.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]+20, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]+20, init_pig.dynamic_tra_start2[1])
                        world.right_20 = False
                    if world.left_10:
                        init_pig.shy = False
                        gamespeed = 6.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]-10, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]-10, init_pig.dynamic_tra_start2[1])
                        world.left_10 = False             
                    if world.right_10:
                        init_pig.shy = False
                        gamespeed = 6.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]+10, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]+10, init_pig.dynamic_tra_start2[1]) 
                        world.right_10 = False
                    if world.speedup: 
                        gamespeed = 20.
                        init_pig.shy = True
                        world.speedup = False
                    if world.handsweat:
                        init_pig.shy = False
                        gamespeed = 6.
                        halfneck = 262-(236-init_pig.dynamic_tra_start1[1]+26)/2
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0], halfneck) 
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0], halfneck)
                        init_pig.sweat = True 
                        world.handsweat = False
                    if init_pig.sweat:
                        init_pig.draw_dynamic_pig(pig_area, (80,300), 0.)
                    else:
                        init_pig.draw_dynamic_pig(pig_area, (80,300), past_second, neck_speed=gamespeed)
                    #被哑铃砸到
                    if world.ifdead:
                        #死亡讯息
                        game_area = self.screen.subsurface(20, 20, 420, 440)
                        myprint(game_area, u'你被哑铃砸到了!斜方怪非常开心!', (GAME_WIDTH/2-130, GAME_HEIGHT/2), color=(255,127,0))
                        #myprint(game_area, u'斜方肌猛涨', (GAME_WIDTH/2-130, GAME_HEIGHT/2), color=(255,127,0))
                        return 'retry2'
                    #斜方怪锻炼完成
                    if init_pig.pigtootall:
                        #斜方肌太强壮信息
                        game_area = self.screen.subsurface(20, 20, 420, 440)
                        myprint(game_area, u'怎么都让斜方怪长成这样了!', (GAME_WIDTH/2-115, GAME_HEIGHT/2-20), color=(255,127,0))
                        myprint(game_area, u'地球再也打不过斜方星了!', (GAME_WIDTH/2-105, GAME_HEIGHT/2), color=(255,127,0))
                        return 'retry2'
                    #检查是否进入下一关
                    if self.scoreleft == 0:
                        return 'next3'
                    pygame.display.update()
                else:
                    print 'paused'
          
        if mode == 3:
            paused = False
            self.scoreleft = 1000
            DB_COUNT = 20
            init_pig = pig.Pig()
            clock = pygame.time.Clock()
            world = World(self.screen)
            gamespeed = 10.    
            for db in xrange(DB_COUNT):
                db = entity.Dumbbell(world)
                my_random_posi = self.my_random()
                db.location = MyVector(my_random_posi)
                world.add_entity(db)
            me = entity.Me(world, human)
            me.location = MyVector((GAME_WIDTH/2, GAME_HEIGHT/2))
            world.add_entity(me)      
            while True:
                for e in pygame.event.get():
                    if e.type == QUIT:
                        return 'quit'
                    if e.type == KEYUP:
                        if e.key == K_SPACE:
                            paused = not paused
                if not paused:
                    past_second = clock.tick(30) / 1000.0
                    self.scoreleft -= 1
                    # 一定几率不断出现星星
                    if randint(1,400) == 1:
                        start_obj1 = entity.Star(world, star_img1, 1)
                        my_random_posi = self.my_random()
                        start_obj1.location = MyVector(my_random_posi)
                        world.add_entity(start_obj1)                
                    if randint(1,200) == 1:
                        start_obj3 = entity.Star(world, star_img3, 3)
                        my_random_posi = self.my_random()
                        start_obj3.location = MyVector(my_random_posi)
                        world.add_entity(start_obj3)
                    if randint(1,400) == 1:
                        start_obj2 = entity.Star(world, star_img2, 2)
                        my_random_posi = self.my_random()
                        start_obj2.location = MyVector(my_random_posi)
                        world.add_entity(start_obj2) 
                    if randint(1,200) == 1:
                        start_obj4 = entity.Star(world, star_img4, 4)
                        my_random_posi = self.my_random()
                        start_obj4.location = MyVector(my_random_posi)
                        world.add_entity(start_obj4)					
                    if randint(1,400) == 1:
                        start_obj5 = entity.Star(world, star_img5, 5)
                        my_random_posi = self.my_random()
                        start_obj5.location = MyVector(my_random_posi)
                        world.add_entity(start_obj5)
                    if randint(1,300) == 1:
                        start_obj6 = entity.Star(world, star_img6, 6)
                        my_random_posi = self.my_random()
                        start_obj6.location = MyVector(my_random_posi)
                        world.add_entity(start_obj6)
                    #画世界
                    world.render()
                    #世界运行
                    world.process(past_second)
                    #积分区域
                    score_area = self.screen.subsurface(460, 20, 160, 60)
                    score_area.fill((0,0,0))
                    myprint(score_area, u'LEVEL 3', (5,5), color=(255,255,255), size='enl')
                    myprint(score_area, 'To Next Level: ', (5,35), color=(255,255,255), size='dk')
                    myprint(score_area, str(self.scoreleft), (80,35), color=(255,255,255), size='dk')
                    #画猪
                    pig_area = self.screen.subsurface(460, 90, 160, 370)
                    pig_area.fill((0,0,0))
                    if world.left_20:
                        init_pig.shy = False
                        gamespeed = 10.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]-20, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]-20, init_pig.dynamic_tra_start2[1])
                        world.left_20 = False
                    if world.right_20:
                        init_pig.shy = False
                        gamespeed = 10.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]+20, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]+20, init_pig.dynamic_tra_start2[1])
                        world.right_20 = False
                    if world.left_10:
                        init_pig.shy = False
                        gamespeed = 10.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]-10, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]-10, init_pig.dynamic_tra_start2[1])
                        world.left_10 = False             
                    if world.right_10:
                        init_pig.shy = False
                        gamespeed = 10.
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0]+10, init_pig.dynamic_tra_start1[1])
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0]+10, init_pig.dynamic_tra_start2[1]) 
                        world.right_10 = False
                    if world.speedup: 
                        gamespeed = 20.
                        init_pig.shy = True
                        world.speedup = False
                    if world.handsweat:
                        init_pig.shy = False
                        gamespeed = 10.
                        halfneck = 262-(236-init_pig.dynamic_tra_start1[1]+26)/2
                        init_pig.dynamic_tra_start1 = (init_pig.dynamic_tra_start1[0], halfneck) 
                        init_pig.dynamic_tra_start2 = (init_pig.dynamic_tra_start2[0], halfneck)
                        init_pig.sweat = True 
                        world.handsweat = False
                    if init_pig.sweat:
                        init_pig.draw_dynamic_pig(pig_area, (80,300), 0.)
                    else:
                        init_pig.draw_dynamic_pig(pig_area, (80,300), past_second, neck_speed=gamespeed)
                    #被哑铃砸到
                    if world.ifdead:
                        #死亡讯息
                        game_area = self.screen.subsurface(20, 20, 420, 440)
                        myprint(game_area, u'你被哑铃砸到了!斜方怪非常开心!', (GAME_WIDTH/2-130, GAME_HEIGHT/2), color=(255,127,0))
                        #myprint(game_area, u'斜方肌猛涨', (GAME_WIDTH/2-130, GAME_HEIGHT/2), color=(255,127,0))
                        return 'retry3'
                    #斜方怪锻炼完成
                    if init_pig.pigtootall:
                        #斜方肌太强壮信息
                        game_area = self.screen.subsurface(20, 20, 420, 440)
                        myprint(game_area, u'怎么都让斜方怪长成这样了!', (GAME_WIDTH/2-115, GAME_HEIGHT/2-20), color=(255,127,0))
                        myprint(game_area, u'地球再也打不过斜方星了!', (GAME_WIDTH/2-105, GAME_HEIGHT/2), color=(255,127,0))
                        return 'retry3'
                    #检查是否进入下一关
                    if self.scoreleft == 0:
                        return 'next4'
                    pygame.display.update()
                else:
                    print 'paused'
 def __init__(self, screen):
     self.screen = screen
     orig_bac = pygame.image.load(file_path("background.jpg")).convert()
     self.background = pygame.transform.scale(orig_bac, (640, 480)) 
Example #29
0
def load():
    _SOUNDS['go'] = pygame.mixer.Sound(util.file_path('go.ogg'))
    _SOUNDS['menu'] = pygame.mixer.Sound(util.file_path('menu.ogg'))
    pygame.mixer.music.load(util.file_path('background.ogg'))
Example #30
0
def load():
    global _SOUNDS
    pygame.mixer.music.load(file_path('background.ogg'))
    pygame.mixer.music.play(-1)
    for event in ('1', '2', '3', '4', 'drop', 'menu'):
        _SOUNDS[event] = pygame.mixer.Sound(file_path(event + '.ogg'))
Example #31
0
 def __init__(self, surface):
     self.screen = surface
     self.original_icon = pygame.image.load(file_path("Inky.png")).convert_alpha()
     self.loading_icon = pygame.transform.scale(self.original_icon, (30, 30))
     self.angle = 0.
Example #32
0
 def save_to_file(self, directory):
     filename = file_path(directory, self.filename(), new=True)
     data = dict(self())
     open(filename,'w').write(json.dumps(data, indent=4))
     return filename
Example #33
0
 def __init__(self, world, human):
    super(Me, self).__init__(world, 'me')
    self.speed = 70.
    self.shadow = pygame.image.load(file_path("am_mask.png")).convert_alpha()
    self.shadow = pygame.transform.scale(self.shadow, (150, 150))
    self.human = human