예제 #1
0
 def setUpClass(cls):
     player1 = objects.Player(name="player1", life_stack=objects.Stack())
     player1.life_stack.extend(life_stack)
     player2 = objects.Player(name="player2", life_stack=objects.Stack())
     player2.life_stack.extend(life_stack)
     cls.round = objects.Round(player1=player1, player2=player2)
     cls.round.shuffle_players = mock.Mock(
         side_effect=cls.round.shuffle_players)
     cls.round.initialize()
예제 #2
0
 def level7(self):
     """
     Level 7
     :return: None
     """
     self.level = 7
     self.clear_grid()
     self.place_from_map(
         (".........................", ".#######################.",
          ".#p.c..................#.", ".#....M................#.",
          ".##.####################.", ".#.....................#.",
          ".#.....................#.", ".#.....................#.",
          ".#.....................#.", ".#.....................#.",
          ".#.....................#.", ".#.....................#.",
          ".#.....................#.", ".#.....................#.",
          ".#.....................#.", ".#.....................#.",
          ".#.....................#.", ".#.....................#.",
          ".#.....................#.", ".#....................e#.",
          ".#######################.", "........................."), {
              ".":
              'Empty',
              "#":
              'Wall',
              "p":
              objects.Player(),
              "e":
              objects.Exit(target_level="level6"),
              "c":
              objects.Computer(),
              "M":
              objects.MazeGenerator(working_area=((2, 5), (23, 17)),
                                    path_str=((3, 5), "ddrrrrrdrrrurr"),
                                    density=0.8,
                                    hackable=['path_str'])
          })
예제 #3
0
 def get_pm_player(self, user_id):
     # possible start point
     player = self.db["players"].find_one({"id": user_id})
     if not player:
         self.db["players"].insert_one(vars(objects.Player(user_id)))
         player = {"pm": False}
     return player["pm"]
예제 #4
0
 def level6(self):
     """
     Level 6
     :return: None
     """
     self.level = 6
     self.clear_grid()
     self.place_from_map(
         ("..........", ".########.", ".#p.c...#.", ".#.....k#.",
          ".####d###.", ".#......#.", ".#......#.", ".####D###.",
          ".#......#.", ".#.....e#.", ".########.", ".........."), {
              ".":
              'Empty',
              "#":
              'Wall',
              "p":
              objects.Player(),
              "k":
              objects.SmallKey(color=Colors.AQUA, hackable=[]),
              "d":
              objects.ColoredDoor(color=Colors.SCARLET, hackable=['color']),
              "D":
              objects.ColoredDoor(color=Colors.AQUA,
                                  required_key_name="big_key",
                                  hackable=['required_key_name']),
              "e":
              objects.Exit(target_level="level6"),
              "c":
              objects.Computer(),
          })
예제 #5
0
 def get_language_player(self, user_id):
     player = self.db["players"].find_one({"id": user_id})
     if player:
         return player["lang"]
     else:
         self.db["players"].insert_one(vars(objects.Player(user_id)))
         return "en"
예제 #6
0
 def end_game(self, chat_id, players, chameleon, winners, starter=False):
     self.db["groups"].update_one({"id": chat_id},
                                  {"$inc": {
                                      "games_played": 1
                                  }})
     for player in players:
         updated = self.db["players"].find_one_and_update(
             {"id": player}, {"$inc": {
                 "games_played": 1
             }})
         if not updated:
             self.db["players"].insert_one(vars(objects.Player(player, 1)))
     self.db["players"].update_one({"id": chameleon},
                                   {"$inc": {
                                       "been_chameleon": 1
                                   }})
     self.db["players"].update_many({"id": {
         "$in": winners
     }}, {"$inc": {
         "games_won": 1
     }})
     if starter:
         self.db["players"].update_one({"id": starter},
                                       {"$inc": {
                                           "games_started": 1
                                       }})
     self.db["players"].update_one({"id": players[0]},
                                   {"$inc": {
                                       "starter": 1
                                   }})
예제 #7
0
 def __init__(self, char_id, init_pos, end_pos):
     super().__init__()
     self.player = objects.Player(char_id, init_pos[0], init_pos[1])
     self.ground = []
     self.walls = []
     self.spikes = []
     self.roof = []
     self.enemies = []
     self.elements.append(objects.Image('BoxFinish.png'))
     self.element_locations.append(end_pos)
예제 #8
0
 def __init__(self, screen, display, avalgame=None):
     self.avalgame = avalgame
     self.dataStore = log.GenerateInfo()
     self.disp = display
     self.canvas = screen
     self.screen = screen.screen
     self.width = self.screen.get_rect().width
     self.height = self.screen.get_rect().height
     self.image = pygame.image.load('media/sprites/background.png')
     self.bg_color = (255, 255, 255)
     self.player = objects.Player("image", 300, 500, 50, 50, 0)
     self.startTime = datetime.now()
예제 #9
0
 def __init__(self):
     self.running = True
     self.platform = objects.Platform()
     self.player = objects.Player(WIDTH, self.platform)
     self.drops = [
         objects.WaterDrop(WIDTH, HEIGHT) for x in range(START_DROPS)
     ]
     self.amount_of_drops = START_DROPS
     self.lives = 5
     self.title_running = True
     self.count = 0
     self.time = 0
예제 #10
0
def get_random_player():
    """
    Creates a Player object with a random map
    :return: Player
    """
    player = objects.Player()
    ships = objects.get_list_of_ships()

    j = 0
    for ship in ships:
        i = 0
        j += 1
        while not __is_added(player, ship):
            i += 1

    return player
예제 #11
0
 def filterValue(self, value, position):
     if value == ' ':
         return
     elif value == '#':
         self.walls.append(objects.Wall(position))
         self.grid[position] = self.walls[-1]
     elif value == 'P':
         self.player = objects.Player(position)
         self.grid[position] = self.player
     elif value.islower():
         self.holes.append(objects.Hole(position, value))
         self.grid[position] = self.holes[-1]
     elif value.isupper():
         self.blocks.append(objects.Block(position, value))
         self.grid[position] = self.blocks[-1]
     else:
         raise ValueError(f'Format character "{value}" not recognized.')
예제 #12
0
 def level5(self):
     """
     Level 5
     :return: None
     """
     self.level = 5
     self.clear_grid()
     self.place_from_map(
         ("..........", ".########.", ".#p.c...#.", ".#.....k#.",
          ".####d###.", ".#......#.", ".#.....e#.", ".########.",
          ".........."), {
              ".": 'Empty',
              "#": 'Wall',
              "p": objects.Player(),
              "k": objects.SmallKey(color=Colors.AQUA, hackable=['color']),
              "d": objects.ColoredDoor(color=Colors.GREEN),
              "e": objects.Exit(target_level="level6"),
              "c": objects.Computer()
          })
예제 #13
0
 def level1(self):
     """
     Level 1
     :return: None
     """
     self.level = 1
     self.clear_grid()
     self.disable_console()
     self.place_from_map(
         ("..........", ".########.", ".#p.....#.", ".#.....k#.",
          ".####d###.", ".#......#.", ".#.....e#.", ".########.",
          ".........."), {
              ".": 'Empty',
              "#": 'Wall',
              "p": objects.Player(),
              "k": objects.SmallKey(),
              "d": objects.KeyDoor(key_name="small_key"),
              "e": objects.Exit(target_level="level2")
          })
예제 #14
0
    def load(self):
        self.reset()
        x = 0
        y = 0
        lvlData = []

        f = open("lvl/%03d.lvl" % (self.number))
        maxX = 0
        for y, ln in enumerate(f):
            ln = ln.rstrip()
            if len(ln) > maxX:
                maxX = len(ln)
            wall = []
            for x, ch in enumerate(ln):
                # actors
                if ch == 'p':
                    self.players.append(
                        objects.Player(x * core.tileSize, y * core.tileSize,
                                       core.controls))
                if ch == 'f':
                    self.aliens.append(
                        objects.Floater(x * core.tileSize, y * core.tileSize))
                if ch == 'c':
                    self.aliens.append(
                        objects.Crawler(x * core.tileSize, y * core.tileSize))
                if ch == 'b':
                    self.aliens.append(
                        objects.Brooder(x * core.tileSize, y * core.tileSize))
                # walls
                if ch == '#':
                    wall.append(1)
                else:
                    wall.append(0)
            #endfor
            lvlData.append(wall)
            self.height += core.tileSize
        #endfor
        self.width = maxX * core.tileSize
        if not self.players:
            self.players.append(
                objects.DummyPlayer(core.width / 2, core.height / 2))

        self.setTiles(lvlData)
 def __init__(self, root):
     state.State.__init__(self, root)
     self.objects = rgl.gameobject.Group()
     self.scenery = rgl.gameobject.Group()
     self.collidables = rgl.gameobject.Group()
     self.doors = rgl.gameobject.Group()
     self.npcs = rgl.gameobject.Group()
     self.items = rgl.gameobject.Group()
     self.players = rgl.gameobject.Group()
     
     objects.GameObject.collision_objects = self.collidables
     objects.Player.groups = [self.objects, self.players]
     objects.Scenery.groups = [self.scenery]
     objects.Obstacle.groups = [self.objects, self.collidables]
     objects.Door.groups = [self.objects, self.doors]
     objects.NPC.groups = [self.objects, self.npcs, self.collidables]
     objects.Chest.groups = [self.objects, self.items]
     objects.Water.groups = [self.objects]
     
     self.events = {
         "gun_quest": 0,
     }
     self.inventory = {
     }
     self.npc_cache = {}
     
     # self.camera = Rect(40, 40, 296, 296)
     # self.camera_xbounds = 64
     # self.camera_ybounds = 64
     # self.camera = Rect(0, 0, 240, 240)
     self.camera = Rect(0, 0, 160, 144)
     self.camera_xbounds = 16
     self.camera_ybounds = 16
     self.player = objects.Player(self, 2)
     self.map = maploader.GameMap(self)
     self.map.load_config("editor.cfg")
     # self.map.parse("data/maps/world-map.map")
     self.map.parse("data/maps/Home.map")
     self.world_rect = Rect(0, 0, self.map.info.size[0], self.map.info.size[1])
     self.make_background()
     self.font = rgl.font.Font(NES_FONT)
     self.action_handler = ActionHandler(self)
예제 #16
0
    def __init__(self, context):
        self.__context = context
        self.__chosen_ship = IntVar()
        self.__chosen_ship.set(4)

        # Ships choosing frame
        self.__frame_choose = Frame(self.__context.get_root())
        self.__create_choose_frame(self.__frame_choose)

        # Attributes of status frame
        self.__label_type = None
        self.__label_amount = None
        self.__orientation = True  # True if the ship is horizontal else Folse

        # Chosen ship status frame
        self.__frame_status = Frame(self.__context.get_root())
        self.__create_status_frame(self.__frame_status)

        # Sets up first status frame
        self.__frame_of_orientation = \
            self.__draw_ship(self.__frame_status, self.__chosen_ship.get(), self.__orientation)
        self.__frame_of_orientation.pack()

        # Map frame
        self.__frame_map = Frame(self.__context.get_root())
        self.__map = None
        self.__create_map_frame(self.__frame_map)

        # Attributes of message frame
        self.__label_warnings = None

        # Message frame
        self.__frame_message = Frame(self.__context.get_root())
        self.__create_message_frame(self.__frame_message)

        # Special frame
        self.__frame_special = Frame(self.__context.get_root())
        self.__create_special_frame(self.__frame_special)

        # Player object
        self.__player = objects.Player()
        self.__can_ship_be_put = True
예제 #17
0
    def generate(self):
        self.reset()
        lvlData = []
        width = 10 + self.number * 10
        depth = 20 + self.number * 50
        for i in xrange(0, depth):
            ln = []
            for j in xrange(0, width):
                ln.append(1)
            lvlData.append(ln)
        #endfor

        x = width / 2
        y = 0
        dx = 0
        dy = 5
        random.seed(self.number)
        while y < depth - 1:
            for i in range(0, random.randint(2, 4)):
                for j in range(random.randint(-1, 0), random.randint(2, 4)):
                    if x + j < width - 1 and x + j > 0 and y + i < depth:
                        lvlData[y + i][x + j] = 0
            if dy:
                dy -= 1
                y += 1
                if not dy:
                    dx = self.randDir(width - 1, x)
            elif dx:
                if dx > 0:
                    dx -= 1
                    x += 1
                else:
                    dx += 1
                    x -= 1
                if not dx:
                    dy = random.randint(2, 10)
        #endwhile

        self.height = depth * core.tileSize
        self.width = width * core.tileSize
        self.players.append(objects.Player(self.width / 2, 10, core.controls))
        self.setTiles(lvlData)
예제 #18
0
    def __on_clear_button_pressed(self):
        """
        Calls when clear all button is clicked
        :return: None - Clears all built ships
        """
        if self.__player.is_some_ships_placed():

            is_player_agree = msg.askyesno(String.APP_NAME,
                                           String.StatusFrame.DIALOG_CLEAR_ALL)

            if is_player_agree:
                self.__player = None
                self.__player = objects.Player()
                self.__map.refresh()
                self.__show_warning(String.StatusFrame.WARNING_SHIPS_CLEARED,
                                    "green")

                # Refresh status frame
                self.__on_ship_chosen()
        else:
            self.__show_warning(String.StatusFrame.WARNING_EMPTY_MAP, "red")
예제 #19
0
    def __init__(self):
        self.screen = pygame.display.set_mode(config.WINDOW_SIZE)

        pygame.mouse.set_visible(False)

        self.window_size = config.WINDOW_SIZE

        self.fullscreen = 0
        if config.FULLSCREEN:
            self.fullscreen_toggle()

        self.blur = config.BLUR

        self.clock = pygame.time.Clock()
        self.fps = config.FPS

        self.title = world.TitleScreen(self)
        self.title.init()
        self.player = objects.Player(self, y=100)
        self.title.add(self.player)

        self.start()
예제 #20
0
    def loadLevel(self, level):
        print("level loading")
        levelfile = open(self.levelDir + "/" + self.levelList[level])
        levelDict = json.load(levelfile)
        levelfile.close()

        self.assetsDir = levelDict[
            "assetsDir"] if "assetsDir" in levelDict else "assets\\"
        self.spriteSheet = objs.spritesheet(
            levelDict["sprite sheet"]
        ) if "sprite sheet" in levelDict else None  #check for a sprite sheet otherwise none
        self.physics = levelDict["physics"] if "physics" in levelDict else {
            "gravity": 100
        }  #check if physics are set

        self.player = objs.Player(levelDict["player"], levelDict["assetsDir"])

        self.objects = []
        for x in levelDict["objects"]:
            self.objects.append(
                objs.Sprite(x, assetdir=self.assetsDir, ss=self.spriteSheet))

        self.background = []
        if "backgrounds" in levelDict:
            for x in levelDict["backgrounds"]:
                self.background.append(objs.Background(x, self.assetsDir))

            self.background = sorted(self.background,
                                     key=lambda x: x.distance,
                                     reverse=True)

        map = levelDict["map"]
        map = map[::-1]
        for y in range(len(map)):
            for x in range(len(map[y])):
                if map[y][x] != 0:
                    self.objects[map[y][x] - 1].instances.append([x, y])
    os.chdir(os.path.dirname(os.path.realpath("__file__")))
    # Create Game object
    game.InvadersGame()

    # Load backgrounds
    wall_sprite = sge.gfx.Sprite(width=game.RESX, height=game.WALL_HEIGHT)
    wall_sprite.draw_rectangle(0,
                               0,
                               wall_sprite.width,
                               wall_sprite.height,
                               fill=sge.gfx.Color('white'))
    layers = [
        sge.gfx.BackgroundLayer(wall_sprite, 0, game.RESY - game.WALL_YOFFSET)
    ]
    background = sge.gfx.Background(layers, sge.gfx.Color('black'))

    # Create objects
    invaders = [objects.Invader() for _ in range(6)]
    player = objects.Player()
    #Player is always the first object
    obj = [player] + invaders

    # Create room
    sge.game.start_room = game.GameRoom(obj, background=background)
    # Remove the mouse to increase performance by avoiding collision detection
    sge.game.mouse.visible = False
    sge.game.start_room.remove(sge.game.mouse)

    # Here we go!
    sge.game.start()
예제 #22
0
def main():
    lives = 3
    reply = input('Do want to make your own level?(y/n)		')
    if reply == "y":
        level_name = input('What do you want to name your cutom level?		')
        levelGenerator.makeLevel(level_name)

    level_name = input('Please enter level name:	')

    while lives:
        tme = 360 + int(time.time())

        clearLists(specialbrick, brick, enemy, spring, coin, cloud, castle,
                   boss)

        bd = board.Board(config.board_width, config.board_width)
        try:
            loadLevel(level_name, "brick", "spring", "goomba", "stalker",
                      "spikey", "boss", "castle", "cloud", "coin",
                      "specialbrick")
        except:
            print("No such level exists")
            exit()

        mario = objects.Player(2, 2, 54, 15)
        bd.at = 0

        while True:

            bd.clear(config.show_width)

            levelGenerator.addobjects(bd, brick, enemy, spring, coin, cloud,
                                      specialbrick, boss, castle)
            bd.add(mario, mario.x, mario.y)

            collisionCheck.bossFight(enemy, boss, bd, mario)

            collisionCheck.enemyCollision(enemy, enemy, mario, bd)
            collisionCheck.enemyCollision(boss, boss, mario, bd)

            collisionCheck.updateEnemy(boss, bd, mario.x, brick, spring)
            collisionCheck.updateEnemy(enemy, bd, mario.x, brick, spring)

            collisionCheck.brickCollision(brick, mario, bd)
            collisionCheck.specialbrickCollision(specialbrick, mario, bd)

            collisionCheck.springCollision(spring, mario, bd)
            collisionCheck.coinCollision(coin, mario, bd)

            if mario.hp <= 0 or mario.y > config.show_height or int(
                    tme - time.time()) <= 0:
                lives -= 1
                break

            if mario.x >= castle[0].x:
                print("YOU WIN \t TOTAL SCORE:",
                      mario.score + int(tme - time.time()))
                lives = 0
                break

            os.system('tput reset')
            bd.show(config.show_width, config.show_height)
            print("LIVES:", lives, "\t", "HEALTH:", mario.hp, "\t", "SCORE:",
                  mario.score, "\t", "TIME LEFT:", int(tme - time.time()))

            event = config.get_key(config.get_input())

            if event == config.QUIT:
                lives = 0
                break

            if mario.move(event) == "move":
                bd.move(event, 1)

    print("GAME OVER")
예제 #23
0
 def test_player(self):
     player = objects.Player(name="user1", life_stack=objects.Stack())
     self.assertIsInstance(player, objects.Player)
     self.assertIsInstance(player.name, str)
     self.assertIsInstance(player.life_stack, objects.Stack)
예제 #24
0
import pygame
import objects

pygame.init()  #Start Pygame

background_color = (121, 187, 210)  # light blue
screen = pygame.display.set_mode((800, 600))  #Start the screen
clock = pygame.time.Clock()

player = objects.Player(100, 100, 50, 50)
ground = objects.Platform(0, 500, 800, 100)
top = objects.Platform(0, -100, 800, 100)
left_side = objects.Platform(-10, -10 * 100, 10, 10 * 100 + 600)
right_side = objects.Platform(800, -10 * 100, 10, 10 * 100 + 600)
platforms = [
    objects.Platform(200, 400, 400, 25),
    objects.Platform(500, 100, 200, 25)
]
game_objects = [ground, left_side, right_side, top] + platforms
blackholes = [
    objects.BlackHole(300, 300, 10, 10),
    objects.BlackHole(400, 200, 10, 10)
]

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:  # The user closed the window!
            running = False  # Stop running

    screen.fill(background_color)
예제 #25
0
파일: game.py 프로젝트: stemasoff/21
    :param player_score: количество очков у игрока.
    :param dealer_score: количество очков у дилера.
    :param end: параметр, отвечающий за конец игры. Если True - игра закончена.
    :return: ход или итог игры.
    '''
    if (player_score > dealer_score and end is True) \
            or dealer_score > 21 or player_score == 21:
        return 'Ты выиграл.'
    elif player_score > 21 or player_score < dealer_score and end is True:
        return 'Ты проиграл.'
    else:
        return 'Идёт игра'


deck = objects.Deck()  # Колода
player = objects.Player()  # Игрок
dealer = objects.Dealer()  # Дилер
action = ''  # Действие игрока

shuffle(deck.deck)  # Перемешиваем колоду
# Ход игры
game_progress = 'Игра началась, колода помешана. В игре 2 игрока, Dealer и Player'
print(game_progress)
game_progress = 'Идёт игра'

# Цикл взаимодействия с пользователем в соответствии с правилами игры.
while game_progress == 'Идёт игра':
    print('1 - взять еще\n2 - закончить')
    action = input('Ваше действие: ')
    if action == '1':
        player.add_cards(dealer.more())
예제 #26
0
pygame.font.init()
pygame.key.set_repeat(100, 50)

screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption('Asteroids')
screenx = screen.get_width()
screeny = screen.get_height()

background = pygame.Surface((screen.get_size()))
background.fill((255, 255, 255))
background.convert()

playerObjects = pygame.sprite.Group()
asteroids = pygame.sprite.Group()

player = objects.Player(screenx / 2, screeny / 2, screen)

playerObjects.add(player)

for x in range(0, 2):
    asteroids.add(objects.LargeAsteroid(screen))

clock = pygame.time.Clock()

while player.isAlive:
    if (pygame.time.get_ticks() % 20000) == 0:
        asteroids.add(objects.LargeAsteroid(screen))
    for sprite in playerObjects:
        collision = pygame.sprite.spritecollide(sprite, asteroids, False)
        if sprite is player and collision and pygame.time.get_ticks() > 1000:
            player.isAlive = False
예제 #27
0
 def __init__(self, screen, players, map):
     self.rect = pygame.Rect((0, 0), list(map.size))
     self.galaxysize = list(map.size)
     self.camera = (0, 0)
     self.backgrounds = []
     for n, l in enumerate(range(gwglob.particles('star fields'))):
         size = (self.galaxysize[0] +
                 (self.galaxysize[0] - gwglob.SIZE[0]) * (3 - n),
                 self.galaxysize[1] +
                 (self.galaxysize[1] - gwglob.SIZE[1]) * (3 - n))
         self.backgrounds.append(pygame.Surface(size))
         if n:
             self.backgrounds[-1].set_colorkey((0, 0, 0))
         self.backgrounds[-1].lock()
         for s in range(
                 gwglob.particles('stars per field') * int(
                     round((size[0] * size[1]) /
                           float(gwglob.SIZE[0] * gwglob.SIZE[1])))):
             color = gwglob.STAR_COLORS[int(random() *
                                            len(gwglob.STAR_COLORS))]
             pos = (int(random() * size[0]), int(random() * size[1]))
             if n:
                 pygame.draw.circle(self.backgrounds[-1], color, pos, 2)
             else:
                 self.backgrounds[-1].set_at(pos, color)
         self.backgrounds[-1].unlock()
     self.planets = []
     for p in map.planets:
         self.planets.append(objects.Planet(self, *p))
     self.players = []
     self.turn = 0
     for name, color in players:
         player = objects.Player(self, name, [
             'One Shot', 'Hopper', 'Three Shot', 'Jackhammer', 'Sprinkler',
             'Chain Reaction', 'Drive', 'Lazer', 'Roller', 'Raining Rockets'
         ], [-1] * 10, color)
         least = 9999
         planet = None
         planets = list(self.planets)
         while planets:
             n = randint(0, len(planets) - 1)
             if planets[n].mass < gwglob.MASS_HABITABLE:
                 players = len(planets[n].players)
                 if players < least:
                     least, planet = players, planets[n]
             del planets[n]
         planet.players.append(player)
         self.players.append(player)
     self.toolbox = objects.Toolbox(self, self.players[0])
     for p in self.planets:
         p.place_players()
     self.centerview()
     self.objects = []
     self.bullets = []
     self.explosions = []
     self.newobjects = []
     self.newbullets = []
     self.newexplosions = []
     self.stage = 0
     self.drag = None
     Screen.__init__(self, screen)
예제 #28
0
                    sys.exit()
        levels.FLOOR_LEVEL_LIST = levels.update_floor_height()
        for bg in objects.BG_LIST:
            bg.update()
        keys.process_inputs()
        for object in objects.STATIC_LIST:
            object.update()
        player.update()
        resized_window = pygame.transform.scale(screen.DISPLAY, (screen.REAL_WIDTH, screen.REAL_HEIGHT))
        screen.SCREEN.blit(resized_window, (0, 0))
        pygame.display.update()
        CLOCK.tick(screen.FPS)

bg = objects.Background(animations.bg, 0, 0, velX=0.2, falls=False)
bg2 = objects.Background(animations.bg, - screen.WIDTH, 0, velX=0.2, falls=False)
player = objects.Player(animations.playerAnimationRepertoire, screen.WIDTH/2, screen.HEIGHT/2, 0, 0, 0.5)
for i in range(4):
    objects.Static(animations.palmAnimationRepertoire, random.randint(0, screen.WIDTH), screen.HEIGHT - 21,
                   falls=True, collisions=False)
for i in range(10):
    objects.Static(animations.box1AnimationRepertoire,
                   random.randint(0, screen.WIDTH), random.randint(0, levels.FLOOR_LEVEL), falls=False)

keys = Key_commands()

if __name__ == '__main__':
    playing = True
    gameloop()
    pygame.quit()
    sys.exit()
예제 #29
0
ground_height = 100

objects.init(screen_width, screen_height, ground_height)

# 3 - Load images
#full_bg
full_bg = pygame.image.load("resources/images/full_bg.png")
full_bg_size = full_bg.get_rect().size
full_bg_width = int(full_bg_size[0])
full_bg_height = int(full_bg_size[1])

#player

# osman_pasa = objects.Player("resources/images/osman_pasa_renkli.png", [screen_width / 3, screen_height - ground_height], "resources/images/osman_pasa_sag_renkli.png")

osman_pasa = objects.Player("resources/images/spawning.png",
                            [screen_width / 3, screen_height - ground_height])

# attributes
bullets = []
spawnings = []

keys = [False, False, False, False]
initialize_shoot = False

shoot_start_tick_counter = -2000
spawning_create_tick_counter = 0

# operational functions


def shoot():
예제 #30
0
def make_players():
    players = []
    players.append(objects.Player(0.2 * WIDTH, HEIGHT, pygame.K_q, 'viljami1'))
    players.append(objects.Player(0.1 * WIDTH, HEIGHT, pygame.K_w, 'viljami2'))

    return players