Ejemplo n.º 1
0
    def __init__(self):
        """Initialize running class."""
        self.config = ConfigParser()
        self.config.read('settings.ini')
        self.size_x = self.config.getint('screen', 'size_x')
        self.size_y = self.config.getint('screen', 'size_y')

        with open('languages.dat', 'rb') as lang_file:
            self.phrases = pickle.load(lang_file)[self.config.get(
                'total', 'language')]

        self.speech = Speech(self.config)
        self.speech.speak(self.phrases['start'])

        pygame.init()
        pygame.font.init()
        pygame.mixer.init()

        self.screen = pygame.display.set_mode((self.size_x, self.size_y))
        pygame.display.set_caption(self.phrases['title'])

        self.music = Music(self.config.getfloat('audio', 'music_volume'))
        self.sounds = Sound(self.config.getfloat('audio', 'sound_volume'))

        self.board = Board(self.config, self.screen, self.sounds)
        self.player = Player(self.board, self.speech, self.phrases)
        self.game_over = True
        self.win = False

        self.STOPPED_PLAYING = pygame.USEREVENT + 1
        pygame.mixer.music.set_endevent(self.STOPPED_PLAYING)
        self.fontObj = pygame.font.SysFont('arial', 50)
        self.clock = pygame.time.Clock()

        random.seed()
        self.music_play()
        self.new_game()
Ejemplo n.º 2
0
    def __init__(self):
        """Initialize running class."""
        self.config = ConfigParser()
        self.config.read('settings.ini')

        if self.config.getboolean('total', 'debug'):
            if getattr(sys, 'frozen', False):
                self.logger = Logger(
                    os.path.join(os.path.dirname(sys.executable),
                                 self.__class__.__name__))
            else:
                self.logger = Logger(
                    os.path.join(os.getcwd(), self.__class__.__name__))
        self.log = logging.getLogger()
        self.log.info(__name__ + ': ' + 'def ' + self.__init__.__name__ +
                      '(): ' + self.__init__.__doc__)

        self.size_x = self.config.getint('screen', 'size_x')
        self.size_y = self.config.getint('screen', 'size_y')

        with open('languages.dat', 'rb') as lang_file:
            self.phrases = pickle.load(lang_file)[self.config.get(
                'total', 'language')]

        self.speech = Speech(self.config)
        self.speech.speak(self.phrases['start'], True)

        pygame.init()
        pygame.font.init()
        pygame.mixer.init()

        self.screen = pygame.display.set_mode((self.size_x, self.size_y))
        pygame.display.set_caption(self.phrases['title'])

        self.music = Music(self.config.getfloat('audio', 'music_volume'))
        self.sounds = Sound(self.config.getfloat('audio', 'sound_volume'))

        self.menu = Menu(self.config, self.screen, self.speech, self.phrases,
                         self.sounds)
        self.menu_flag = True
        menu_functions = [self.new_game, self.rules, self.help, self.exit]
        self.menu.set_functions(menu_functions)

        self.board = Board(self.config, self.screen, self.sounds)
        self._ai = AI(self.board, self.speech, self.phrases)
        self.player = Player(self.board, self.speech, self.phrases, self._ai)
        self._ai.gamer = self.player
        self._ai.player.behaviors.set_controllers(self._ai)
        self.running = True
        self.game_over = True
        self.win = False

        self.handle_numbers = {'K_' + str(num): num for num in range(1, 10)}
        self.handle_numbers.update(
            {'K_KP' + str(num): num
             for num in range(1, 10)})

        self.font_obj = pygame.font.SysFont('arial', 50)
        self.clock = pygame.time.Clock()

        self.music_play()
        self.menu.activate(self.menu_flag)
Ejemplo n.º 3
0
    def __init__(self, z=0, x=0, y=0, enemy=None):
        super().__init__(z, x, y)
        # This unit's health
        self.health = 100
        self.heart_rate = 10  # lower = faster heart animation speed
        self.bullets = []
        self.blocks = pygame.sprite.Group(
        )  # What sprites am I not allowd to cross?
        self.interactables = pygame.sprite.Group()
        self.hazards = []  # similar to interactables but dangerous!
        self.enemies = pygame.sprite.Group()
        self.stepTile = 0
        self.direction = 0
        self.angle = 0
        self.last_hit = pygame.time.get_ticks()
        self.move_timer = pygame.time.get_ticks()
        self.moveSpeed = 150
        self.delta = 512
        self.screen = None
        self.sounds = Sound()
        self.walk_sound = pygame.mixer.Sound('../assets/player/walk.wav')
        self.walk_timer = pygame.time.get_ticks()
        self.room = None
        # Where the player is positioned
        self.x = x
        self.y = y
        self.camera = None

        self.items = None  # set up by in engine in game.py
        self.inventory = {0: "None"}
        self.active_item = 0

        self.sheet = Spritesheet_Ext(
            '../assets/map assets/sprite sheets/Horror City - Frankenstein MV/Characters/$Dr Frankenstien.png',
            32, 48, 3, 4, 4, [96, 188], .5)
        self.sprites = self.sheet.sprites
        self.image = self.sprites[self.stepTile].image

        # timers
        self.shoot_timer = 20
        self.shoot_counter = self.shoot_timer
        self.spotted_timer = 30
        self.spotted_counter = self.spotted_timer
        self.interaction_timer = 20
        self.interaction_counter = self.interaction_timer
        self.interaction_counter_prev = -1
        self.interaction_timeout = 10
        # raycast init
        self.raycast_increments = 15
        self.raycast_points = [
            0 for i in range(360 // self.raycast_increments)
        ]
        self.sight_coords = [(-1, -1), (-1, -1), (-1, -1), (-1, -1)]

        self.rect = self.image.get_rect(
            center=(self.x, self.y)
        )  # the players collision mask, this determines when the player collides with things
        self.rect.width = self.rect.width // 2
        self.rect.height = self.rect.height // 2

        # How big the world is, so we can check for boundries
        self.world_size = (Settings.width, Settings.height)

        # Which collision detection function?
        self.collide_function = pygame.sprite.collide_rect
        self.collisions = []
        # For collision detection, we need to compare our sprite
        # with collideable sprites.  However, we have to remap
        # the collideable sprites coordinates since they change.
        # For performance reasons I created this sprite so we
        # don't have to create more memory each iteration of
        # collision detection.
        self.collider = Drawable()
        self.collider.image = pygame.Surface(
            [Settings.tile_size, Settings.tile_size])
        self.collider.rect = pygame.Rect(0, 0, 16, 16)

        self.cpoint = Drawable()
        self.cpoint.image = pygame.Surface(
            [Settings.tile_size, Settings.tile_size])
        self.cpoint.rect = pygame.Rect(0, 0, 1, 1)

        # Overlay
        self.font = pygame.font.Font('freesansbold.ttf', 32)
        self.overlay = self.font.render(
            str(self.health) + "        4 lives", True, (0, 0, 0))
Ejemplo n.º 4
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 e32
from audio import Sound

SLEEP = 7

player = Sound()
player.open(u'c:\\Baby_One_More_Time.mid')
player.play()
e32.ao_sleep(SLEEP - 2)
player.stop()  #does not close the file

player.open(u'c:\\foobar.wav')
player.record()
e32.ao_sleep(SLEEP)
player.stop()
player.close()  #needed for sound flushing, otherwise not written