Beispiel #1
0
class Game(object):
    def __init__(self):
        #config
        self.fps_max = 100.0

        #initialization
        pygame.init()
        self.screen = pygame.display.set_mode((1280, 720))
        self.fpsclock = pygame.time.Clock()
        self.fps_delta = 0.0
        self.player = Rocket(self)

        while True:
            # take events
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    sys.exit(0)

            # ticking
            self.fps_delta += self.fpsclock.tick() / 1000.0
            while self.fps_delta > self.fps_max:
                self.tick()
                self.fps_delta -= self.fps_max
            #rendering
            self.screen.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def tick(self):
        self.player.tick()

    def draw(self):
        self.player.draw()
Beispiel #2
0
class Game(object):
    def __init__(self):
        # Config
        self.max_fps = 100.0
        self.resolution = [800, 600]

        #Init
        pygame.init()
        self.screen = pygame.display.set_mode(self.resolution)
        self.screen_size = self.screen.get_size()
        self.fps_clock = pygame.time.Clock()
        self.fps_delta = 0.0

        self.player = Rocket(self)
        self.bullet = Bullet(self)
        self.enemy = Enemy(self)
        self.enemy_bullet = Enemy_bullets(self)

        while True:
            # Events
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
                    self.bullet.bullets.append([
                        self.player.pos.x - (self.player.direction.y * 17),
                        self.player.pos.y + (self.player.direction.x * 17),
                        self.player.direction
                    ])
            # Set Max Fps
            self.fps_delta += self.fps_clock.tick() / 1000.0
            while self.fps_delta > 1 / self.max_fps:
                self.update()
                self.fps_delta -= 1 / self.max_fps

            # Rendering
            self.screen.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def update(self):
        self.player.update()
        self.bullet.update()
        self.enemy.update()
        self.enemy_bullet.tick()

    def draw(self):
        self.player.draw()
        self.bullet.draw()
        self.enemy.draw()
        self.enemy_bullet.draw()
Beispiel #3
0
class Game:
    def __init__(self, width=640, height=480):
        # config
        self.tps_max = 100.0
        self.width = width
        self.height = height

        # initialization
        pygame.init()
        self.screen = pygame.display.set_mode((self.width, self.height))
        self.tps_clock = pygame.time.Clock()
        self.tps_delta = 0.0

        self.player = Rocket(self.screen)

        breaky = False

        while True:
            # handle events
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type is pygame.KEYDOWN and event.key is pygame.K_ESCAPE:
                    breaky = True

            if breaky: break

            self.tps_delta += self.tps_clock.tick(50) / 1000.0
            while self.tps_delta > 1 / self.tps_max:
                self.tick()
                self.tps_delta -= 1 / self.tps_max

            # drawing
            self.screen.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def tick(self):
        # checking inputs
        self.player.tick()

    def draw(self):
        mp_x, mp_y = pygame.mouse.get_pos()

        # pygame.draw.rect(self.screen, (100, 0, 200), pygame.Rect(10, 10, 50, 50))
        pygame.draw.circle(self.screen, (110, 110, 110), (mp_x, mp_y), 20)

        self.player.draw()
Beispiel #4
0
class Game(object):
    def __init__(self):

        max_fps = 100
        screen_width = 1280
        screen_high = 720

        # INITIALIZATION

        pygame.init()
        self.screen = pygame.display.set_mode((screen_width, screen_high))
        self.fps_clock = pygame.time.Clock()
        self.fps_delta = 0.0
        self.player = Rocket(self)

        while True:

            # HANDLE EVENTS

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    sys.exit(0)

            # TICKING

            self.fps_delta += self.fps_clock.tick() / 1000.0
            while self.fps_delta > 1 / max_fps:
                self.tick()
                self.fps_delta -= 1 / max_fps

            # DRAWING
            self.screen.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def tick(self):

        # CHECKING INPUTS
        self.player.tick()
        keys = pygame.key.get_pressed()

    def draw(self):

        # DRAWING
        self.player.draw()
Beispiel #5
0
class Game(object):
    def __init__(self):
        # Config
        self.tps_max = 25.0

        #Initialization
        pygame.init()
        self.screen = pygame.display.set_mode((1280, 720))
        icon = pygame.image.load("rocket.png")
        pygame.display.set_caption("Space rocket")
        pygame.display.set_icon(icon)

        self.tps_clock = pygame.time.Clock()
        self.tps_delta = 0.0

        self.player = Rocket(self)

        while True:
            # Handle events
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    sys.exit(0)

            # Ticking
            self.tps_delta += self.tps_clock.tick(
            ) / 1000  # dt - to czas ms miedzy klatkami
            while self.tps_delta > 1 / self.tps_max:
                self.tick()
                self.tps_delta -= 1 / self.tps_max

            # Drawing
            self.screen.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def tick(self):
        self.player.tick()
        # Checking inputs
        keys = pygame.key.get_pressed()

    def draw(self):
        # Drawing
        self.player.draw()
Beispiel #6
0
class Game:

    box = pygame.Rect(10, 50, 50, 50)

    def __init__(self):
        # Config
        self.tps_max = 100.0

        # Initialisation
        pygame.init()
        self.resolution = (1024, 600)
        self.screen = pygame.display.set_mode(self.resolution)
        self.tps_clock = pygame.time.Clock()
        self.tps_delta = 0.0

        self.player = Rocket(self)
        self.circles = [Circle(self, self.player)]

        while True:
            # Handle events
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)

            # Ticking
            self.tps_delta += self.tps_clock.tick() / 1000.0
            while self.tps_delta > 1 / self.tps_max:
                self.tick()
                self.tps_delta -= 1 / self.tps_max
            # Drawing
            self.screen.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def tick(self):

        self.player.tick()
        for circle in self.circles:
            circle.tick()

    def draw(self):
        self.player.draw()
        for circle in self.circles:
            circle.draw()
Beispiel #7
0
class Game(object):
    def __init__(self):
        # config
        self.max_tps = 300.0
        self.tps_delta = 0.0
        self.width = 1280
        self.height = 720

        # initialization
        pygame.init()
        self.screen = pygame.display.set_mode((self.width, self.height))
        self.tps_clock = pygame.time.Clock()

        # player
        self.player = Rocket(self)

        while True:
            # handle events
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    sys.exit(0)
            # ticking
            self.tps_delta += self.tps_clock.tick() / 1000.0

            while self.tps_delta > 1 / self.max_tps:
                self.tick()  # run 300 ticks per second
                self.tps_delta -= 1 / self.max_tps
            # drawing

            self.screen.fill((0, 0, 0))  # clear the screen
            self.draw()
            pygame.display.flip()

    def tick(self):
        self.player.tick()

    def draw(self):
        self.player.draw()
class Game(object):

    def __init__(self):
        # konfiguracja
        self.tps_max = 120.0

        pygame.init()
        self.screen = pygame.display.set_mode((1280, 720))
        self.tps_clock = pygame.time.Clock()
        self.tps_delta = 0.0

        self.player = Rocket(self)

        while True:

            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    sys.exit(0)

            # ticking
            self.tps_delta += self.tps_clock.tick() / 1000.0
            while self.tps_delta > 1 / self.tps_max:
                self.tick()
                self.tps_delta -= 1 / self.tps_max

            # Drawing
            self.screen.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def tick(self):
        self.player.tick

    def draw(self):
        # drawing
        self.player.draw()
Beispiel #9
0
class Game(object):
    def __init__(self):
        #Config
        self.tps_max = 100

        #initialization
        pygame.init()  # Inicjalizuje wszystkie moduły.
        self.screen = pygame.display.set_mode((1280, 720))
        self.tps_clock = pygame.time.Clock()
        self.tps_delta = 0.0

        self.player = Rocket(self)
        while True:
            # Handle events
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    sys.exit(0)

        # Ticking
            self.tps_delta += self.tps_clock.tick() / 1000.0
            while self.tps_delta > 1 / self.tps_max:
                self.tick()
                self.tps_delta -= 1 / self.tps_max

        # Drawing
            self.screen.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def tick(self):
        self.player.tick()

    def draw(self):
        self.player.draw()
Beispiel #10
0
class Game(object):
    def __init__(self):
        pygame.init()

        self.tps_delta = 0.0
        self.tps_clock = pygame.time.Clock()

        self.player = Rocket()
        self.enemies = EnemyCollection(self.player.points)

        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                    sys.exit(0)
                elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
                    self.player.fire_bullet()

            self.tps_delta += self.tps_clock.tick() / 1000.0
            while self.tps_delta > 1 / Settings.MAX_TPS:
                self.tick()
                self.tps_delta -= 1 / Settings.MAX_TPS

            Settings.SCREEN.fill((0, 0, 0))
            self.draw()
            pygame.display.flip()

    def tick(self):
        self.player.tick()
        self.enemies.tick()
        Collision(self.player.bullets, self.enemies)

    def draw(self):
        self.player.draw()
        self.enemies.draw()
Beispiel #11
0
class Floor(BaseItem):
    lastHeight = 0

    def __init__(self,
                 windowX: int,
                 windowY: int,
                 width=120,
                 height=30,
                 isNew=False,
                 isMoving=False,
                 imagePath='images/floor.png'):
        super().__init__(imagePath, windowX, windowY, width, height)

        self.__isMoving = isMoving  # 地板是否左右移动

        currHeight = Floor.lastHeight + randint(70, 90)
        self._rect.x = randint(0, windowX - width)
        self._rect.y = 50 if isNew else windowY - currHeight
        Floor.lastHeight = currHeight

        # 板子上面的东西:火箭 弹簧 怪物 等...
        self.__itemOn = None
        if randint(0, 100) < 20:
            self.__itemOn = Spring(windowX, windowY)
            self.__itemOn.attachTo(self)
        if randint(0, 100) < 20:
            self.__itemOn = Rocket(windowX, windowY, self.getLeft(),
                                   self.getTop())
            self.__itemOn.attachTo(self)

    def draw(self, screen):
        screen.blit(self._image, self._rect)
        if self.__itemOn is not None:
            self.__itemOn.draw(screen)

    def getItemOn(self):
        return self.__itemOn

    def isDoodleLandOn(self, x: int, y: int, deltaY=0) -> bool:
        if x < self.getLeft() or x > self.getRight():
            return False
        if self.isDoodleLandOnItemOn(x, y):
            return True
        if deltaY < 0:
            return False
        if fabs(y - self.getCenterY()) < 3:
            return True
        if fabs(y + deltaY - self.getCenterY()) < 3:
            return True
        return False

    def isDoodleLandOnItemOn(self, x: int, y: int) -> bool:
        if self.__itemOn is not None:
            if self.__itemOn.getLeft() < x < self.__itemOn.getRight() \
                    and self.__itemOn.getBottom() < y < self.__itemOn.getTop():
                return True
        return False

    def getLandOnItemType(self) -> ItemType:  # 获取涂鸦跳到此地板上的东西
        if self.__itemOn is not None:
            return self.__itemOn.getType()
        return ItemType.FLOOR

    def getType(self) -> ItemType:
        return ItemType.FLOOR

    @staticmethod
    def setLastHeight(newLastHeight):
        Floor.lastHeight = newLastHeight
Beispiel #12
0
class Game(object):
    def __init__(self):
        # Configuracja
        self.max_tps = 100.0
        self.res = (1080, 720)
        # Inicjalizacja
        self.screen = pg.display.set_mode((0, 0), pg.FULLSCREEN)
        #self.screen = pg.display.set_mode((1000,750))

        pg.init()
        pg.display.set_caption("Game")
        self.tps_clock = pg.time.Clock()
        self.tps_delta = 0.0
        self.bulletsList = list()
        self.enemyList = list()
        img_dir = path.join(path.dirname(__file__), "img/")
        eeg_dir = path.join(path.dirname(__file__), "img/eeg/")
        sound_dir = path.join(path.dirname(__file__), "sound/")

        diff = open("diff.txt", "r")
        self.diff = diff.read()
        diff.close()

        self.tomekr = pg.image.load(eeg_dir + "TTr.png")
        self.tomekl = pg.image.load(eeg_dir + "TTl.png")
        self.eship = pg.image.load(img_dir + "eship.png")
        self.pship = pg.image.load(img_dir + "pship.png")
        self.bullimg = pg.image.load(img_dir + "bullet.png")
        self.background = pg.image.load(img_dir + "background2.jpg")
        self.jeden = pg.image.load(eeg_dir + "1ka.png")
        self.eeglist = [
            pg.image.load(eeg_dir + "en1.png"),
            pg.image.load(eeg_dir + "en2.png"),
            pg.image.load(eeg_dir + "en3.png"),
            pg.image.load(eeg_dir + "en4.png"),
            pg.image.load(eeg_dir + "en5.png"),
            pg.image.load(eeg_dir + "en6.png"),
            pg.image.load(eeg_dir + "en7.png"),
            pg.image.load(eeg_dir + "en8.png"),
            pg.image.load(eeg_dir + "en9.png"),
            pg.image.load(eeg_dir + "en10.png")
        ]

        self.explist = [
            pg.image.load(img_dir + "expl1.png"),
            pg.image.load(img_dir + "expl2.png"),
            pg.image.load(img_dir + "expl3.png"),
            pg.image.load(img_dir + "expl4.png"),
            pg.image.load(img_dir + "expl5.png"),
            pg.image.load(img_dir + "expl6.png"),
            pg.image.load(img_dir + "expl7.png"),
            pg.image.load(img_dir + "expl8.png")
        ]

        self.expsound = pg.mixer.Sound(sound_dir + "bum.wav")
        self.shootsound = pg.mixer.Sound(sound_dir + "shoot.wav")
        self.rocketexpsound = pg.mixer.Sound(sound_dir + "rocketbum.wav")
        self.lbsb = pg.mixer.Sound(eeg_dir + "lbsb.wav")
        pg.mixer.music.load(sound_dir + "soundtrack.mp3")
        pg.mixer.music.play(-1)

        self.green = (80, 180, 30)
        self.orange = (230, 70, 10)
        self.white = (255, 255, 255)
        self.tom = 0

        self.player = Rocket(self)
        self.bullet = Bullet(self, self.player)
        self.enemy = Enemy(self, self.player, self.bullet)
        self.collision = Collision(self, self.player, self.bullet, self.enemy)

        while True:
            # Obsluga zdarzen
            for event in pg.event.get():
                if event.type == pg.QUIT:
                    sys.exit(0)
                elif event.type == pg.KEYDOWN and event.key == pg.K_ESCAPE:
                    sys.exit(0)
                elif event.type == pg.KEYDOWN and event.key == pg.K_r:
                    system("Start.exe")
                    sys.exit(0)
                elif event.type == pg.KEYDOWN and event.key == pg.K_SPACE:
                    in_bullet = Bullet(self, self.player)
                    in_bullet.shoot()
                    self.bulletsList.append(in_bullet)
                elif event.type == pg.KEYDOWN and event.key == pg.K_q:
                    in_enemy = Enemy(self, self.player, self.bullet)
                    in_enemy.enemymake()
                    self.enemyList.append(in_enemy)

            if self.diff == "Easy":
                self.enemies = 5 + int(time.process_time() / 9)
            elif self.diff == "Medium":
                self.enemies = 7 + int(time.process_time() / 6.5)
            elif self.diff == "Hard":
                self.enemies = 9 + int(time.process_time() / 5)

            # Taktowanie
            self.tps_delta += self.tps_clock.tick() / 1000.0
            while self.tps_delta > 1 / self.max_tps:
                self.tick()
                self.tps_delta -= 1 / self.max_tps

            # Renderowanie
            if self.tom == 1:
                self.screen.fill((0, 0, 0))
            elif self.tom == 0:
                self.screen.fill((0, 0, 0))
                #self.screen.blit(self.background,(0,0))
            self.draw()
            pg.display.flip()

    def tick(self):
        for item in self.bulletsList:
            item.tick()

        self.player.tick()
        self.collision.tick()

        for item in self.enemyList:
            item.tick()

        if self.player.pressed[pg.K_t] and self.player.pressed[pg.K_y]:
            if self.tom == 0:
                self.lbsb.play()
            self.tom = 1

        if len(self.enemyList) < self.enemies:
            in_enemy = Enemy(self, self.player, self.bullet)
            in_enemy.enemymake()
            self.enemyList.append(in_enemy)

    def draw(self):
        for item in self.bulletsList:
            item.draw()
        for item in self.enemyList:
            item.draw()

        self.player.draw()
        self.collision.draw()
Beispiel #13
0
while 1337:
    for event in pygame.event.get():
        if event.type is pygame.QUIT:
            pygame.quit()
            sys.exit('1337')
        elif event.type is pygame.KEYDOWN and event.key is pygame.K_ESCAPE:
            breaky = True

    if breaky: break
    # ticking
    delta += clock.tick(MAX_FRAMES) / 1000

    mp_x, mp_y = pygame.mouse.get_pos()

    color_g = remap(mp_x, 0, width, 0, 255)
    color_b = remap(mp_y, 0, height, 0, 255)
    screen.fill((0, color_g, color_b))

    rocket.tick()
    rocket.draw()
    # pygame.draw.rect(screen, (100, 0, 200), box)
    pygame.draw.circle(screen, (110, 110, 110), (mp_x, mp_y), 20)
    pygame.display.update()

    frames += 1

print('Time: {:.4f} s'.format(delta))
print('Frames: {}'.format(frames))
print('AVG FPS: {:.2f} frames/s'.format(frames / delta))